OllamaEmbedder 可用于使用 Ollama 在本地将文本数据嵌入向量。

用于生成嵌入的模型需要本地运行。在本例中是 openhermes,因此您必须安装 ollama 并在终端中运行 ollama pull openhermes

用法

cookbook/embedders/ollama_embedder.py
from agno.agent import AgentKnowledge
from agno.vectordb.pgvector import PgVector
from agno.embedder.ollama import OllamaEmbedder

# 将句子嵌入数据库
embeddings = OllamaEmbedder(id="openhermes").get_embedding("The quick brown fox jumps over the lazy dog.")

# 打印嵌入及其维度
print(f"Embeddings: {embeddings[:5]}")
print(f"Dimensions: {len(embeddings)}")

# 在知识库中使用 embedder
knowledge_base = AgentKnowledge(
    vector_db=PgVector(
        db_url="postgresql+psycopg://ai:ai@localhost:5532/ai",
        table_name="ollama_embeddings",
        embedder=OllamaEmbedder(),
    ),
    num_documents=2,
)

参数

参数类型默认值描述
modelstr"openhermes"用于生成嵌入的模型名称。
dimensionsint4096模型生成的嵌入的维度。
hoststr-API 端点的宿主地址。
timeoutAny-API 请求的超时时长。
optionsAny-用于配置 API 请求的附加选项。
client_kwargsOptional[Dict[str, Any]]-用于配置 API 客户端的附加关键字参数。可选。
ollama_clientOptional[OllamaClient]-用于发起 API 请求的 OllamaClient 实例。可选。

开发者资源