2024SDU项目实训周报-03

本周在了解项目的基础上对前端进行规划

项目逻辑

1. 用户:可以通过 run_gradio 启动整个服务;

2. 服务层调用 qa_chain.py 或 chat_qa_chain 实例化对话检索链对象,实现全部核心功能;

3. 服务层和应用层都可以调用、切换 prompt_template.py 中的 prompt 模板来实现 prompt 的迭代;(没做该功能)

4. 也可以直接调用 call_llm 中的 get_completion 函数来实现不使用数据库的 LLM;

5. 应用层调用已存在的数据库和 llm 中的自定义 LLM 来构建检索链;

6. 如果数据库不存在,应用层调用 create_db.py 创建数据库,该脚本可以使用 zhipuai embedding

 各层简析

 1. LLM 层

LLM 层主要功能为将 zhipuai API 进行封装

想要学习其他 LLM 的调用方式、封装方式,请阅读教程第二章《调用大模型 API》。

2 .数据层

数据层主要包括个人知识库的源数据(包括 pdf、txt、md 等)和 Embedding 对象。源数据需要经过 Embedding 处理才能进入向量数据库,我们在数据层自定义了智谱提供的 Embedding API 的封装,支持上层以统一方式调用智谱 Embedding。

3 .数据库层

数据库层主要存放了向量数据库文件。同时,我们在该层实现了源数据处理、创建向量数据库的方法。

4 .应用层

应用层封装了整个项目的全部核心功能。我们基于 LangChain 提供的检索问答链,在 LLM 层、数据库层的基础上,实现了本项目检索问答链的封装。自定义的检索问答链除具备基本的检索问答功能外,也支持通过 model 参数来灵活切换使用的 LLM。实现两个检索问答链,分别是有历史记录的 Chat_QA_Chain 和没有历史记录的 QA_Chain。

5 .服务层

服务层主要是基于应用层的核心功能封装,实现了 Demo 的搭建。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值