Win10本地部署Ollama + AnythingLLM+nomic-embed-text 读取本地文档构建私有知识库

前置工具:

Ollama 下载地址 https://ollama.com/download

AnythingLLM 下载地址 https://useanything.com/download

Open WebUI 安装地址 https://github.com/v1cc0/open-webui 

具体搭建步骤:

1、安装完成ollama后,在win键界面找到命令行,或者win键 + R,输入cmd打开命令行。

安装Ollama工具后,在命令行输入【ollama pull qwen:4b】 下载模型(也可以下载其他模型,支持的模型列表:https://ollama.com/library)。

2、要开始运行Ollama,只需要在命令行输入【ollama run qwen:4b】就可以使用并访问这个模型了。

3、接下来我们需要安装向量模型和数据库,在https://ollama.com/里面搜索【nomic-embed-text】,这个模型可以将文本内容转换成向量数据,里面是模型介绍。

4、安装模型可以在命令行输入【ollama pull nomic-embed-text】进行下载和安装。

5、安装AnythingLLM工具后打开初始化界面,会进入到配置页面,在【LLM Preference】选项卡中,选择Ollama,然后配置【http://127.0.0.1:11434】、选择运行的大模型【qwen:4b】,token填【8192】

6、下一步是配置【Embedding Preference】选项卡中,一样选择 Ollama,然后配置【http://127.0.0.1:11434】、选择运行的大模型【nomic-embed-text】,length填【512】

7、下一步是配置【Vector Database】,选择默认的【LanceDB】,这是内置的向量数据库,如果想用云端数据库,可以选择【Pinecone】进行云端配置。

8、后面就是按提示下一步下一步,如果是要加新的工作空间,可以点new workspace来增加不同场景下的工作空间。如果需要更换模型,可以点左下角的配置按钮,重新执行上面三步完成配置。到这里环境已经部署了,这时你已经可以跟大模型进行对话了。

9、接下来的步骤是争对私有知识库的内容进行分析和获取。需要将文档上传到AnythinLLM,通过【nomic-embed-text】模型进行向量转换,然后存在向量数据库中。最后通过提问,去向量数据库获取内容并分析回答。

在工作空间页面上有一个上传文档的按钮,点击可以上传我们的文档内容。上传后选中文档,点击【Save and Embed】,等待一段时间,让模型进行向量转换和保存。

10、然后回到主界面点击工作空间的设置,选择【Chat Setting】选项卡,这里对话模式选择【Query】,这个模式是指只从提供的文档内容进行查找分析,而不要求大语言模型里面提供的信息作答。最后点击【Update workspace】进行更新。

        然后就可以进行提问了,以上是本地部署应用的地方,如果你的电脑不太行,可以装Ollama部署在云端GPU服务器,然后本地安装AnythingLLM,在选择URL上填写云端Ollama的地址即可。

11、第三个工具就是Open WebUI,此工具可以支持云端部署web界面,在浏览器上访问大模型。

前置需要安装Docker,具体安装步骤可以看https://github.com/v1cc0/open-webui上面的安装步骤,这里就不再赘述。

安装完后输入github上的指令即可连通Ollama,并进行使用。

### 将 AnythingLLM 嵌入 Ollama 用于 Nomic Embed Text 为了实现将 AnythingLLM 嵌入到 Ollama 平台并应用于 nomic-embed-text 功能,需考虑几个关键方面。尽管具体细节可能因平台更新而有所变化,但一般流程涉及配置环境、加载模型以及集成嵌入功能。 #### 环境准备 确保开发环境中已安装必要的依赖库和工具链。对于 Python 用户来说,通常需要通过 pip 安装特定版本的 transformers 库以及其他辅助包来支持 LLM 的运行[^1]。 ```bash pip install --upgrade transformers torch datasets ``` #### 加载预训练模型 AnythingLLM 是一种假设性的广泛适用型大语言模型,在此场景下代表可以灵活调整参数设置的一类模型。要将其引入 Ollama 生态系统内,首先要获取该模型实例,并对其进行适当初始化以便后续调用。 ```python from transformers import AutoModelForCausalLM, AutoTokenizer model_name_or_path = "anythingllm-model-path" tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) model = AutoModelForCausalLM.from_pretrained(model_name_or_path) ``` #### 创建自定义嵌入函数 针对 nomic-embed-text 使用需求设计专门的数据处理逻辑,包括但不限于文本清理、分词转换等前置操作;接着利用上述加载好的模型对象生成对应的向量表示形式作为最终输出结果的一部分。 ```python def create_embedding(text_input): inputs = tokenizer(text_input, return_tensors="pt", truncation=True, padding=True) outputs = model(**inputs)[0][:, -1].detach().numpy() # 获取最后一层隐藏状态的最后一列 return outputs.flatten() ``` #### 集成至 Ollama 流程 最后一步是把创建出来的 embedding 函数无缝对接到现有的 Ollama 工作流当中去,这样当涉及到 nomic-embed-text 类的任务时就能自动调用这段代码完成相应计算任务了。 值得注意的是,以上描述基于理论框架构建而成的实际实施方案可能会有所不同,建议参考官方文档获得最准确指导信息。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极个别的谭同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值