Files
AI/node_modules/@azure/openai/dist/openai.d.ts
2025-09-16 09:38:01 +08:00

461 lines
22 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import type { ChatCompletion } from 'openai/resources/index';
import type { ChatCompletionChunk } from 'openai/resources/index';
import type { ChatCompletionCreateParamsNonStreaming } from 'openai/resources/index';
import type { ChatCompletionCreateParamsStreaming } from 'openai/resources/index';
import type { ChatCompletionMessage } from 'openai/resources/index';
import type { Completion } from 'openai/resources/index';
import type { CompletionCreateParamsNonStreaming } from 'openai/resources/index';
import type { CompletionCreateParamsStreaming } from 'openai/resources/index';
import type { ErrorModel } from '@azure-rest/core-client';
/**
* A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat
* completions request that should use Azure OpenAI chat extensions to augment the response behavior.
* The use of this configuration is compatible only with Azure OpenAI.
*/
export declare type AzureChatExtensionConfiguration = AzureChatExtensionConfigurationParent | AzureSearchChatExtensionConfiguration | AzureCosmosDBChatExtensionConfiguration;
/**
* A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat
* completions request that should use Azure OpenAI chat extensions to augment the response behavior.
* The use of this configuration is compatible only with Azure OpenAI.
*/
export declare interface AzureChatExtensionConfigurationParent {
/** The type label. */
type: string;
}
/**
* A single instance of additional context information available when Azure OpenAI chat extensions are involved
* in the generation of a corresponding chat completions response. This context information is only populated when
* using an Azure OpenAI request configured to use a matching extension.
*/
export declare interface AzureChatExtensionDataSourceResponseCitationOutput {
/** The content of the citation. */
content: string;
/** The title of the citation. */
title?: string;
/** The URL of the citation. */
url?: string;
/** The file path of the citation. */
filepath?: string;
/** The chunk ID of the citation. */
chunk_id?: string;
}
/**
* A representation of the additional context information available when Azure OpenAI chat extensions are involved
* in the generation of a corresponding chat completions response. This context information is only populated when
* using an Azure OpenAI request configured to use a matching extension.
*/
export declare interface AzureChatExtensionsMessageContextOutput {
/**
* The contextual information associated with the Azure chat extensions used for a chat completions request.
* These messages describe the data source retrievals, plugin invocations, and other intermediate steps taken in the
* course of generating a chat completions response that was augmented by capabilities from Azure OpenAI chat
* extensions.
*/
citations?: Array<AzureChatExtensionDataSourceResponseCitationOutput>;
/** The detected intent from the chat history, used to pass to the next turn to carry over the context. */
intent?: string;
}
/**
* A specific representation of configurable options for Azure Cosmos DB when using it as an Azure OpenAI chat
* extension.
*/
export declare interface AzureCosmosDBChatExtensionConfiguration extends AzureChatExtensionConfigurationParent {
/**
* The type label to use when configuring Azure OpenAI chat extensions. This should typically not be changed from its
* default value for Azure Cosmos DB.
*/
type: "azure_cosmos_db";
/** The parameters to use when configuring Azure OpenAI CosmosDB chat extensions. */
parameters: AzureCosmosDBChatExtensionParameters;
}
/**
* Parameters to use when configuring Azure OpenAI On Your Data chat extensions when using Azure Cosmos DB for
* MongoDB vCore. The supported authentication type is ConnectionString.
*/
export declare interface AzureCosmosDBChatExtensionParameters {
/**
* The authentication method to use when accessing the defined data source.
* Each data source type supports a specific set of available authentication methods; please see the documentation of
* the data source for supported mechanisms.
* If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential)
* authentication.
*/
authentication: OnYourDataAuthenticationOptions;
/** The configured top number of documents to feature for the configured query. */
top_n_documents?: number;
/** Whether queries should be restricted to use of indexed data. */
in_scope?: boolean;
/** The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. */
strictness?: number;
/** The MongoDB vCore database name to use with Azure Cosmos DB. */
database_name: string;
/** The name of the Azure Cosmos DB resource container. */
container_name: string;
/** The MongoDB vCore index name to use with Azure Cosmos DB. */
index_name: string;
/** Customized field mapping behavior to use when interacting with the search index. */
fields_mapping: AzureCosmosDBFieldMappingOptions;
/** The embedding dependency for vector search. */
embedding_dependency: OnYourDataVectorizationSource;
}
/** Optional settings to control how fields are processed when using a configured Azure Cosmos DB resource. */
export declare interface AzureCosmosDBFieldMappingOptions {
/** The name of the index field to use as a title. */
title_field?: string;
/** The name of the index field to use as a URL. */
url_field?: string;
/** The name of the index field to use as a filepath. */
filepath_field?: string;
/** The names of index fields that should be treated as content. */
content_fields: string[];
/** The separator pattern that content fields should use. */
content_fields_separator?: string;
/** The names of fields that represent vector data. */
vector_fields: string[];
}
/**
* A specific representation of configurable options for Azure Search when using it as an Azure OpenAI chat
* extension.
*/
export declare interface AzureSearchChatExtensionConfiguration extends AzureChatExtensionConfigurationParent {
/**
* The type label to use when configuring Azure OpenAI chat extensions. This should typically not be changed from its
* default value for Azure Cognitive Search.
*/
type: "azure_search";
/** The parameters to use when configuring Azure Search. */
parameters: AzureSearchChatExtensionParameters;
}
/** Parameters for Azure Cognitive Search when used as an Azure OpenAI chat extension. The supported authentication types are APIKey, SystemAssignedManagedIdentity and UserAssignedManagedIdentity. */
export declare interface AzureSearchChatExtensionParameters {
/**
* The authentication method to use when accessing the defined data source.
* Each data source type supports a specific set of available authentication methods; please see the documentation of
* the data source for supported mechanisms.
* If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential)
* authentication.
*/
authentication: OnYourDataAuthenticationOptions;
/** The configured top number of documents to feature for the configured query. */
top_n_documents?: number;
/** Whether queries should be restricted to use of indexed data. */
in_scope?: boolean;
/** The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. */
strictness?: number;
/** The absolute endpoint path for the Azure Cognitive Search resource to use. */
endpoint: string;
/** The name of the index to use as available in the referenced Azure Cognitive Search resource. */
index_name: string;
/** Customized field mapping behavior to use when interacting with the search index. */
fields_mapping?: AzureSearchIndexFieldMappingOptions;
/**
* The query type to use with Azure Cognitive Search.
*
* Possible values: "simple", "semantic", "vector", "vector_simple_hybrid", "vector_semantic_hybrid"
*/
query_type?: string;
/** The additional semantic configuration for the query. */
semantic_configuration?: string;
/** Search filter. */
filter?: string;
/** The embedding dependency for vector search. */
embedding_dependency?: OnYourDataVectorizationSource;
}
/** Optional settings to control how fields are processed when using a configured Azure Search resource. */
export declare interface AzureSearchIndexFieldMappingOptions {
/** The name of the index field to use as a title. */
title_field?: string;
/** The name of the index field to use as a URL. */
url_field?: string;
/** The name of the index field to use as a filepath. */
filepath_field?: string;
/** The names of index fields that should be treated as content. */
content_fields?: string[];
/** The separator pattern that content fields should use. */
content_fields_separator?: string;
/** The names of fields that represent vector data. */
vector_fields?: string[];
}
export { ChatCompletion }
export { ChatCompletionChunk }
export { ChatCompletionCreateParamsNonStreaming }
export { ChatCompletionCreateParamsStreaming }
export { ChatCompletionMessage }
export { Completion }
export { CompletionCreateParamsNonStreaming }
export { CompletionCreateParamsStreaming }
/** Represents the outcome of a detection operation against protected resources as performed by content filtering. */
export declare interface ContentFilterCitedDetectionResultOutput {
/** A value indicating whether or not the content has been filtered. */
filtered: boolean;
/** A value indicating whether detection occurred, irrespective of severity or whether the content was filtered. */
detected: boolean;
/** The internet location associated with the detection. */
URL?: string;
/** The license description associated with the detection. */
license?: string;
}
/** Represents the outcome of a detection operation performed by content filtering. */
export declare interface ContentFilterDetectionResultOutput {
/** A value indicating whether or not the content has been filtered. */
filtered: boolean;
/** A value indicating whether detection occurred, irrespective of severity or whether the content was filtered. */
detected: boolean;
}
/** Information about content filtering evaluated against input data to Azure OpenAI. */
export declare interface ContentFilterResultDetailsForPromptOutput {
/**
* Describes language related to anatomical organs and genitals, romantic relationships,
* acts portrayed in erotic or affectionate terms, physical sexual acts, including
* those portrayed as an assault or a forced sexual violent act against one’s will,
* prostitution, pornography, and abuse.
*/
sexual?: ContentFilterResultOutput;
/**
* Describes language related to physical actions intended to hurt, injure, damage, or
* kill someone or something; describes weapons, etc.
*/
violence?: ContentFilterResultOutput;
/**
* Describes language attacks or uses that include pejorative or discriminatory language
* with reference to a person or identity group on the basis of certain differentiating
* attributes of these groups including but not limited to race, ethnicity, nationality,
* gender identity and expression, sexual orientation, religion, immigration status, ability
* status, personal appearance, and body size.
*/
hate?: ContentFilterResultOutput;
/**
* Describes language related to physical actions intended to purposely hurt, injure,
* or damage one’s body, or kill oneself.
*/
self_harm?: ContentFilterResultOutput;
/** Describes whether profanity was detected. */
profanity?: ContentFilterDetectionResultOutput;
/**
* Describes an error returned if the content filtering system is
* down or otherwise unable to complete the operation in time.
*/
error?: ErrorModel;
/** Whether a jailbreak attempt was detected in the prompt. */
jailbreak?: ContentFilterDetectionResultOutput;
}
/** Information about filtered content severity level and if it has been filtered or not. */
export declare interface ContentFilterResultOutput {
/**
* Ratings for the intensity and risk level of filtered content.
*
* Possible values: "safe", "low", "medium", "high"
*/
severity: string;
/** A value indicating whether or not the content has been filtered. */
filtered: boolean;
}
/** Information about content filtering evaluated against generated model output. */
export declare interface ContentFilterResultsForChoiceOutput {
/**
* Describes language related to anatomical organs and genitals, romantic relationships,
* acts portrayed in erotic or affectionate terms, physical sexual acts, including
* those portrayed as an assault or a forced sexual violent act against one’s will,
* prostitution, pornography, and abuse.
*/
sexual?: ContentFilterResultOutput;
/**
* Describes language related to physical actions intended to hurt, injure, damage, or
* kill someone or something; describes weapons, etc.
*/
violence?: ContentFilterResultOutput;
/**
* Describes language attacks or uses that include pejorative or discriminatory language
* with reference to a person or identity group on the basis of certain differentiating
* attributes of these groups including but not limited to race, ethnicity, nationality,
* gender identity and expression, sexual orientation, religion, immigration status, ability
* status, personal appearance, and body size.
*/
hate?: ContentFilterResultOutput;
/**
* Describes language related to physical actions intended to purposely hurt, injure,
* or damage one’s body, or kill oneself.
*/
self_harm?: ContentFilterResultOutput;
/** Describes whether profanity was detected. */
profanity?: ContentFilterDetectionResultOutput;
/**
* Describes an error returned if the content filtering system is
* down or otherwise unable to complete the operation in time.
*/
error?: ErrorModel;
/** Information about detection of protected text material. */
protected_material_text?: ContentFilterDetectionResultOutput;
/** Information about detection of protected code material. */
protected_material_code?: ContentFilterCitedDetectionResultOutput;
}
/** Content filtering results for a single prompt in the request. */
export declare interface ContentFilterResultsForPromptOutput {
/** The index of this prompt in the set of prompt results */
prompt_index: number;
/** Content filtering results for this prompt */
content_filter_results: ContentFilterResultDetailsForPromptOutput;
}
/** Describes the content filtering result for the image generation request. */
export declare interface ImageGenerationContentFilterResults {
/**
* Describes language related to anatomical organs and genitals, romantic relationships,
* acts portrayed in erotic or affectionate terms, physical sexual acts, including
* those portrayed as an assault or a forced sexual violent act against one’s will,
* prostitution, pornography, and abuse.
*/
sexual?: ContentFilterResultOutput;
/**
* Describes language related to physical actions intended to hurt, injure, damage, or
* kill someone or something; describes weapons, etc.
*/
violence?: ContentFilterResultOutput;
/**
* Describes language attacks or uses that include pejorative or discriminatory language
* with reference to a person or identity group on the basis of certain differentiating
* attributes of these groups including but not limited to race, ethnicity, nationality,
* gender identity and expression, sexual orientation, religion, immigration status, ability
* status, personal appearance, and body size.
*/
hate?: ContentFilterResultOutput;
/**
* Describes language related to physical actions intended to purposely hurt, injure,
* or damage one’s body, or kill oneself.
*/
self_harm?: ContentFilterResultOutput;
}
/**
* Describes the content filtering results for the prompt of a image generation request.
*/
export declare interface ImageGenerationPromptFilterResults {
/**
* Describes language related to anatomical organs and genitals, romantic relationships,
* acts portrayed in erotic or affectionate terms, physical sexual acts, including
* those portrayed as an assault or a forced sexual violent act against one’s will,
* prostitution, pornography, and abuse.
*/
sexual?: ContentFilterResultOutput;
/**
* Describes language related to physical actions intended to hurt, injure, damage, or
* kill someone or something; describes weapons, etc.
*/
violence?: ContentFilterResultOutput;
/**
* Describes language attacks or uses that include pejorative or discriminatory language
* with reference to a person or identity group on the basis of certain differentiating
* attributes of these groups including but not limited to race, ethnicity, nationality,
* gender identity and expression, sexual orientation, religion, immigration status, ability
* status, personal appearance, and body size.
*/
hate?: ContentFilterResultOutput;
/**
* Describes language related to physical actions intended to purposely hurt, injure,
* or damage one’s body, or kill oneself.
*/
self_harm?: ContentFilterResultOutput;
/** Describes whether profanity was detected. */
profanity?: ContentFilterDetectionResultOutput;
/** Whether a jailbreak attempt was detected in the prompt. */
jailbreak?: ContentFilterDetectionResultOutput;
}
/** The authentication options for Azure OpenAI On Your Data when using an API key. */
export declare interface OnYourDataApiKeyAuthenticationOptions extends OnYourDataAuthenticationOptionsParent {
/** The authentication type of API key. */
type: "api_key";
/** The API key to use for authentication. */
key: string;
}
/** The authentication options for Azure OpenAI On Your Data. */
export declare type OnYourDataAuthenticationOptions = OnYourDataAuthenticationOptionsParent | OnYourDataApiKeyAuthenticationOptions | OnYourDataConnectionStringAuthenticationOptions | OnYourDataSystemAssignedManagedIdentityAuthenticationOptions | OnYourDataUserAssignedManagedIdentityAuthenticationOptions;
/** The authentication options for Azure OpenAI On Your Data. */
export declare interface OnYourDataAuthenticationOptionsParent {
/** The authentication type. */
type: string;
}
/** The authentication options for Azure OpenAI On Your Data when using a connection string. */
export declare interface OnYourDataConnectionStringAuthenticationOptions extends OnYourDataAuthenticationOptionsParent {
/** The authentication type of connection string. */
type: "connection_string";
/** The connection string to use for authentication. */
connection_string: string;
}
/**
* The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based
* on an internal embeddings model deployment name in the same Azure OpenAI resource.
*/
export declare interface OnYourDataDeploymentNameVectorizationSource extends OnYourDataVectorizationSourceParent {
/** The type of vectorization source to use. Always 'deployment_name' for this type. */
type: "deployment_name";
/** The embedding model deployment name within the same Azure OpenAI resource. This enables you to use vector search without Azure OpenAI api-key and without Azure OpenAI public network access. */
deployment_name: string;
}
/**
* The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based
* on a public Azure OpenAI endpoint call for embeddings.
*/
export declare interface OnYourDataEndpointVectorizationSource extends OnYourDataVectorizationSourceParent {
/** The type of vectorization source to use. Always 'endpoint' for this type. */
type: "endpoint";
/** Specifies the resource endpoint URL from which embeddings should be retrieved. It should be in the format of https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. The api-version query parameter is not allowed. */
endpoint: string;
/** Specifies the authentication options to use when retrieving embeddings from the specified endpoint. */
authentication: OnYourDataApiKeyAuthenticationOptions;
}
/** The authentication options for Azure OpenAI On Your Data when using a system-assigned managed identity. */
export declare interface OnYourDataSystemAssignedManagedIdentityAuthenticationOptions extends OnYourDataAuthenticationOptionsParent {
/** The authentication type of system-assigned managed identity. */
type: "system_assigned_managed_identity";
}
/** The authentication options for Azure OpenAI On Your Data when using a user-assigned managed identity. */
export declare interface OnYourDataUserAssignedManagedIdentityAuthenticationOptions extends OnYourDataAuthenticationOptionsParent {
/** The authentication type of user-assigned managed identity. */
type: "user_assigned_managed_identity";
/** The resource ID of the user-assigned managed identity to use for authentication. */
managed_identity_resource_id: string;
}
/** An abstract representation of a vectorization source for Azure OpenAI On Your Data with vector search. */
export declare type OnYourDataVectorizationSource = OnYourDataVectorizationSourceParent | OnYourDataEndpointVectorizationSource | OnYourDataDeploymentNameVectorizationSource;
/** An abstract representation of a vectorization source for Azure OpenAI On Your Data with vector search. */
export declare interface OnYourDataVectorizationSourceParent {
/** The authentication type. */
type: string;
}
export { }