2025年6月5日 星期四 乙巳(蛇)年 三月初九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > 人工智能

ollama 本地安装 embedding 模型

时间:03-28来源:作者:点击数:20
CDSY,CDSY.XYZ

知识库领域的 LLM 大模型和 Embedding 大模型有区别么?为什么在 RAG 领域,需要单独设置 embedding 大模型?

在人工智能领域,大型语言模型(LLM)和嵌入模型(Embedding Model)是自然语言处理(NLP)中的两大关键技术,尤其在知识库构建和信息检索中发挥着重要作用。

尽管它们都属于 NLP 范畴,但它们在功能、应用场景和资源需求上存在显著差异。

Embedding 模型的主要任务是将文本转换为数值向量表示。这些向量可以用于计算文本之间的相似度、进行信息检索和聚类分析。

Embedding 模型的输出是数值向量。计算机在理解词句含义的时候,是不具备能力的,计算机只能看到一段 01010111 这样的结果。然而,人类看到的词句,是赋予了内部的含义,还带了大量的普世认知。

参考台大李宏毅老师的一张图,做一下说明。

当我们人类理解 猫 vs 狗 和 狗 vs 花的差异的时候,能自然的理解,觉得猫和狗是更加相近的物种;而狗和花,一个是动物,另一个是植物,偏差会更多。

在这里插入图片描述

那么,如何让计算机能理解这些词背后的含义呢。所使用的技术就是 Embedding。一句话简单说,embedding 就是把计算机无法理解的字词,转换成一个向量矩阵。

比较相似,或者含意比较接近的词向量之间的距离,是更加接近的。比如 dog 和 cat,dog 和 rabbit; 然而,flower 和 dog,就会隔得比较远。

Embedding 模型广泛应用于文本相似度计算、信息检索、聚类和推荐系统。

在大模型知识库领域中,单独设置 Embedding 模型可以降低系统资源占用和响应延迟,特别是在大规模知识库构建和信息检索中,可以极大程度提升经济型和效率。一般的应用包含以下几个部分:

典型应用流程
在这里插入图片描述

\1. 知识库构建阶段

  • 使用Embedding模型将文档转换为向量,存储向量到向量数据库(如FAISS、Milvus)

\2. 检索阶段

  • 用相同的Embedding模型将用户问题转换为向量,在向量数据库中快速检索相似文档

\3. 回答生成阶段

  • 将检索到的相关文档作为上下文,使用LLM生成最终答案
推荐的Embedding模型

Crew.ai 官方组件支持的 Embedding 模型有:

  • openai:OpenAI 的嵌入模型
  • google:Google 的文本嵌入模型
  • azure:Azure OpenAI 嵌入
  • ollama:使用 Ollama 进行局部嵌入
  • vertexai:Google Cloud VertexAI 嵌入
  • cohere:Cohere 的嵌入模型
  • 基岩版:AWS Bedrock 嵌入
  • huggingface: Hugging Face 模特
  • watson:IBM Watson 嵌入

接下来,我们看一下如何在本地安装 Ollama 提供的 embedding 模型。本案例选用的是 nomic-embed-text。

项目参考链接:https://ollama.com/search?c=embedding

在这里插入图片描述

先激活对应的工作环境。

  • source crewai-env/bin/activate

每次开始新的终端会话时,都需要重新激活虚拟环境。如果您看到命令提示符前面有 (crewai) 这样的标识,说明环境已经正确激活。

在这里插入图片描述

安装依赖

  • pip install crewai ollama

看到这个代表已经激活

在这里插入图片描述

启动 ollama

  • ollama serve

安装 embedding 模型

  • ollama pull nomic-embed-text

因为要配置给其他的服务用,所以需要解决 Ollama 的 embedding host获取问题。

要获取 Ollama 的 embedding host,有以下几种方法:

默认地址:

Ollama 默认运行在 http://localhost:11434。如果您是在本地机器上安装的 Ollama,通常不需要更改这个地址。

如果不确定是否这个端口,验证 Ollama 服务是否运行及其地址,可以按照这个方法执行。

  • # 检查 Ollama 服务状态curl http://localhost:11434/api/version
在这里插入图片描述

看到 11434 的监听结果,说明这个端口就是 ollama 的embedding 模型开放的端口。

到这一步,就代表着 ollama 的embedding 模型已经安装成功。可以对接给其他的应用和服务了。

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐