大模型都可以本地部署,部署的方式有很多种,最方便的,就是借助Ollama。Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大模型而设计。官方网址:https://ollama.com/

1、运行OllamaSetup.exe

2、安装完成后,打开Windows的PowerShell,输入 ollama,显示如下画面,说明ollama安装成功

3、向量模型介绍:

BGE-M3简介 BGE-M3是北京智源人工智能研究院(BAAI)开发的一款多语言、多功能的文本嵌入模型,属于BGE(BAAI General Embedding)系列的最新成员。BGE-M3 是很多企业常用的比较优秀的文本嵌入模型:多功能性:可以同时实现嵌入模型常用的检索功能。多语言:支持100多种工作语言。多粒度:它能够处理不同粒度的输入,从短句子到多达8192个token的长文档。

4、回到PowerShell,执行命令 ollama pull bge-m3然后等待安装完成。

安装完成后,可以通过 ollama list 查看:

5、两种方式调用向量模型:

(1)自定义端口号

# RAG_Ollama.py
#    本地部署模型后,访问嵌入模型以及输出文本的向量表示

from ollama import Client

# 创建Ollama客户端实例,11434是固定端口
client = Client(host="http://127.0.0.1:11434")

# 获取模型列表并打印端口和访问链接
models = client.list()
for model in models:
    print(model)

print('-' * 100)


def get_embedding(text, model_name="bge-m3"):
    # 使用ollama库获取嵌入向量
    response = client.embed(model_name, text)
    embedding = response['embeddings']
    return embedding


# test_query = "我爱你"
test_query = ["我爱你"]

vec = get_embedding(test_query)
print(vec)
#  "我爱你" 文本的嵌入表示的维度。
print("维度:",len(vec))
print("维度:",len(vec[0]))
print('-' * 100)

(2)导入ollama包,不用固定端口号,用于设备不更改的情况下:

import ollama
def get_embedding(text, model_name="bge-m3"):
    # 使用ollama库获取嵌入向量
    response = ollama.embed(model_name, text)
    embedding = response['embeddings']
    return embedding

test_query = "我爱你"
vec = get_embedding(test_query)
print(vec[0])
#  "我爱你" 文本的嵌入表示的维度。
print("维度:",len(vec[0]))

可见:两种方法输出的向量一样(向量模型不是概率模型)

6、查看进程

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐