import _m0 from 'protobufjs/minimal'; import { ExpirationConfig } from '../../../../../yandex/cloud/ai/common/common'; import { PromptTruncationOptions, CompletionOptions, Tool } from '../../../../../yandex/cloud/ai/assistants/v1/common'; export declare const protobufPackage = "yandex.cloud.ai.assistants.v1"; /** Assistant represents an AI assistant configuration with various settings and metadata. */ export interface Assistant { /** Unique identifier of the assistant. */ id: string; /** ID of the folder that the assistant belongs to. */ folderId: string; /** Name of the assistant. */ name: string; /** Description of the assistant. */ description: string; /** Identifier of the subject who created this assistant. */ createdBy: string; /** Timestamp representing when the assistant was created. */ createdAt?: Date; /** Identifier of the subject who last updated this assistant. */ updatedBy: string; /** Timestamp representing the last time this assistant was updated. */ updatedAt?: Date; /** Configuration for the expiration of the assistant, defining when and how the assistant will expire. */ expirationConfig?: ExpirationConfig; /** Timestamp representing when the assistant will expire. */ expiresAt?: Date; /** Set of key-value pairs that can be used to organize and categorize the assistant. */ labels: { [key: string]: string; }; /** The [ID of the model](/docs/foundation-models/concepts/yandexgpt/models) to be used for completion generation. */ modelUri: string; /** * Instructions or guidelines that the assistant should follow when generating responses or performing tasks. * These instructions can help guide the assistant's behavior and responses. */ instruction: string; /** Configuration options for truncating the prompt when the token count exceeds a specified limit. */ promptTruncationOptions?: PromptTruncationOptions; /** Configuration options for completion generation. */ completionOptions?: CompletionOptions; /** * List of tools that the assistant can use to perform additional tasks. * One example is the SearchIndexTool, which is used for Retrieval-Augmented Generation (RAG). */ tools: Tool[]; } export interface Assistant_LabelsEntry { key: string; value: string; } export declare const Assistant: { encode(message: Assistant, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Assistant; fromJSON(object: any): Assistant; toJSON(message: Assistant): unknown; fromPartial, never>) | undefined; expiresAt?: Date | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; modelUri?: string | undefined; instruction?: string | undefined; promptTruncationOptions?: ({ maxPromptTokens?: number | undefined; autoStrategy?: {} | undefined; lastMessagesStrategy?: { numMessages?: number | undefined; } | undefined; } & { maxPromptTokens?: number | undefined; autoStrategy?: ({} & {} & Record, never>) | undefined; lastMessagesStrategy?: ({ numMessages?: number | undefined; } & { numMessages?: number | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; completionOptions?: ({ maxTokens?: number | undefined; temperature?: number | undefined; } & { maxTokens?: number | undefined; temperature?: number | undefined; } & Record, never>) | undefined; tools?: ({ searchIndex?: { searchIndexIds?: string[] | undefined; maxNumResults?: number | undefined; rephraserOptions?: { rephraserUri?: string | undefined; } | undefined; callStrategy?: { alwaysCall?: {} | undefined; autoCall?: { name?: string | undefined; instruction?: string | undefined; } | undefined; } | undefined; } | undefined; function?: { name?: string | undefined; description?: string | undefined; parameters?: { [x: string]: any; } | undefined; } | undefined; }[] & ({ searchIndex?: { searchIndexIds?: string[] | undefined; maxNumResults?: number | undefined; rephraserOptions?: { rephraserUri?: string | undefined; } | undefined; callStrategy?: { alwaysCall?: {} | undefined; autoCall?: { name?: string | undefined; instruction?: string | undefined; } | undefined; } | undefined; } | undefined; function?: { name?: string | undefined; description?: string | undefined; parameters?: { [x: string]: any; } | undefined; } | undefined; } & { searchIndex?: ({ searchIndexIds?: string[] | undefined; maxNumResults?: number | undefined; rephraserOptions?: { rephraserUri?: string | undefined; } | undefined; callStrategy?: { alwaysCall?: {} | undefined; autoCall?: { name?: string | undefined; instruction?: string | undefined; } | undefined; } | undefined; } & { searchIndexIds?: (string[] & string[] & Record, never>) | undefined; maxNumResults?: number | undefined; rephraserOptions?: ({ rephraserUri?: string | undefined; } & { rephraserUri?: string | undefined; } & Record, never>) | undefined; callStrategy?: ({ alwaysCall?: {} | undefined; autoCall?: { name?: string | undefined; instruction?: string | undefined; } | undefined; } & { alwaysCall?: ({} & {} & Record, never>) | undefined; autoCall?: ({ name?: string | undefined; instruction?: string | undefined; } & { name?: string | undefined; instruction?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; function?: ({ name?: string | undefined; description?: string | undefined; parameters?: { [x: string]: any; } | undefined; } & { name?: string | undefined; description?: string | undefined; parameters?: ({ [x: string]: any; } & { [x: string]: any; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>>(object: I): Assistant; }; export declare const Assistant_LabelsEntry: { encode(message: Assistant_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Assistant_LabelsEntry; fromJSON(object: any): Assistant_LabelsEntry; toJSON(message: Assistant_LabelsEntry): unknown; fromPartial, never>>(object: I): Assistant_LabelsEntry; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & Record>, never>; export {};