Merge pull request #8 from dongri/fix-issue-7

Fix issue 7
This commit is contained in:
Dongri Jin
2023-05-08 06:45:42 +09:00
committed by GitHub
3 changed files with 28 additions and 4 deletions

View File

@ -1,6 +1,6 @@
[package]
name = "openai-api-rs"
version = "0.1.5"
version = "0.1.6"
edition = "2021"
authors = ["Dongri Jin <dongrify@gmail.com>"]
license = "MIT"

19
examples/embedding.rs Normal file
View File

@ -0,0 +1,19 @@
use openai_api_rs::v1::api::Client;
use openai_api_rs::v1::embedding::EmbeddingRequest;
use std::env;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Client::new(env::var("OPENAI_API_KEY").unwrap().to_string());
let req = EmbeddingRequest {
model: "text-embedding-ada-002".to_string(),
input: "story time".to_string(),
user: Option::None,
};
let result = client.embedding(req).await?;
println!("{:?}", result.data);
Ok(())
}
// OPENAI_API_KEY=xxxx cargo run --package openai-api-rs --example embedding

View File

@ -1,14 +1,11 @@
use serde::{Deserialize, Serialize};
use std::option::Option;
use crate::v1::common;
#[derive(Debug, Deserialize)]
pub struct EmbeddingData {
pub object: String,
pub embedding: Vec<f32>,
pub index: i32,
pub usage: common::Usage,
}
#[derive(Debug, Serialize)]
@ -23,4 +20,12 @@ pub struct EmbeddingRequest {
pub struct EmbeddingResponse {
pub object: String,
pub data: Vec<EmbeddingData>,
pub model: String,
pub usage: Usage,
}
#[derive(Debug, Deserialize)]
pub struct Usage {
pub prompt_tokens: i32,
pub total_tokens: i32,
}