embedding/
embedding.rs

1use openai_api_rs::v1::api::OpenAIClient;
2use openai_api_rs::v1::common::TEXT_EMBEDDING_3_SMALL;
3use openai_api_rs::v1::embedding::EmbeddingRequest;
4use std::env;
5
6#[tokio::main]
7async fn main() -> Result<(), Box<dyn std::error::Error>> {
8    let api_key = env::var("OPENAI_API_KEY").unwrap().to_string();
9    let mut client = OpenAIClient::builder().with_api_key(api_key).build()?;
10
11    let mut req = EmbeddingRequest::new(
12        TEXT_EMBEDDING_3_SMALL.to_string(),
13        vec!["story time".to_string(), "Once upon a time".to_string()],
14    );
15    req.dimensions = Some(10);
16
17    let result = client.embedding(req).await?;
18    println!("{:?}", result.data);
19
20    Ok(())
21}
22
23// OPENAI_API_KEY=xxxx cargo run --package openai-api-rs --example embedding