rucora Embed
rucora 的 Embedding Provider 实现。
概述
本 crate 为 rucora 提供 Embedding Provider 实现,用于将文本转换为向量,支持语义搜索和 RAG 应用。
支持的 Provider
| Provider | 说明 |
|---|---|
| OpenAiEmbeddingProvider | OpenAI Embedding 模型 |
| OllamaEmbeddingProvider | Ollama 本地 Embedding 模型 |
安装
[]
= "0.1"
或通过主 rucora crate:
[]
= { = "0.1", = ["embed"] }
使用方式
OpenAI Embedding
use OpenAiEmbeddingProvider;
use EmbeddingProvider;
let provider = from_env?
.with_model;
let embeddings = provider.embed.await?;
println!;
Ollama Embedding
use OllamaEmbeddingProvider;
let provider = new
.with_model;
let embeddings = provider.embed.await?;
Embedding 缓存
use EmbeddingCache;
let mut cache = with_capacity;
// 缓存会自动存储和检索 Embedding
let embeddings = cache.get_or_compute.await?;
Feature 配置
| Feature | 说明 |
|---|---|
openai |
OpenAI Embedding Provider(默认) |
ollama |
Ollama Embedding Provider |
all |
启用所有 Embedding Provider |
环境变量
| 变量 | 说明 |
|---|---|
OPENAI_API_KEY |
OpenAI API Key |
OPENAI_BASE_URL |
OpenAI Base URL |
OLLAMA_BASE_URL |
Ollama Base URL |
许可证
MIT