ModelScope中,histroy是服务端自己存起来还是web传过来的呢?
在ModelScope中,history
是由 客户端(Web端)传入 的,而不是服务端自行存储的。具体来说,history
是一个二维列表,用于记录对话历史,其中每个元素是一个长度为2的列表,表示每一轮对话的问题和回答。
history
的作用
history
字段的主要功能是支持连续对话。通过将之前的对话历史传递给模型,模型可以根据上下文生成更连贯的回答。例如:
{
"prompt": "江苏呢?",
"history": [["浙江的省会是哪里?", "杭州"]]
}
在这个例子中,history
包含了之前的一轮对话(问题:“浙江的省会是哪里?”;回答:“杭州”),从而帮助模型理解当前问题“江苏呢?”的上下文。
客户端构造 history
客户端需要根据用户的交互动态维护 history
列表,并在每次调用 API 时将其作为请求的一部分发送给服务端。服务端不会自动存储或管理 history
,而是完全依赖客户端传递的历史数据来生成响应。
服务端的行为
服务端接收到包含 history
的请求后,会基于 history
和当前的 prompt
生成新的回答,并返回更新后的 history
。例如:
{
"response": "南京",
"history": [["浙江的省会是哪里?", "杭州"], ["江苏呢?", "南京"]]
}
客户端可以使用返回的 history
更新本地记录,以便在下一轮对话中继续传递。
重要提醒
history
,客户端需要确保正确维护和传递对话历史,否则可能导致上下文丢失。history
的长度来限制上下文轮数,从而优化性能。综上所述,history
是由客户端构造并传递给服务端的,服务端仅基于传入的 history
生成响应并返回更新后的对话历史。
ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!欢迎加入技术交流群:微信公众号:魔搭ModelScope社区,钉钉群号:44837352