llmkit-openai 0.1.0

OpenAI (GPT-4o, o1) provider adapter for llmkit-rs
Documentation
//! Mapping for OpenAI `/v1/embeddings`.

use llmkit_core::{EmbedResponse, TokenUsage};

use crate::types::{EmbeddingsRequest, EmbeddingsResponse};

pub(crate) fn build_request(input: Vec<String>, model: String) -> EmbeddingsRequest {
    EmbeddingsRequest { model, input }
}

pub(crate) fn map_response(resp: EmbeddingsResponse) -> EmbedResponse {
    EmbedResponse {
        provider: "openai".into(),
        model: resp.model,
        embeddings: resp.data.into_iter().map(|d| d.embedding).collect(),
        usage: resp
            .usage
            .map(|u| TokenUsage::new(u.prompt_tokens, 0))
            .unwrap_or_default(),
    }
}