Source de données – Recherche Azure AI
Options configurables pour de la Recherche Azure AI lors de l’utilisation d’Azure OpenAI Sur vos données. Cette source de données est prise en charge dans la version de l’API 2024-02-01
.
Nom | Type | Requise | Description |
---|---|---|---|
parameters |
Paramètres | True | Paramètres à utiliser lors de la configuration de Recherche cognitive Azure. |
type |
string | True | Doit être azure_search . |
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
endpoint |
string | True | Chemin d’accès du point de terminaison absolu de la ressource Recherche cognitive Azure à utiliser. |
index_name |
string | True | Nom de l’index à utiliser dans la ressource Recherche cognitive Azure référencée. |
authentication |
Une des options suivantes : ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions, onYourDataAccessTokenAuthenticationOptions | True | Méthode d’authentification à utiliser lors de l’accès à la source de données définie. |
embedding_dependency |
Un des DeploymentNameVectorizationSource, EndpointVectorizationSource | False | Dépendance d’incorporation pour la recherche vectorielle. Obligatoire quand query_type est vector , vector_simple_hybrid ou vector_semantic_hybrid . |
fields_mapping |
FieldsMappingOptions | False | Comportement de mappage de champs personnalisé à utiliser lors de l’interaction avec l’index de recherche. |
filter |
string | False | Filtre de recherche. |
in_scope |
booléen | False | Indique si les requêtes doivent être limitées à l’utilisation de données indexées. La valeur par défaut est True . |
query_type |
QueryType | False | Type de requête à utiliser avec la Recherche cognitive Azure. La valeur par défaut est simple |
role_information |
string | False | Fournissez au modèle des instructions sur son comportement et sur tout contexte qu’il doit référencer en générant une réponse. Vous pouvez décrire la personnalité de l’assistant et lui indiquer comment mettre en forme les réponses. |
semantic_configuration |
string | False | La configuration sémantique de la requête. Obligatoire quand query_type est semantic ou vector_semantic_hybrid . |
strictness |
entier | False | La rigueur configurée du filtrage de pertinence de la recherche. Plus la rigueur est élevée, plus la précision est élevée, mais plus faible sera le rappel de la réponse. La valeur par défaut est 3 . |
top_n_documents |
entier | False | Le nombre maximal de documents à proposer pour la requête configurée. La valeur par défaut est 5 . |
max_search_queries |
entier | False | Le nombre maximal de requêtes réécrites doit être envoyé au fournisseur de recherche pour un message utilisateur. S’il n’est pas spécifié, le système décide du nombre de requêtes à envoyer. |
allow_partial_result |
entier | False | Si la valeur est true, le système autorise l’utilisation des résultats partiels de la recherche et la demande échoue si toutes les requêtes échouent. Si la valeur n’est pas spécifiée ou si elle est false, la requête échoue si une requête de recherche échoue. |
include_contexts |
tableau | False | Les propriétés incluses du contexte de sortie. Si elle n’est pas spécifiée, la valeur par défaut est citations et intent . Les valeurs peuvent être les suivantes : citations , intent , all_retrieved_documents . |
Options d’authentification par clé API
Options d’authentification pour Azure OpenAI sur vos données lors de l’utilisation d’une clé API.
Nom | Type | Requise | Description |
---|---|---|---|
key |
string | True | Clé API à utiliser pour l’authentification. |
type |
string | True | Doit être api_key . |
Les options d’authentification via une identité managée affectée par le système
Les options d’authentification pour Azure OpenAI sur vos données lors de l’utilisation d’une identité managée affectée par le système.
Nom | Type | Requise | Description |
---|---|---|---|
type |
string | True | Doit être system_assigned_managed_identity . |
Les options d’authentification via une identité managée affectée par l’utilisateur
Les options d’authentification pour Azure OpenAI sur vos données lors de l’utilisation d’une identité managée affectée par l’utilisateur.
Nom | Type | Requise | Description |
---|---|---|---|
managed_identity_resource_id |
string | True | ID de ressource de l’identité managée affectée par l’utilisateur à utiliser pour l’authentification. |
type |
string | True | Doit être user_assigned_managed_identity . |
Options d’authentification par jeton d’accès
Options d’authentification pour Azure OpenAI sur vos données lors de l’utilisation d’un jeton d’accès.
Nom | Type | Requise | Description |
---|---|---|---|
access_token |
string | True | Le jeton d’accès à utiliser pour l’authentification. |
type |
string | True | Doit être access_token . |
Source de vectorisation du nom de déploiement
Détails de la source de vectorisation, utilisée par Azure OpenAI sur vos données lors de l’application de la recherche vectorielle. Cette source de vectorisation est basée sur un nom de déploiement de modèle d’incorporation interne dans la même ressource Azure OpenAI. Cette source de vectorisation vous permet d’utiliser la recherche vectorielle sans clé API Azure OpenAI et sans accès au réseau public Azure OpenAI.
Nom | Type | Requise | Description |
---|---|---|---|
deployment_name |
string | True | Nom de déploiement du modèle d’incorporation dans la même ressource Azure OpenAI. |
type |
string | True | Doit être deployment_name . |
dimensions |
entier | False | Le nombre de dimensions que les incorporations doivent avoir. Uniquement pris en charge dans les modèles text-embedding-3 et ultérieurs. |
Source de vectorisation du point de terminaison
Détails de la source de vectorisation, utilisée par Azure OpenAI sur vos données lors de l’application de la recherche vectorielle. Cette source de vectorisation est basée sur le point de terminaison de l'API d'intégration Azure OpenAI.
Nom | Type | Requise | Description |
---|---|---|---|
endpoint |
string | True | Spécifie l'URL du point de terminaison de la ressource à partir duquel les éléments intégrés doivent être récupérés. Il doit être au format https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings . Le paramètre de requête api-version n’est pas autorisée. |
authentication |
ApiKeyAuthenticationOptions | True | Spécifie les options d'authentification à utiliser lors de la récupération d'incorporations à partir du point de terminaison spécifié. |
type |
string | True | Doit être endpoint . |
dimensions |
entier | False | Le nombre de dimensions que les incorporations doivent avoir. Uniquement pris en charge dans les modèles text-embedding-3 et ultérieurs. |
Options de mappage de champs
Paramètres facultatifs permettant de contrôler le traitement des champs lors de l'utilisation d'une ressource Azure Search configurée.
Nom | Type | Requise | Description |
---|---|---|---|
content_fields |
string[] | False | Les noms des champs d’index qui doivent être traités comme du contenu. |
vector_fields |
string[] | False | Noms de champs qui représentent des données vectorielles. |
content_fields_separator |
string | False | Le modèle de séparation que les champs de contenu doivent utiliser. La valeur par défaut est \n . |
filepath_field |
string | False | Le nom du champ d’index à utiliser comme chemin d’accès au fichier. |
title_field |
string | False | Nom du champ d’index à utiliser comme titre. |
url_field |
string | False | Nom du champ d’index à utiliser comme URL. |
Type de requête
Le type de requête de recherche Azure Search qui doit être exécutée lorsqu'elle est utilisée en tant que Azure OpenAI On Your Data.
Valeur Enum | Description |
---|---|
simple |
Représente l'analyseur de requêtes simple par défaut. |
semantic |
Représente l'analyseur de requêtes sémantiques pour la modélisation sémantique avancée. |
vector |
Représente la recherche vectorielle sur des données calculées. |
vector_simple_hybrid |
Représente une combinaison de la stratégie d'interrogation simple avec des données vectorielles. |
vector_semantic_hybrid |
Représente une combinaison de recherche sémantique et d'interrogation de données vectorielles. |
Exemples
Configuration requise :
- Configurez les attributions de rôles à partir de l’identité managée affectée par le système Azure OpenAI vers le service Recherche Azure. Rôles nécessaires :
Search Index Data Reader
,Search Service Contributor
. - Configurez les attributions de rôles de l’utilisateur vers la ressource Azure OpenAI. Rôle nécessaire :
Cognitive Services OpenAI User
. - Installez Az CLI et exécutez
az login
. - Définissez les variables d’environnement suivantes :
AzureOpenAIEndpoint
,ChatCompletionsDeploymentName
,SearchEndpoint
,SearchIndex
.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint=https://example.search.windows.net
export SearchIndex=example-index
Installez le dernier package pip openai
, azure-identity
.
import os
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
endpoint = os.environ.get("AzureOpenAIEndpoint")
deployment = os.environ.get("ChatCompletionsDeploymentName")
search_endpoint = os.environ.get("SearchEndpoint")
search_index = os.environ.get("SearchIndex")
token_provider = get_bearer_token_provider(DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default")
client = AzureOpenAI(
azure_endpoint=endpoint,
azure_ad_token_provider=token_provider,
api_version="2024-02-01",
)
completion = client.chat.completions.create(
model=deployment,
messages=[
{
"role": "user",
"content": "Who is DRI?",
},
],
extra_body={
"data_sources": [
{
"type": "azure_search",
"parameters": {
"endpoint": search_endpoint,
"index_name": search_index,
"authentication": {
"type": "system_assigned_managed_identity"
}
}
}
]
}
)
print(completion.model_dump_json(indent=2))