分享好友 最新动态首页 最新动态分类 切换频道
LangChain+ChatGPT三分钟实现基于pdf等文档问答应用
2024-12-26 11:43

LangChain是一个用于开发由语言模型驱动的应用程序的框架。它不仅可以通过API调用语言模型,还可以连接语言模型到其他数据源(数据感知),并允许语言模型与其环境进行交互(具有代理性)。LangChain提供了模块化的抽象组件,用于与语言模型一起工作,并为所有这些抽象提供了实现集合。此外,LangChain还提供了特定用例的链(Chains),可以将这些组件以特定方式组装在一起,以最好地完成特定用例。

也许这么讲,你可能一脸懵逼,这到底是个啥玩意,不急,下面就代理领略一下LangChain的风采。

要安装LangChain,您可以使用以下命令:

或者

安装完成后,您可能需要集成一个或多个模型提供商、数据存储、API等。例如,如果您要使用OpenAI的API,您需要先安装它们的SDK:

然后,您需要在终端中设置环境变量:

或者,您可以在Jupyter笔记本(或Python脚本)中执行此操作:

但是,我更加建议你下载这个仓库:

玩了之后,你可以在这个仓库中找到 .env文件,然后再里面配置你的OPENAI_API_KEY,是一样的道理。

在vscode上可以使用交互式的方式来一行一行的执行Python代码,快捷键shift+enter ,非常方便,当执行

就代表环境变量已经加载好了。

写一首诗试试,看起来很轻松,和调用openAI的api没啥区别呀,没看到神奇的地方啊,别着急,继续往下看。

我们可以使用Prompt Templates来管理LLM的提示。例如,您可以定义一个prompt模板,然后使用.format方法对其进行格式化:

此外,我们还可以使用链(Chains)将多个组件组合在一起,创建一个单一或者连贯的应用程序。例如,创建一个简单的链,它将用户输入格式化为prompt,然后将其发送到LLM:

早学早致富,LangChain是几分钟搭建一个基

这样,一个取名器就完成了,这就是一个小应用,你可以把他封装为一个微服务,提供给其他模块调用。

在LangChain中,我们可以创建一个链,它接受用户输入,使用它格式化提示,然后将其发送到LLM。例如,可以使用LLMChain,它结合了PromptTemplate和LLM。PromptTemplate可用于通过获取用户输入并构造提示来管理LLM的提示。

找到感觉了吗,是不是有点AgentGpt的味道了,LangChain提供额很多tools,不仅仅可以从维基百科查找,还可以通过google搜索,必应,都可以,这意味着,ChatGPT不限于他训练的知识,你可能很好奇,这个是如何实现的,其是实现原理也很简单。

1、通过你的prompt来调用openAI,分解出执行你这个目标所需要的步骤。

2、openAI推理出那些目标需要调用哪个tool,例如,我们demo中的“中国有多少所大学”这个需要分配到维基百科这个tool,而拿到的数据进行计算就交给llm-math这个tool。

3、链式执行的结果输出。

如果你理解了这个例子,下面基于文档,视频的内容问答,基本上也是这个原理,注意看:

这里只给出一个基于YouTube视频的问答的demo,实际上基于文档的问答 原理类似:

1、YouTube流里面解析出文本字幕,内容,保存为doc

2、使用text_splitter进行分割,因为openAI模型有token数限制,所以要分割

3、使用OpenAIEmbeddings进行embeddings操作。

4、基于用户的输入进行一个db.similarity_search,找到最接近的4个小docs,应该在token范围内(3.5是4096)。

5、然后通过chain = LLMChain(llm=llm, prompt=prompt) 这个chain来调用,chain.run(question=query, docs=docs_page_content),这里PromptTemplate威力体现出来了,这样,我们就可以基于每个query调出最相似的内容,然后在一起交给openAI提问了。

这个可以说是前端开发的福音,但是有能力,建议还是Python版本的,工具链会齐全不少。

最新文章
管家婆2024精准资料大全|讲解词语解释释义
管家婆2024精准资料大全——词语解释释义详解本文将详细介绍管家婆2024精准资料大全中的相关词语,并对其中的关键词进行解释和释义,通过本文,读者可以了解管家婆资料的准确性和可靠性,掌握相关术语的含义,从而更好地利用这些资料。管家
站酷网站建设,打造创意生态新标杆,引领数字未来之光
本文目录导读:智能创作助手,灵感一触即发云端协作,打破地域限制AI绘画,让创意更上一层楼虚拟现实,沉浸式体验站酷社区,创意无限可能在这个信息爆炸的时代,创意的火花需要更为广阔的舞台,站酷网站建设,一款融合前沿科技与极致用户体
节日晚会快闪2
2019年度盛会年度盛会年度盛会3212019准备好了没准备好了没准备好了没准备好了没接下来开始接下来开始你的表演年会正式开始领导致词领导致词今晚我们在这里欢聚一堂,在这辞旧迎新之际我首先祝大家新年快乐。在过去的一年里,我们职工团结
谷歌SEO主页怎么优化,才能提升排名?
在竞争激烈的互联网世界中,谷歌搜索引擎优化(SEO)已经成为网站获取流量、提升品牌知名度的关键。作为一名在SEO领域摸爬滚打多年的从业者,我深知优化谷歌主页排名的重要性。无论是小型企业还是大型品牌,都渴望在谷歌搜索结果中获得更高
跨平台数据整合和数字算力矩阵!
跨平台数据整合和数字算力矩阵!前文引言:微三云发布了新一代云平台 OS 数字化操作系统。该系统拥有灵活而强大的零售 PaaS 平台,能够助力企业实现业务zhongtai、业务应用、业务前端等功能的模块化组建,实时的前后 端协同;并基于统一的
高效关键词推广优化软件大揭秘,开启企业互联网营销新时代
高效关键词推广优化软件揭秘,助力企业互联网营销新篇章。该软件通过智能分析,精准定位关键词,优化推广策略,提升企业在线曝光度和率,为企业带来更广阔的市场机遇和营销效益。随着互联网的飞速发展,已成为企业推广产品和服务的重要手段
绍兴市特种设备检测院
绍兴市特种设备检测院,是从事全市辖区内锅炉、压力容器、压力管道、电梯、起重机械、场(厂)内机动车辆等特种设备安全性能监督检验检测及特种设备作业人员考试工作的公益二类事业单位。全院现有干部职工共172人,其中博士研究生学历3人,
谷歌play服务框架最新版2025下载
Google Play services App,中文名谷歌服务框架App,是安装谷歌市场、谷歌邮件等谷歌系应用的先决条件,安装了谷歌服务框架您才能享受谷歌全家桶以及它带给您的服务。有需要的朋友不妨下载体验吧!1.点击app进入,无需注册直接使用。2.点击
"瞬映:一站式AI数字人视频创作平台" – 技术分享
网址:https://vtuber.aicubes.cn/home/index/随着数字时代的到来,视频内容已经成为传递信息、教育、娱乐和营销的重要手段。然而,制作高质量视频往往需要专业的技能、昂贵的设备和大量的时间。瞬映AI数字人制作平台的出现,为视频创作领
相关文章
推荐文章
发表评论
0评