Skip to main content
大模型相比于传统的模型,拥有支持用户自定义 Prompt、用户可传入上下文等优势,从而轻松实现大模型的人设锚定、多轮对话等能力。 在实际使用时,阶跃星辰的 Chat Completion API 支持传入一个数组作为 Message List 。您只需要按照用户沟通的顺序,将用户信息和大模型返回的信息,构建成数组用于调用大模型,即可轻松实现基于大模型的多轮对话能力。

实现多轮对话

想要实现多轮对话,您需要在自己的业务系统中存储对话和对话内容,以便于形成对话记录。 因此,您需要在业务系统中建设 Chat 和 Message 对象,并在业务系统中存储 Chat 和 Messages。
  • 当用户开启对话时,则创建 Chat;
  • 当用户发送消息时,则创建 Message,并按照创建时间正序查询 Message,并构建对话记录作为参数传递给大模型用于结合上下文生成内容;
  • 当大模型返回信息时,同样创建 Message。

代码示例

管理对话上下文

step-5-preview 支持 1M tokens 上下文;step-3.7-flash 和 Step 3.5 Flash 系列支持 256K。请按实际使用模型的上下文窗口管理历史记录,并为输出预留空间。对话历史也会计入输入 Token 和费用,因此应根据业务需要选择历史长度,而不是无条件传入全部记录。
  • 一般日常的对话可以保留 10 轮对话记录;
  • 对于某些需要深度沟通、对话的场景,则可以选择将完整对话记录交给大模型进行补全。

引入 Prompt 缓存降低费用,提升推理速度

常见问题

  • 如果要实现多轮对话的效果,需要在存储对话记录时,按时间记录,并在重新取出给大模型时,按照时间正序给出答案,以便于大模型正确的理解上下文。