【LangChain】如何本地部署基于chatGPT的实时文档和表格数据的助手,在自己的数据上构建chatGPT?

这篇具有很好参考价值的文章主要介绍了【LangChain】如何本地部署基于chatGPT的实时文档和表格数据的助手,在自己的数据上构建chatGPT?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【LangChain】如何本地部署基于chatGPT的实时文档和表格数据的助手,在自己的数据上构建chatGPT

1 相关技术

(1)LangChain 是一个用于自然语言处理的 Python 库,它的目标是尝试简化自然语言处理任务,提高处理效率和准确性。

该库提供了一组易于使用的函数和工具,可以帮助你实现各种自然语言处理任务,例如语句分割、分词、词性标注、命名实体识别、情感分析等。与其它自然语言处理库相比,LangChain 更注重处理速度和准确性,并且支持多种自然语言的处理(包括中文、英文、日文等)。

(2)FAISS 是LangChain工具箱中的一个用于高效相似度搜索的 Python 库,它基于压缩和向量量化的算法实现了非常快速的相似度搜索。它特别适用于处理高维向量集合,例如图像、音频和自然语言处理中的向量表示等。

2 项目原理

首先读取pdf或者csv文件,使用LangChain的方法嵌入和矢量存储起来,称为Vectorstore。当用户提问新问题时,将当前新问题和之前的对话内容(上下文内容)整合成一个新的问题(Stanalone Question),利用chatGPT中查找答案得到文本1,同时使用相似度匹配方法,从Vectorstore中获取相似的文本内容,得到文本2。最终是将文本1和文本2,再用chatGPT总结,得出最终的答案。

【LangChain】如何本地部署基于chatGPT的实时文档和表格数据的助手,在自己的数据上构建chatGPT?

3 项目搭建

(1)安装环境

conda create -n chat python=3.9

(2)安装包

pip install streamlit streamlit_chat langchain openai faiss-cpu tiktoken -i https://pypi.tuna.tsinghua.edu.cn/simple

(3)下载源码

git clone https://github.com/yvann-hub/Robby-chatbot.git

(4)安装依赖,如果报错,某个包有依赖问题,请先卸载这个包,重新安装一遍就可以。

cd Robby-chatbot

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

(5)配置OPENAI_API_KEY全局变量(非必要,可以在界面输入,配置后就不需要再界面输入)

Mac os或者LInux环境下,在~./bash_profile配置文件中配置

vim ~/.bash_profile

输入并保存退出,注意,“OPENAI_API_KEY=”中的 字母和等号之间是没有空格的。

export OPENAI_API_KEY= “你的key,从OenAI官网获取”

刷新配置生效

source ~./bash_profile

为了让以上变量永久生效,在~/.zshrc中配置以下内容

vim ~/.zshrc

在最后一行填入:source ~./bash_profile,再刷新文件

source ~/.zshrc

(6)修改源码中的部分代码

打开src/modules/utils.py中的

if os.path.exists(“.env”) and os.environ.get(“OPENAI_API_KEY”) is not None:

改为

if os.environ.get(“OPENAI_API_KEY”) is not None:

(6)运行项目

streamlit run src/robby_chatbot.py

【LangChain】如何本地部署基于chatGPT的实时文档和表格数据的助手,在自己的数据上构建chatGPT?

此时加载自己的数据文件,就可以实现对当前数据集的数据进行提问。

目前的体验,相似度算法、token限制等问题,相似度匹配返回的文本再丢给GPT时,这过程中,是一个传统的相似度匹配算法过程,能力有限,并不能有效的去替代真正的用数据训练过的GPT。当提出的问题,在向量库中没有找到相似的内容时,最终的答案是无(有就是有,没有就是没有),不会像原始GPT一样,无论如何都会给出一个答案(甚至编造)。文章来源地址https://www.toymoban.com/news/detail-474308.html

4 参考资料

  1. https://betterprogramming.pub/build-a-chatbot-on-your-csv-data-with-langchain-and-openai-ed121f85f0cd

到了这里,关于【LangChain】如何本地部署基于chatGPT的实时文档和表格数据的助手,在自己的数据上构建chatGPT?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LLMs之RAG:基于LangChain框架利用ChatGPT的API实现一个与在线网页交互的对话机器人—五大思路步骤—加载文档WebBaseLoader网址文件→文档分割(chunk_size=50

    LLMs之RAG:基于LangChain框架利用ChatGPT的API实现一个与在线网页交互的对话机器人—五大思路步骤—加载文档WebBaseLoader网址文件→文档分割(chunk_size=500)→文本嵌入化(OpenAIEmbeddings)并存储到向量库(Chroma)→构造Prompt(拉取一个对象并将其返回为 LangChain对象)→定义LLMs(ChatOpenAI)→输入

    2024年02月08日
    浏览(51)
  • 本地搭建【文档助手】大模型版(LangChain+llama+Streamlit)

    本文的文档助手就是:我们上传一个文档,然后在对话框中输入问题,大模型会把问题的答案返回。 先下载代码到本地 LangChain调用llama模型的示例代码:https://github.com/afaqueumer/DocQA(代码不是本人写的,尊重原创) 环境安装 如果没反应可能是缺少环境,打开控制台手动执行

    2024年02月04日
    浏览(47)
  • 本地部署 langchain-ChatGLM

    一种利用 ChatGLM-6B + langchain 实现的基于本地知识的 ChatGLM 应用。增加 clue-ai/ChatYuan 项目的模型 ClueAI/ChatYuan-large-v2 的支持。 本项目中 Embedding 默认选用的是 GanymedeNil/text2vec-large-chinese,LLM 默认选用的是 ChatGLM-6B。依托上述模型,本项目可实现全部使用开源模型离线私有部署。

    2024年02月06日
    浏览(44)
  • 本地推理,单机运行,MacM1芯片系统基于大语言模型C++版本LLaMA部署“本地版”的ChatGPT

    OpenAI公司基于GPT模型的ChatGPT风光无两,眼看它起朱楼,眼看它宴宾客,FaceBook终于坐不住了,发布了同样基于LLM的人工智能大语言模型LLaMA,号称包含70亿、130亿、330亿和650亿这4种参数规模的模型,参数是指神经网络中的权重和偏置等可调整的变量,用于训练和优化神经网络

    2024年01月22日
    浏览(41)
  • 本地部署开源大模型的完整教程:LangChain + Streamlit+ Llama

    在过去的几个月里,大型语言模型(llm)获得了极大的关注,这些模型创造了令人兴奋的前景,特别是对于从事聊天机器人、个人助理和内容创作的开发人员。 大型语言模型(llm)是指能够生成与人类语言非常相似的文本并以自然方式理解提示的机器学习模型。这些模型使用广泛

    2024年02月11日
    浏览(53)
  • windows环境下的langchain-ChatGLM的本地部署

    首先是项目开源地址 https://github.com/imClumsyPanda/langchain-ChatGLM 下载这个项目的源码非常简单,但运行起来十分麻烦,各种环境的搭配简直是折磨人,尤其是电脑上缺少各种安装环境的,我首先先列举几个,例如conda安装python的虚拟环境,用这个比较方便,还有Anoconda的安装,

    2024年02月13日
    浏览(46)
  • Langchain-Chatchat-Ubuntu服务器本地安装部署笔记

     Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM 等语言模型的本地知识库问答 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM) QA app with langchain。         开源网址:https://github.com/chatchat-space/Langchain-Chatchat ​        因为这是自己毕设项目所需

    2024年04月08日
    浏览(57)
  • TS版LangChain实战:基于文档的增强检索(RAG)

    LangChain是一个以 LLM (大语言模型)模型为核心的开发框架,LangChain的主要特性: 可以连接多种数据源,比如网页链接、本地PDF文件、向量数据库等 允许语言模型与其环境交互 封装了Model I/O(输入/输出)、Retrieval(检索器)、Memory(记忆)、Agents(决策和调度)等核心组件

    2024年02月05日
    浏览(57)
  • 【LangChain学习】基于PDF文档构建问答知识库(三)实战整合 LangChain、OpenAI、FAISS等

    接下来,我们开始在web框架上整合 LangChain、OpenAI、FAISS等。 因为项目是基于PDF文档的,所以需要一些操作PDF的库,我们这边使用的是PyPDF2 传入 pdf 文件路径,返回 pdf 文档的文本内容。 首先我们需要将第一步拿到的本文内容拆分,我们使用的是 RecursiveCharacterTextSplitter ,默认

    2024年02月13日
    浏览(73)
  • 【LangChain学习】基于PDF文档构建问答知识库(一)前期准备

    这系列主要介绍如何使用LangChain大模型,结合ChatGPT3.5,基于PDF文档构建专属的问答知识库。 LangChain 和 OpenAI 本身可支持 Nodejs 和 Python 两个版本,笔者后续的介绍主要用到Python版本,如果有需要Nodejs版本的同学,也可以给我留言,因为Nodejs版本我也实现了。 Python 版本为 ≥

    2024年02月13日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包