Datenquelle – Azure Cosmos DB für MongoDB vCore
Die konfigurierbaren Optionen von Azure Cosmos DB for MongoDB vCore bei Verwendung von Azure OpenAI On Your Data Diese Datenquelle wird in der API-Version 2024-02-01
unterstützt.
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
parameters |
Parameter | True | Die Parameter, die beim Konfigurieren von Azure Cosmos DB for MongoDB vCore verwendet werden sollen |
type |
Zeichenfolge | True | Muss azure_cosmos_db lauten. |
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
database_name |
Zeichenfolge | True | Der Name der MongoDB vCore-Datenbank, die mit Azure Cosmos DB verwendet werden soll |
container_name |
Zeichenfolge | True | Der Name des Azure Cosmos DB-Ressourcencontainers |
index_name |
Zeichenfolge | True | Der Name des MongoDB vCore-Index, der mit Azure Cosmos DB verwendet werden soll |
fields_mapping |
FieldsMappingOptions | True | Angepasstes Feldzuordnungsverhalten, das beim Interagieren mit dem Suchindex verwendet werden soll |
authentication |
ConnectionStringAuthenticationOptions | True | Die Authentifizierungsmethode, die beim Zugriff auf die definierte Datenquelle verwendet werden soll. |
embedding_dependency |
Entweder DeploymentNameVectorizationSource oder EndpointVectorizationSource | True | Die Einbettungsabhängigkeit für die Vektorsuche |
in_scope |
boolean | False | Gibt an, ob Abfragen auf die Verwendung von indizierten Daten beschränkt werden sollen. Der Standardwert ist True . |
role_information |
Zeichenfolge | False | Gibt dem Modell Anweisungen dazu, wie es sich verhalten soll und auf welchen Kontext es beim Generieren einer Antwort verweisen soll. Sie können die Persönlichkeit des Assistenten beschreiben und ihm mitteilen, wie Antworten formatiert werden sollen. |
strictness |
integer | False | Die konfigurierte Strenge der Suchrelevanzfilterung. Je höher die Strenge, desto höher der Genauigkeit, aber desto der niedrigerer Antwortabruf. Der Standardwert ist 3 . |
top_n_documents |
integer | False | Die konfigurierte maximale Anzahl von Dokumenten, die für die konfigurierte Abfrage bereitgestellt werden sollen. Der Standardwert ist 5 . |
Authentifizierungsoptionen mit Verbindungszeichenfolgen
Die Authentifizierungsoptionen für Azure OpenAI On Your Data bei Verwendung einer Verbindungszeichenfolge
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
connection_string |
Zeichenfolge | True | Die Verbindungszeichenfolge für die Authentifizierung |
type |
Zeichenfolge | True | Muss connection_string lauten. |
Quelle für die Bereitstellungsnamenvektorisierung
Die Details der Vektorisierungsquelle, die von Azure OpenAI On Your Data beim Anwenden der Vektorsuche verwendet wird. Diese Vektorisierungsquelle basiert auf einem internen Namen der Einbettung der Modellimplementierung in derselben Azure OpenAI-Ressource. Mit dieser Vektorisierungsquelle können Sie die Vektorsuche ohne Azure OpenAI-API-Schlüssel und ohne öffentlichen Azure OpenAI-Netzwerkzugriff verwenden.
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
deployment_name |
Zeichenfolge | True | Der Name der Einbettung der Modellimplementierung innerhalb derselben Azure OpenAI-Ressource. |
type |
Zeichenfolge | True | Muss deployment_name lauten. |
Endpunktvektorisierungsquelle
Die Details der Vektorisierungsquelle, die von Azure OpenAI On Your Data beim Anwenden der Vektorsuche verwendet wird. Diese Vektorisierungsquelle basiert auf dem Azure OpenAI-API-Endpunkt zur Einbettung.
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
endpoint |
Zeichenfolge | True | Gibt die Ressourcenendpunkt-URL an, aus der Einbettungen abgerufen werden sollen. Sie sollte im Format https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings sein. Der Abfrageparameter der API-Version ist nicht zulässig. |
authentication |
ApiKeyAuthenticationOptions | True | Gibt die Authentifizierungsoptionen an, die beim Abrufen von Einbettungen vom angegebenen Endpunkt verwendet werden sollen. |
type |
Zeichenfolge | True | Muss endpoint lauten. |
API-Schlüsselauthentifizierungsoptionen
Die Authentifizierungsoptionen für Azure OpenAI On Your Data bei Verwendung eines API-Schlüssels.
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
key |
Zeichenfolge | True | Der für die Authentifizierung zu verwendende API-Schlüssel. |
type |
Zeichenfolge | True | Muss api_key lauten. |
Feldzuordnungsoptionen
Die Einstellungen zum Steuern der Verarbeitung von Feldern.
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
content_fields |
string[] | True | Die Namen von Indexfeldern, die als Inhalt behandelt werden sollen. |
vector_fields |
string[] | True | Die Namen von Feldern, die Vektordaten darstellen. |
content_fields_separator |
Zeichenfolge | False | Das Trennmuster, das Inhaltsfelder verwenden sollen. Der Standardwert ist \n . |
filepath_field |
Zeichenfolge | False | Der Name des Indexfelds, das als Dateipfad verwendet werden soll. |
title_field |
Zeichenfolge | False | Der Name des Indexfelds, das als Titel verwendet werden soll |
url_field |
Zeichenfolge | False | Der Name des Indexfelds, das als URL verwendet werden soll |
Beispiele
Voraussetzungen:
- Konfigurieren Sie die Rollenzuweisungen vom Benutzer zur Azure OpenAI-Ressource. Erforderliche Rolle:
Cognitive Services OpenAI User
. - Installieren Sie Az CLI und führen Sie
az login
aus. - Definieren Sie die folgenden Umgebungsvariablen:
AzureOpenAIEndpoint
,ChatCompletionsDeploymentName
,ConnectionString
,Database
,Container
,Index
,EmbeddingDeploymentName
.
Hinweis
Der folgende Code dienst lediglich als Beispiel. Wenn Sie eine Verbindungszeichenfolge verwenden, speichern Sie sie an einer anderen Stelle sicher, z. B. in Azure Key Vault. Fügen Sie den API-Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich zugänglich.
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
Installieren Sie die neuesten pip-Pakete 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))