2024SDU项目实训周报-知识库和联网问答功能内方法封装(补)

此处进行封装方便后端方法调用

Chat_QA_chain_self

带历史记录的问答链类 Chat_QA_chain_self,用于在对话中进行问答。类中的各个方法和属性支持模型调用、检索相似文档、保存对话历史、清除历史记录等功能

类的初始化方法

  • 参数:
    • model: 调用的模型名称。
    • temperature: 温度系数,控制生成的随机性,默认值为0.0。
    • top_k: 返回检索的前 k 个相似文档,默认值为4。
    • chat_history: 历史记录,输入一个列表,默认是一个空列表。
    • file_path: 建库文件所在路径。
    • persist_path: 向量数据库持久化路径。
    • api_key: 使用 API 时需要传递的参数。
    • embedding: 使用的 embedding 模型,默认值为“zhipuai”。
    • embedding_key: 使用的 embedding 模型的秘钥。
  • 属性:
    • 初始化各个参数并创建一个向量数据库 (self.vectordb) 用于文档检索。

清空历史记录

保存指定长度的历史纪录

核心方法,调用问答链

  • 参数:
    • question: 用户提问。
    • temperature: 控制生成的随机性,如果不传入则使用默认温度。
    • top_k: 返回检索的前 k 个相似文档,默认值为4。
  • 处理逻辑:
    • 如果问题为空,返回空字符串和当前历史记录。
    • 创建语言模型 (llm)。
    • 使用向量数据库 (vectordb) 创建检索器 (retriever)。
    • 创建问答链 (ConversationalRetrievalChain)。
    • 调用问答链获取答案并更新历史记录。
    • 返回更新后的历史记录。


                
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值