-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathGoogle.Gemini.IGeminiClient.DynamicStreamGenerateContent.g.cs
More file actions
69 lines (67 loc) · 5.69 KB
/
Google.Gemini.IGeminiClient.DynamicStreamGenerateContent.g.cs
File metadata and controls
69 lines (67 loc) · 5.69 KB
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#nullable enable
namespace Google.Gemini
{
public partial interface IGeminiClient
{
/// <summary>
/// Generates a [streamed response](https://ai.google.dev/gemini-api/docs/text-generation?lang=python#generate-a-text-stream) from the model given an input `GenerateContentRequest`.
/// </summary>
/// <param name="dynamicId"></param>
/// <param name="request"></param>
/// <param name="cancellationToken">The token to cancel the operation with</param>
/// <exception cref="global::Google.Gemini.ApiException"></exception>
global::System.Threading.Tasks.Task<global::Google.Gemini.GenerateContentResponse> DynamicStreamGenerateContentAsync(
string dynamicId,
global::Google.Gemini.GenerateContentRequest request,
global::System.Threading.CancellationToken cancellationToken = default);
/// <summary>
/// Generates a [streamed response](https://ai.google.dev/gemini-api/docs/text-generation?lang=python#generate-a-text-stream) from the model given an input `GenerateContentRequest`.
/// </summary>
/// <param name="dynamicId"></param>
/// <param name="model">
/// Required. The name of the `Model` to use for generating the completion. Format: `models/{model}`.
/// </param>
/// <param name="systemInstruction">
/// The base structured datatype containing multi-part content of a message. A `Content` includes a `role` field designating the producer of the `Content` and a `parts` field containing multi-part data that contains the content of the message turn.
/// </param>
/// <param name="contents">
/// Required. The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries like [chat](https://ai.google.dev/gemini-api/docs/text-generation#chat), this is a repeated field that contains the conversation history and the latest request.
/// </param>
/// <param name="tools">
/// Optional. A list of `Tools` the `Model` may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the `Model`. Supported `Tool`s are `Function` and `code_execution`. Refer to the [Function calling](https://ai.google.dev/gemini-api/docs/function-calling) and the [Code execution](https://ai.google.dev/gemini-api/docs/code-execution) guides to learn more.
/// </param>
/// <param name="toolConfig">
/// The Tool configuration containing parameters for specifying `Tool` use in the request.
/// </param>
/// <param name="safetySettings">
/// Optional. A list of unique `SafetySetting` instances for blocking unsafe content. This will be enforced on the `GenerateContentRequest.contents` and `GenerateContentResponse.candidates`. There should not be more than one setting for each `SafetyCategory` type. The API will block any contents and responses that fail to meet the thresholds set by these settings. This list overrides the default settings for each `SafetyCategory` specified in the safety_settings. If there is no `SafetySetting` for a given `SafetyCategory` provided in the list, the API will use the default safety setting for that category. Harm categories HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_CIVIC_INTEGRITY are supported. Refer to the [guide](https://ai.google.dev/gemini-api/docs/safety-settings) for detailed information on available safety settings. Also refer to the [Safety guidance](https://ai.google.dev/gemini-api/docs/safety-guidance) to learn how to incorporate safety considerations in your AI applications.
/// </param>
/// <param name="generationConfig">
/// Configuration options for model generation and outputs. Not all parameters are configurable for every model.
/// </param>
/// <param name="cachedContent">
/// Optional. The name of the content [cached](https://ai.google.dev/gemini-api/docs/caching) to use as context to serve the prediction. Format: `cachedContents/{cachedContent}`
/// </param>
/// <param name="serviceTier">
/// Optional. The service tier of the request.
/// </param>
/// <param name="store">
/// Optional. Configures the logging behavior for a given request. If set, it takes precedence over the project-level logging config.
/// </param>
/// <param name="cancellationToken">The token to cancel the operation with</param>
/// <exception cref="global::System.InvalidOperationException"></exception>
global::System.Threading.Tasks.Task<global::Google.Gemini.GenerateContentResponse> DynamicStreamGenerateContentAsync(
string dynamicId,
string? model = default,
global::Google.Gemini.Content? systemInstruction = default,
global::System.Collections.Generic.IList<global::Google.Gemini.Content>? contents = default,
global::System.Collections.Generic.IList<global::Google.Gemini.Tool>? tools = default,
global::Google.Gemini.ToolConfig? toolConfig = default,
global::System.Collections.Generic.IList<global::Google.Gemini.SafetySetting>? safetySettings = default,
global::Google.Gemini.GenerationConfig? generationConfig = default,
string? cachedContent = default,
global::Google.Gemini.GenerateContentRequestServiceTier? serviceTier = default,
bool? store = default,
global::System.Threading.CancellationToken cancellationToken = default);
}
}