昇腾社区首页
中文
注册
开发者
下载

类功能

功能描述

单轮对话Chain,实现基本的问答对话功能,继承Chain,参考基本对话功能也可实现图文并茂对话功能,参考图文并茂对话功能

函数原型

from mx_rag.chain import SingleText2TextChain
SingleText2TextChain(llm, retriever, reranker, prompt, sys_messages, source, user_content_builder)

参数说明

参数名

数据类型

可选/必选

说明

llm

Text2TextLLM

必选

大模型对象,具体可参见Text2TextLLM类

retriever

Retriever

必选

Retriever对象,具体可参见Retriever类

reranker

Reranker

可选

Reranker对象,实现对检索的文档进行精排,默认为“None”,具体可参见Reranker

prompt

str

可选

添加知识检索内容同时可以添加系统prompt,对大模型进行更精确的控制,默认值是:"根据上述已知信息,简洁和专业地回答用户的问题。如果无法从已知信息中得到答案,请根据自身经验做出回答"。如果用户需要自定义prompt,请参考大模型的提示词工程增加。

长度取值范围:[1, 1024*1024]

sys_messages

List[dict]

可选

系统消息,默认值为“None”,列表最大长度为16,列表每个字典长度最大为16,字典key字符串长度最大为“16”,value字符串最大长度为4 * 1024* 1024,参考格式:[{"role": "system", "content": "你是一个友好助手" }]

source

bool

可选

在对话过程中,是否返回检索到的相关文档,Chain返回字典中key值为source_documents,默认为“True”

user_content_builder

Callable[[str, List[Document], str], str]

可选

回调函数,功能是整合「原始问题、检索到的文档列表、用户提示词」这三类信息,生成可直接作为大模型对话中 user 角色消息 content 字段的文本(即 {"role": "user", "content": 生成结果})