Source de données – Azure Cosmos DB for MongoDB vCore
Options configurables du cœur virtuel Azure Cosmos DB for MongoDB 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 | Les paramètres à utiliser lors de la configuration vCore Azure Cosmos DB for MongoDB. |
type |
string | True | Doit être azure_cosmos_db . |
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
database_name |
string | True | Le nom de la base de données du cœur virtuel MongoDB à utiliser avec Azure Cosmos DB. |
container_name |
string | True | Le nom du conteneur de ressource SQL Azure Cosmos DB. |
index_name |
string | True | Le nom de l’index du cœur virtuel MongoDB à utiliser avec Azure Cosmos DB. |
fields_mapping |
FieldsMappingOptions | True | Comportement de mappage de champs personnalisé à utiliser lors de l’interaction avec l’index de recherche. |
authentication |
ConnectionStringAuthenticationOptions | True | Méthode d’authentification à utiliser lors de l’accès à la source de données définie. |
embedding_dependency |
Un des DeploymentNameVectorizationSource, EndpointVectorizationSource | True | Dépendance d’incorporation pour la recherche vectorielle. |
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 . |
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, lui dire ce qu’il doit et ne doit pas répondre, et lui indiquer comment formater les réponses. |
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 . |
Options d’authentification par chaîne de connexion
Options d’authentification pour Azure OpenAI sur vos données lors de l’utilisation d’une chaîne de connexion.
Nom | Type | Requise | Description |
---|---|---|---|
connection_string |
string | True | La chaîne de connexion à utiliser pour l’authentification. |
type |
string | True | Doit être connection_string . |
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 . |
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 . |
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 . |
Options de mappage de champs
Paramètres permettant de contrôler le traitement des champs.
Nom | Type | Requise | Description |
---|---|---|---|
content_fields |
string[] | True | Les noms des champs d’index qui doivent être traités comme du contenu. |
vector_fields |
string[] | True | 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. |
Exemples
Configuration requise :
- 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
,ConnectionString
,Database
,Container
,Index
,EmbeddingDeploymentName
.
Remarque
Ce qui suit est fourni à titre d’exemple uniquement. Si vous utilisez une chaîne de connexion, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export ConnectionString='<db-connection-string>'
export Database=testdb
export Container=testcontainer
export Index=testindex
export EmbeddingDeploymentName=ada
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")
connection_string = os.environ.get("ConnectionString")
database = os.environ.get("Database")
container = os.environ.get("Container")
index = os.environ.get("Index")
embedding_deployment_name = os.environ.get("EmbeddingDeploymentName")
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_cosmos_db",
"parameters": {
"authentication": {
"type": "connection_string",
"connection_string": connection_string
},
"database_name": database,
"container_name": container,
"index_name": index,
"fields_mapping": {
"content_fields": [
"content"
],
"vector_fields": [
"contentvector"
]
},
"embedding_dependency": {
"type": "deployment_name",
"deployment_name": embedding_deployment_name
}
}
}
],
}
)
print(completion.model_dump_json(indent=2))