public class EmbeddingService
{
private readonly OpenAIClient _client;
private readonly string _model;
public EmbeddingService(string apiKey, string model = "text-embedding-3-large")
{
_client = new OpenAIClient(apiKey);
_model = model;
}
public async Task CreateEmbeddingAsync(string text)
{
if (string.IsNullOrWhiteSpace(text))
return Array.Empty();
// Use the official Embeddings API
var response = await _client.Embeddings.CreateEmbeddingAsync(
model: _model,
input: text
);
// The new SDK returns a list of embeddings in response.Data[0].Embedding
return response.Data?[0].Embedding?.ToArray() ?? Array.Empty();
}
}
Этот класс EmbeddingService предназначен для приема текста и возврата вектора (встраивания) с использованием API Embeddings API OpenAI. Это полезно в чат-ботах для:
Семантического поиска
Сходства документов
Классификации по намерениям
Ошибка, вероятно, возникает из-за несоответствия кода и версии OpenAI. SDK. Обновление SDK и настройка вызова API обычно решают проблему.
[code] public class EmbeddingService { private readonly OpenAIClient _client; private readonly string _model;
public EmbeddingService(string apiKey, string model = "text-embedding-3-large") { _client = new OpenAIClient(apiKey); _model = model; }
public async Task CreateEmbeddingAsync(string text) { if (string.IsNullOrWhiteSpace(text)) return Array.Empty();
// Use the official Embeddings API var response = await _client.Embeddings.CreateEmbeddingAsync( model: _model, input: text );
// The new SDK returns a list of embeddings in response.Data[0].Embedding return response.Data?[0].Embedding?.ToArray() ?? Array.Empty(); } } [/code] Этот класс EmbeddingService предназначен для приема текста и возврата вектора (встраивания) с использованием API Embeddings API OpenAI. Это полезно в чат-ботах для: [list] [*]Семантического поиска
[*]Сходства документов
[*]Классификации по намерениям
[/list] Ошибка, вероятно, возникает из-за [b]несоответствия кода и версии OpenAI. SDK[/b]. Обновление SDK и настройка вызова API обычно решают проблему.