类功能
函数原型
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": 生成结果})。 |