基于LangChain+ChatGPT的本地知识库问答工程实践

背景

  • 网上看到本地知识库问答机器人的demo(https://blog.csdn.net/weixin_42608414/article/details/129493302),希望自己部署实践一下

  • 实践过程中遇到了很多的工程问题,代码运行过程中出现各种报错,解决问题过程发现网上都能找到解决方案,抱着回馈的心态,同时为了方便后期回溯,在此做一个记录,也为遇到相同问题的小伙伴提供一些参考

  • 本人是移动客户端开发背景,python方面纯属小白,所以很多问题描述可能不是很专业,解决的效率比较低,大家谨慎参考

  • 运行效果:

问题:科学上网

由于本人购买的是腾讯云轻量应用服务器,地域和可用区是上海,所以如果想要调用openai的api接口,就必须先解决科学上网的问题,这里使用的方案是在CentOS中安装clash客户端,版本是clash-linux-amd64-v1.16.0,下载地址:https://github.com/Dreamacro/clash/releases,下载后完成解压,需要先配置代理
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
然后为clash添加配置:
wget -O /opt/clash/config.yaml “clash的订阅链接” --no-check-certificate
上面这行命令中的“clash的订阅链接”需要找你对应的运营商提供,手机端安装clash app也是使用这个订阅链接进行配置,然后进入到解压后的clash目录执行
./clash-linux-amd64-v1.16.0 -d . (末尾的点号需保留)
想要在后台运行的话可以执行这行命令
nohup ./clash-linux-amd64-v1.16.0 -d . > /dev/null 2>&1 &
如果运行正常的话日志大概会是下面这样:
INFO[0000] Start initial compatible provider 🚀直接连接
INFO[0000] Start initial compatible provider 🔰国外流量
INFO[0000] HTTP proxy listening at: [::]:7890
INFO[0000] RESTful API listening at: [::]:9090
INFO[0000] SOCKS proxy listening at: [::]:7891
INFO[0000] Redirect proxy listening at: [::]:7892

这时可以通过curl来检测本机能否访问openai的接口,通过执行
curl https://api.openai.com/v1/models -H “Authorization: Bearer sk-xxx”(sk-xxx指代你的api_key)
查看返回接口,如果正常返回了模型列表(参考:https://platform.openai.com/docs/api-reference/authentication),则说明链路没有问题

问题:OpenAI账号

本人使用苹果账号登录,然后在接码平台sms-activate购买了一个美国的物理手机号(虚拟号无法通过认证),最终完成注册,这个网上教程比较多。

问题:Python环境

最早安装的anaconda版本比较低,对应的python是3.7的版本,直接结果下载的langchain版本很低,Chromadb都还没有支持,于是尝试通过conda更新python版本,执行conda install python==3.10一直提示Solving environment: / 已杀死 ,着实无解,最终索性把anaconda卸载,重装较高的版本:Anaconda3-2023.03-0-Linux-x86_64.sh,下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/,即可将Python版本更新至3.10.9

问题:Chromadb安装报错

安装Chromadb时先是出现MemoryError,通过指令中添加–no-cache-dir解决,完整指令:
pip install --no-cache-dir chromadb -i https://pypi.doubanio.com/simple
重新执行后安装过程中出现报错:g++: 错误:unrecognized command line option ‘-std=c++14’,参考这篇文章:https://blog.csdn.net/qq_42189083/article/details/109612289中的原因分析部分,需要升级g++版本,最初参考这篇文章尝试了下载源码编译安装的方案,尝试后发现g++编译过程中很容易出现各种报错,无意中发现另外一种解决方案,参考文章:https://blog.csdn.net/hnpylt/article/details/120993703,按照文章中执行
yum install centos-release-scl
后出现报错,无法进行网络连接,参考网上方案为yum设置阿里云镜像源,发现仍然无法连接,找了很久才发现问题,解决方案参考:https://blog.csdn.net/Entity_G/article/details/124734112 ,虽然我遇到的问题现象和文章中不是完全一致,但是最终解决方案都是执行
export http_proxy=’ ’
export https_proxy=’ ’
取消代理配置,然后执行yum install centos-release-scl,一切正常了,通过这个方案顺利完成gcc版本升级,源码编译的方案浪费了很长的时间,这个方案虽然也遇到阻塞,但是阻塞点比较少,升级成功后执行chromadb安装指令,顺利完成安装。

问题:ModuleNotFoundError: No module named ‘unstructured’

Demo代码调试过程中出现了报错:ModuleNotFoundError: No module named ‘unstructured’,本来ModuleNotFoundError是比较常见的报错,直接安装对应的依赖即可解决,但是鬼使神差拿这段内容在搜索引擎中没有搜出有效的结果,再加上感觉“unstructured”不大像是python模块的名字,所以天真的以为是报错不准确,就往其他方向排查问题了,结果在langchain的官方文档中看到这个:https://js.langchain.com/docs/modules/indexes/document_loaders/examples/file_loaders/unstructured
之后瞬间醒悟,才想起通过pip install unstructured解决报错。

问题:nltk数据缺失

Demo代码调试过程中遇到punkt数据缺失的报错,提示需要在python的环境中执行以下代码

>>> import nltk
>>> nltk.download()

进入python运行代码之后发现一直停留在:[nltk_data] Downloading package punkt to /root/nltk_data…,怀疑是下载速度过慢,参考这篇文章:https://blog.csdn.net/ybdesire/article/details/115742608发现了手动下载数据的方案,为了达到更快的下载速度,nltk_data-gh-pages.zip包的下载链接替换成了码云平台的链接:https://gitee.com/qwererer2/nltk_data/repository/archive/gh-pages.zip,有个注意事项是下载完成之后一定要到tokenizers目录下把punkt.zip文件解压,不然运行还是会报错。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/8771.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python实现SMS-Activate接口调用,获取手机号和验证码

前言 本文是该专栏的第27篇,后面会持续分享python的各种干货知识,值得关注。 对于SMS-Activate平台及其注册操作方法,这里就不过多详述了。尤其随着chatgpt的火爆,让sms-activate的热度也随之上涨。可能多数同学,是通过网页操作来获取手机号。而本文主要来介绍使用python…

人工智能会影响测试工程师吗

并不是危言耸听 当下最火的是什么,那非ChatGPT莫属了,以ChatGPT为代表的各类AIGC工具,在不断颠覆我们的认知,不仅能完成律师,医学考试;还能画出一张精美的设计图,拿下艺术大赛一等奖。 以之对…

入侵艺术界的AI主语,讲述一段创意的变革

第一批会员券(/≧▽≦)/ 01入侵艺术界的AI主语一开始,人们不过觉得这只是一个新奇的玩具,一些科技爱好者无聊的把戏,一个哗众取宠的获奖,一些艺术家过激的抵制反应。直到现在,AIGC开始跟我们每个人息息相关。 早在2017…

一周 AIGC 丨北上深蓉出台 AI 政策,百度斥资 10 亿设立人工智能大模型基金

接连 3 天,北京、上海、深圳、成都先后出台政策,支持人工智能产业发展。AI 公司迎来融资潮,一周内有超过 10 家公司披露融资进展。刘慈欣自曝用 ChatGPT 写发言稿,詹姆斯・卡梅隆用 ChatGPT 写电影剧本。百度成立人工智能大模型基…

3 亿岗位将被 AI 取代?巴比特深度采访业界后,“失业潮”真相有些出人意料……...

图片来源:由无界 AI工具生成 人工智能技术的发展正迎来奇点,尤其是今年以来 ChatGPT 和 AIGC 的迅猛势头让无数人猝不及防,真真切切地对各行各业现有的工作岗位产生冲击。近日,蓝色光标全面停止创意设计、方案撰写、文案撰写、短期…

有奖征文丨Cocos 第 6 期社区征稿正式开启,AIGC + Cocos 能碰撞出哪些火花?

ChatGPT 引发了新一波 AI 革命的讨论,人工智能似乎突然变得无所不能,能绘画、能写文章、会做PPT、会写代码,还有什么是人工智能不能做的? 据说时髦的年轻人已经开始用 AI 吊打同龄人了,如何利用 AI 技术的能力&#xf…

【AI绘图 丨 Midjourney 系列教程二】— 初识超火的AI绘画神器Midjourney

今天起,由 Midjourney 打头阵,让我们开始共同探索一系列的 AI 领域革命性作品,包括 Midjourney、Stable Diffusion、ChatGPT 等等,学习这些新时代的魔法和它的咒语。 写在前面 官方文档是最好的入门课程。相较于市面上琳琅满目的…

AIGC大爆炸背后,藏着人工智能的星辰大海

“未来像盛夏的大雨,在我们还来不及撑开伞时就扑面而来。” 刘慈欣在《三体》获奖感言中的这句话,用来形容当下的AI技术大爆发再合适不过。正所谓科技大爆炸来时常常是“一句招呼都不打”。过去一个月内,人工智能领域的新突破就像密集的雨点&…

什么是AIGC?

目录 前言一、什么是AIGC?1、什么是PGC?2、什么是UGC?3、什么是PUCG?4、什么是AIGC? 二、总结 前言 很明显,ChatGPT的爆火,带动了AIGC(AI-Generated Content)概念的火热…

「以代码作画」从数据角度剖析Art Blocks生成艺术

作者:Mia Bao, co-founder of thepass.to, chief partner of WHALE members 数据:Jin, data analyst of thepass.to 出品:ThePASS & BeepCrypto 文章数据:https://docs.google.com/spreadsheets/d/1zDun4eUTwA-BMU5Hl2c5EC…

步入AIGC时代,展望人工智能发展

步入AIGC时代,展望人工智能发展 0. 前言1. 步入 AIGC 时代1.1 人工智能简介1.2 AIGC 简介1.3 AIGC 发展与应用 2. CSIG 企业行——走进合合信息2.1 活动介绍2.2 走进合合信息 3. 文档图像处理中的底层视觉技术3.1 什么是底层视觉3.2 智能图像处理技术3.3 智能图像处…

文心一言云服务即将上线;紫光原董事长赵伟国被审查;任正非:未来AI大模型赛道不只是微软一家;李开复筹办新AI公司丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 紫光集团有限公司原董事长赵伟国涉嫌职务犯罪被移送检察机关审查起诉 近日,中央纪委国家监委网站消息,国家监委对紫光集团有限公司原董事长赵伟国涉嫌职务犯罪问题进行了立案调查。 经查…

ChatGPT核心研发者的跨界思维: 怎样打破禁锢教育和创新的枷锁丨展卷

来源:返朴 撰文:肯尼斯斯坦利(Kenneth Stanley)、乔尔雷曼(Joel Lehman) 翻译:彭相珍 当梦想家都对陈旧的愿景感到厌倦时,当不求回报的期望的灰烬沉淀在不可逾越的未来之上时&#x…

诚邀您体验人工智能AI

近期,人工智能(AI)领域动作频频,OPENAI公司Chat GPT的出现,标志着人工智能的研究与应用已经进入了一个崭新的发展阶段,国内腾讯、阿里巴巴、百度、易网、国外微软、谷歌、苹果、IBM、Amazon,等互…

BFT最前线|首批由AI引发失业潮;ChatGPT 暂时关闭 Plus 付费;谷歌公布新一代 AI 超算及定制芯片第四代

BFT机器人 01 首批AI引发失业潮于游戏行业来袭 据消息,已经有一众游戏公司将AI绘画引进工作流程,用以摆脱游戏行业巨大的人才压力和资金焦虑,早前,心动网络创始人黄一孟透露,已有游戏团队把原画外包团队给砍了。另有某…

【AI绘画】我以Midjourney为主学习AI绘画效果咋样?

上一篇博客链接:【ChatGPT】ChatGPT掀起AIGC与AI浪潮_山楂山楂丸的博客-CSDN博客 这周,我加入了新星计划, 涉及的领域是我感兴趣以及对未来规划有帮助的——AI绘画!​​​​​​​ 文章目录 前言 一、AI绘画是什么 二、AI绘画进…

独家专访|图灵奖获得者杰克·唐加拉:ChatGPT并非“超算大脑”

❑ 导 读 与任何新兴技术一样,ChatGPT会给就业市场带来赢家和输家。 全文共计3698字,预计阅读时间8分钟 来源 | 数据观(转载请注明来源) 撰稿 | 数乾坤 编辑 | 蒲蒲 现任美国田纳西大学电气工程和计算机科学系教授的杰克唐加拉&am…

用Tushare下载A股所有股票数据

首先载入必要的包 import tushare as ts import pandas as pd 接着用自己的接口码,使程序与tushare进行连接 token ********************************************** pro ts.pro_api()星号部分用自己的接口码替换,如何获取接口码呢? 进官网…

聊聊买卖股票的最佳时机

前言 大家好,我是大赛哥,好久不见,天天想念! 最近梳理高频动态规划问题,股票问题当然是非常经典的动态规划问题,并且整个系列有好几道题,这里我整理了6道股票系列的经典问题分享给大家&#xff…

蹭下ChatGPT的热度哈哈

今天注册了个ChatGPT,感觉用处超级大,能写sci论文的那种大哈哈。当然,使用chatGPT写论文百分之九十会被查出来。但是我们可以用它来辅助写文章呀,翻译些句子呀,读不懂别人写的某句话可以让它转述一下呀。哈哈偷偷告诉你&#xff0…