www.teandq.com
晓安科普

Langchain构建知识库的原理(langchain 本地知识库)越早知道越好

2023-11-16Aix XinLe

最近,LangChain项目备受关注,成为一个极其热门的开源代码库,并且正在迅速发展中!现在我们可以利用本地知识文档作为提示,使用ChatGPT来根据这些资料回答问题!!!

Langchain构建知识库的原理(langchain 本地知识库)越早知道越好

 

引言:最近,LangChain项目备受关注,成为一个极其热门的开源代码库,并且正在迅速发展中!ChatGPT的训练数据集已经过时且无法联网,因此其提供的答案或数据常常不准确但现在,我们可以想象一下,利用本地知识文档作为提示,使用ChatGPT来根据这些资料回答问题。

LangChain的出现正是为了满足这一需求,这真是太棒了!LangChainLangChain是一个强大的程序开发框架,专注于协助开发人员构建端到端的应用该框架提供了一系列工具、组件和接口,方便开发人员快速构建依赖于大型语言模型(LLM)和聊天模型的应用程序。

通过LangChain,开发人员可轻松管理语言模型的交互,实现多个组件的无缝链接,还能整合额外的资源(如API和数据库)来优化开发流程接下来,我们使用一个简单的DEMO来实现如何使用LangChain结合ChatGPT的能力,打造一个私有的AI知识库。

一、准备工作获取github上开源代码git clone https://github.com/christhai/langchain-chatbot.git2.安装Python相关库直接依次执行以下命令

python3-mvenv.venvsource.venv/bin/activatepipinstall-rrequirements.txtpipinstallpypdf2二、代码参数配置其中,app.py

完整代码如下:from llama_index import SimpleDirectoryReader, LangchainEmbedding, GPTListIndex,GPTSimpleVectorIndex, PromptHelper, LLMPredictor, ServiceContext

from langchain import OpenAIimport gradio as grimport sysimport osos.chdir(r/app) # 文件路径# os.environ["OPENAI_API_KEY"] = sk-xxxxxxxxxxxxxxx

defconstruct_index(directory_path): max_input_size = 4096 num_outputs = 2000 max_chunk_overlap =

20 chunk_size_limit = 600 prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)

llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.7, model_name="gpt-3.5-turbo", max_tokens=num_outputs))

documents = SimpleDirectoryReader(directory_path).load_data() service_context = ServiceContext.from_defaults(llm_predictor=llm_predictor)

index = GPTSimpleVectorIndex.from_documents(documents,service_context=service_context) index.save_to_disk(

index.json)return indexdefchatbot(input_text): index = GPTSimpleVectorIndex.load_from_disk(index.json

) response = index.query(input_text, response_mode="compact")return response.responseiface = gr.Interface(fn=chatbot,

inputs=gr.inputs.Textbox(lines=7, label="请输入,您想从知识库中获取什么?"), outputs=

"text", title="AI 本地知识库ChatBot")index = construct_index("docs")iface.launch(share=

True)1.更改代码中第6、7行的项目路径以及OPENAI API TOKEN

os.chdir(r/local/langchain-chatbot)  # 自己的项目文件路径os.environ["OPENAI_API_KEY"] = sk-xxxxxxxxxxxxxxx#自己的OpenAI API key

2.把需要prompt的文档资料放到docs目录下(例如,我存放了Hadoop分布式文件系统,结构与设计_(中文).pdf、项目管理知识体系指南(PMBOK6中文版).pdf)

三、启动/测试直接启动app.py,运行程序python3app.py2.稍等片刻

3.看到以上内容后,浏览器访问本地 http://127.0.0.1:7860 ,测试效果

完成以上,即可拥有一个属于自己的知识库。向独属于自己的私有知识库内添加更多内容吧!!!

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186

知识Langchain构建知识库的原理(langchain 本地知识库)越早知道越好

2023-11-16Aix XinLe48

Langchain构建知识库的原理(langchain 本地知识库)越早知道越好最近,LangChain项目备受关注,成为一个极其热门的开源代码库,并且正在迅速发展中!现在我们可以利用本地知识文档作为提示,使用ChatGPT来根据这些资料回答问题!!!…

科学乐视S1(乐视s1pro上市时间)墙裂推荐

2023-11-16Aix XinLe47

乐视S1(乐视s1pro上市时间)墙裂推荐小鹏汽车再次回应王凤英出任CEO;微软调整美国全职员工福利:不设休假天数上限;乐视新机被曝抄袭iPhone 14 Pro…

知识Langchain构建知识库的原理(基于langchain的知识库)越早知道越好

2023-11-16Aix XinLe167

Langchain构建知识库的原理(基于langchain的知识库)越早知道越好最近,智谱 AI 研发团队又推出了 ChatGLM 系列的新模型 ChatGLM2-6B,是开源中英双语对话模型 ChatGLM-6B 的第二代版本,性能更强悍。…

知识Langchain构建知识库的原理(基于langchain的知识库)这都可以?

2023-11-16Aix XinLe126

Langchain构建知识库的原理(基于langchain的知识库)这都可以?一、前言自从去年GPT模型火爆以来,降低了很多个人和企业进入人工智能领域的门槛,对于大模型尤其是开源的大模型国内应该比较受关注和期待,毕竟高额的…

科学乐视S1(乐视s1参数)满满干货

2023-11-16Aix XinLe39

乐视S1(乐视s1参数)满满干货今年5月份,乐视举行发布会,正式宣布乐视将重新进军手机领域,并推出新一代超级手机。上月底,乐视官方晒出了新机…