ollama 本地安装 embedding 模型

向量数据库大模型数据库

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

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

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

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

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

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

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

picture.image

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

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

 

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

 

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

典型应用流程

picture.image

  1. 知识库构建阶段 
  • 使用Embedding模型将文档转换为向量,存储向量到向量数据库(如FAISS、Milvus)

 

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

 

  1. 回答生成阶段 
  • 将检索到的相关文档作为上下文,使用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 

picture.image

 

先激活对应的工作环境。 

  
source crewai-env/bin/activate

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

picture.image

安装依赖 

  
pip install crewai ollama

看到这个代表已经激活 

picture.image

启动 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

 

picture.image

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

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

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
IDC 大模型应用落地白皮书
大模型技术已深度融入业务实践,各企业期望其释放更大商业价值。 但大模型落地之路面临许多挑战和顾虑。 如何精准对接业务需求与发展蓝图,制定切实可行的大模型落地策略? IDC发布首个大模型应用策略与行动指南 一为您揭晓一
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论