Class OpenAIEmbeddingProvider
- Namespace
- Mythosia.AI.Rag.Embeddings
- Assembly
- Mythosia.AI.Rag.dll
IEmbeddingProvider implementation that calls the OpenAI Embeddings API. Uses the same HttpClient/API-key pattern as Mythosia.AI's OpenAIService.
public class OpenAIEmbeddingProvider : IEmbeddingProvider
- Inheritance
-
OpenAIEmbeddingProvider
- Implements
- Inherited Members
Constructors
OpenAIEmbeddingProvider(string, HttpClient, string, int)
Creates an OpenAI embedding provider.
public OpenAIEmbeddingProvider(string apiKey, HttpClient httpClient, string model = "text-embedding-3-small", int dimensions = 1536)
Parameters
apiKeystringOpenAI API key.
httpClientHttpClientHttpClient instance (should not have a BaseAddress pre-set).
modelstringEmbedding model name. Default is "text-embedding-3-small".
dimensionsintOutput vector dimensions. Default is 1536.
Properties
Dimensions
The dimensionality of the embedding vectors produced by this provider.
public int Dimensions { get; }
Property Value
Methods
GetEmbeddingAsync(string, CancellationToken)
Generates an embedding vector for a single text input.
public Task<float[]> GetEmbeddingAsync(string text, CancellationToken cancellationToken = default)
Parameters
textstringcancellationTokenCancellationToken
Returns
GetEmbeddingsAsync(IEnumerable<string>, CancellationToken)
Generates embedding vectors for multiple text inputs in a single batch call.
public Task<IReadOnlyList<float[]>> GetEmbeddingsAsync(IEnumerable<string> texts, CancellationToken cancellationToken = default)
Parameters
textsIEnumerable<string>cancellationTokenCancellationToken
Returns
- Task<IReadOnlyList<float[]>>