当前位置:   article > 正文

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/287319
推荐阅读
相关标签
  

闽ICP备14008679号