本地知识库软件(langchain 本地知识库)快来看
最近,LangChain项目备受关注,成为一个极其热门的开源代码库,并且正在迅速发展中!现在我们可以利用本地知识文档作为提示,使用ChatGPT来根据这些资料回答问题!!!
引言:最近,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