Embedding Generator Task Type
This example assumes using Google.Gemini; is in scope and apiKey contains your Google.Gemini API key.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 | using var client = new GeminiClient(apiKey);
var modelId = GetEmbeddingModelId();
try
{
IEmbeddingGenerator<string, Embedding<float>> generator = client;
// Use RETRIEVAL_QUERY task type for search queries
var queryResult = await generator.GenerateAsync(
values: ["How do I reset my password?"],
options: new EmbeddingGenerationOptions
{
ModelId = modelId,
AdditionalProperties = new AdditionalPropertiesDictionary
{
["TaskType"] = "RETRIEVAL_QUERY",
},
});
// Use RETRIEVAL_DOCUMENT task type with a Title for documents
var docResult = await generator.GenerateAsync(
values: ["To reset your password, go to Settings > Security > Change Password."],
options: new EmbeddingGenerationOptions
{
ModelId = modelId,
AdditionalProperties = new AdditionalPropertiesDictionary
{
["TaskType"] = "RETRIEVAL_DOCUMENT",
["Title"] = "Password Reset Guide",
},
});
}
catch (ApiException ex) when (ex.StatusCode is System.Net.HttpStatusCode.TooManyRequests)
{
}
|