type
status
date
slug
summary
tags
category
icon
password
comment
Status
本地运行开源模型具有数据隐私和安全、灵活性和定制化、成本低等优势,使得像PrivateGPT、llama.cpp、GPT4All和llamafile等开源模型十分流行,所以本地运行大型语言模型(LLMs)的变得很重要。
LangChain 整合了 许多可以本地执行的开源模型
请查看这里,了解如何为这些大型语言模型(LLMs)设置本地运行环境。
例如,这里展示了如何在本地(例如,你的笔记本电脑)使用本地嵌入和本地大型语言模型来运行
GPT4All
或LLaMA2
。文档加载
安装依赖
加载切分文档,我们使用一篇agent博客为例
下载
GPT4All
嵌入模型到本地测试相似性搜索与我们的本地嵌入模型是否能正常工作。
模型
LLaMA2
注意:新版本的
llama-cpp-python
使用GGUF模型文件(见此处)。如果您已有现成的GGML模型,请参见此处了解如何转换为GGUF模型的说明。
或者可以在 huggingface 上下载一个已转换为GGUF的模型。
如果要在Apple 机器上启用GPU,请按照此处的步骤使用支持Metal的Python绑定。
确保conda正在使用正确的虚拟环境
确认启用
根据 llama.cpp docs 设置模型参数
注意,这些表明Metal已正确启用:
GPT4All
下载
GPT4All
的二进制模型 。然后,指定您下载的路径。
例如:
/Users/rlm/Desktop/Code/gpt4all/models/nous-hermes-13b.ggmlv3.q4_0.bin
llamafile
运行本地大型语言模型(LLM)的最简单方法之一是使用lammafile。
- 从 HuggingFace 上下载lammafile文件;
- 授权文件可执行
- 执行文件
这是一个简单的bash脚本,展示了所有3个设置步骤:
在运行上述设置步骤之后,可以通过LangChain与模型进行交互:
在langchain链中使用
我们尝试通过传入检索到的文档和一个简单的提示词,构建一个模型创建摘要链。
它使用提供的输入格式化提示模板,并将格式化后的字符串传递给GPT4All、Llama-V2或其他大型语言模型(LLM)。
问答
我们还可以使用LangChain提示词中心来存储和获取特定于模型的提示。
让我们尝试使用一个默认的RAG提示。
现在,让我们尝试使用一个特别为LLaMA设计的提示词,这个提示词包括特殊标记。
添加检索问答
上面的代码需要手动输入文档,我们尝试根据用户问题自动从向量存储中检索它们。
This will use a QA default prompt (shown here) and will retrieve from the vectorDB.
使用langchain提供的默认提示词,并将从向量数据库中检索信息。
官网链接:
- Author:小灰
- URL:https://blog.opencontent.cn//article/langchain-local-rag
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!