使用LangChain和Pinecone构建多用户聊天机器人

Building a Multi-User Chatbot with Langchain and Pinecone in Next.JS

文章来源:Building a Multi-User Chatbot with Langchain and Pinecone in Next.JS | Pinecone

可能遇到的问题:

  • LLM对于不熟悉的知识会胡编乱造
  • 使用过程中可能会遇到LLM的token限制
  • LLM本身不会记忆对话历史内容的,这需要我们去维护对话历史记录
  • 多用户实时交互,这需要我们对每个对话都维护一个单独的对话历史
项目所依赖的服务
  • Pinecone:云向量数据库
  • OpenAI
  • Ably
  • CockroachDB
  • Finegerprint Pro
项目结构

img

Indexer抓取事实数据放到Pinecone知识库中,来让用户进行查询

Indexer的工作步骤
  • 爬虫或人工抓取事实数据
  • 将数据转换成Documents类型
  • 将Documents数据使用LLM进行embedding
  • 放到Pinecone中以供程序进行查询

img

整个对话机器人的工作流程

img

  1. 首先用户将query传递给Inquiry buider chain,它会帮助生成带有对话历史记录的query
  2. 将query embedding,然后在pinecone中查询documents
  3. 由于查询到的文档可能很长,所以通过Summarizer Chain进行总结
  4. 最后,QnA Chain会结合Summary documents、query、history来生成最后的结果
多用户对话隔离

对于多用户对话隔离的方案:

  • 可以做一个用户登录系统
  • 也可以使用唯一的ID来根据浏览器来区别用户,聊天机器人就会根据这个唯一的ID来保存用户的对话历史记录

这里为了简单,使用第二种方案

代码

由于文章的示例代码为js,有需要可以参考:
GitHub - pinecone-io/chatbot-demo

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值