Embeddings
如何使用
rust
use ai_provider_sdk::{EmbeddingCreateParams, OpenAI};
let client = OpenAI::from_env()?;
let resp = client
.embeddings()
.create(EmbeddingCreateParams::new("text-embedding-3-small", "hello"))
.await?;
println!("{}", resp.data.len());已实现方法
create(params)create_with_options(params, options)
入参结构(全量)
EmbeddingCreateParams
model: String(必填)目标模型 ID。input: EmbeddingInput(必填)向量输入。dimensions: Option<u32>(可选)向量维度。encoding_format: Option<EncodingFormat>(可选)返回编码格式。user: Option<String>(可选)终端用户标识。extra: HashMap<String, Value>(可选)扩展字段。
EmbeddingInput(联合类型)
Text(String):单条文本。Texts(Vec<String>):批量文本。Tokens(Vec<u32>):单条 token 序列。TokenBatches(Vec<Vec<u32>>):批量 token 序列。
EncodingFormat 枚举值:
FloatBase64
默认行为:
encoding_format未设置时,SDK 默认发送float。
响应结构(全量)
CreateEmbeddingResponse
object: Option<String>data: Vec<Embedding>model: Option<String>usage: Option<EmbeddingUsage>extra: HashMap<String, Value>
Embedding
object: Option<String>index: u32embedding: EmbeddingVectorextra: HashMap<String, Value>
EmbeddingVector(联合类型)
Float(Vec<f64>)Base64(String)
EmbeddingUsage
prompt_tokens: u32total_tokens: u32
兼容性说明
extra为前向兼容容器,不保证稳定结构。- 文档只覆盖当前仓库已实现能力。