Table of Contents

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

apiKey string

OpenAI API key.

httpClient HttpClient

HttpClient instance (should not have a BaseAddress pre-set).

model string

Embedding model name. Default is "text-embedding-3-small".

dimensions int

Output vector dimensions. Default is 1536.

Properties

Dimensions

The dimensionality of the embedding vectors produced by this provider.

public int Dimensions { get; }

Property Value

int

Methods

GetEmbeddingAsync(string, CancellationToken)

Generates an embedding vector for a single text input.

public Task<float[]> GetEmbeddingAsync(string text, CancellationToken cancellationToken = default)

Parameters

text string
cancellationToken CancellationToken

Returns

Task<float[]>

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

texts IEnumerable<string>
cancellationToken CancellationToken

Returns

Task<IReadOnlyList<float[]>>