Datenquelle – Azure KI-Suche
Die konfigurierbaren Optionen von Azure KI-Suche bei Verwendung von Azure OpenAI auf Ihren Daten. 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 Search verwendet werden sollen. |
type |
Zeichenfolge | True | Muss azure_search lauten. |
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
endpoint |
Zeichenfolge | True | Der absolute Endpunktpfad für die zu verwendende Azure Search-Ressource. |
index_name |
Zeichenfolge | True | Der Name des Indexes, der in der referenzierten Azure Search-Ressource verwendet werden soll. |
authentication |
Einer der folgenden: ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions oder onYourDataAccessTokenAuthenticationOptions | True | Die Authentifizierungsmethode, die beim Zugriff auf die definierte Datenquelle verwendet werden soll. |
embedding_dependency |
Eine von DeploymentNameVectorizationSource, EndpointVectorizationSource | False | Die Einbettungsabhängigkeit für die Vektorsuche Erforderlich, wenn query_type vector , vector_simple_hybrid oder vector_semantic_hybrid ist. |
fields_mapping |
FieldsMappingOptions | False | Angepasstes Feldzuordnungsverhalten, das beim Interagieren mit dem Suchindex verwendet werden soll. |
filter |
Zeichenfolge | False | Suchfilter. |
in_scope |
boolean | False | Gibt an, ob Abfragen auf die Verwendung von indizierten Daten beschränkt werden sollen. Der Standardwert ist True . |
query_type |
QueryType | False | Der Abfragetyp, der mit Azure Search verwendet werden soll. Der Standardwert ist simple |
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 ihnen mitteilen, wie Sie Antworten formatieren. |
semantic_configuration |
Zeichenfolge | False | Die semantische Konfiguration für die Abfrage. Erforderlich, wenn query_type semantic oder vector_semantic_hybrid ist. |
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 . |
max_search_queries |
integer | False | Die maximale Anzahl der umgeschriebenen Abfragen sollte für eine Benutzernachricht an den Suchanbieter gesendet werden. Falls nicht angegeben, entscheidet das System über die Anzahl der Abfragen, die gesendet werden sollen |
allow_partial_result |
integer | False | Wenn TRUE angegeben wird, lässt das System die Verwendung von partiellen Suchergebnissen zu, und die Anforderung schlägt fehl, wenn alle Abfragen fehlschlagen. Falls nicht oder als FALSE angegeben, schlägt die Anforderung fehl, wenn eine Suchabfrage fehlschlägt |
include_contexts |
array | False | Enthaltenen Eigenschaften des Ausgabekontexts. Falls nicht angegeben, lautet der Standardwert citations und intent . Die Werte können citations , intent oder all_retrieved_documents 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. |
Vom System zugewiesene Optionen für die Authentifizierung verwalteter Identitäten
Die Authentifizierungsoptionen für Azure OpenAI On Your Data bei Verwendung einer vom System zugewiesenen verwalteten Identität.
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
type |
Zeichenfolge | True | Muss system_assigned_managed_identity lauten. |
Vom Benutzer zugewiesene Optionen für die Authentifizierung verwalteter Identitäten
Die Authentifizierungsoptionen für Azure OpenAI On Your Data bei Verwendung einer vom Benutzer zugewiesenen verwalteten Identität.
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
managed_identity_resource_id |
Zeichenfolge | True | Die Ressourcen-ID der benutzerseitig zugewiesenen verwalteten Identität, die für die Authentifizierung verwendet werden soll. |
type |
Zeichenfolge | True | Muss user_assigned_managed_identity lauten. |
Authentifizierungsoption bei Zugriffstoken
Die Authentifizierungsoptionen für Azure OpenAI On Your Data bei Verwendung von Zugriffstoken
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
access_token |
Zeichenfolge | True | Das Zugriffstoken zur Verwendung bei der Authentifizierung |
type |
Zeichenfolge | True | Muss access_token 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. |
dimensions |
integer | False | Anzahl der Dimensionen, die die Einbettungen aufweisen sollten. Nur in text-embedding-3 und späteren Modellen unterstützt. |
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. |
dimensions |
integer | False | Anzahl der Dimensionen, die die Einbettungen aufweisen sollten. Nur in text-embedding-3 und späteren Modellen unterstützt. |
Feldzuordnungsoptionen
Optionale Einstellungen zum Steuern der Verarbeitung von Feldern bei Verwendung einer konfigurierten Azure Search-Ressource.
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
content_fields |
string[] | False | Die Namen von Indexfeldern, die als Inhalt behandelt werden sollen. |
vector_fields |
string[] | False | 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 |
Abfragetyp
Der Typ der Azure Search-Abrufabfrage, die bei Verwendung als Azure OpenAI On Your Data ausgeführt werden soll.
Enumerationswert | Beschreibung |
---|---|
simple |
Stellt den standardmäßigen einfachen Abfrageparser dar. |
semantic |
Stellt den Semantikabfrageparser für die erweiterte semantische Modellierung dar. |
vector |
Stellt die Vektorsuche über berechnete Daten dar. |
vector_simple_hybrid |
Stellt eine Kombination der einfachen Abfragestrategie mit Vektordaten dar. |
vector_semantic_hybrid |
Stellt eine Kombination aus semantischer Suche und Vektordatenabfrage dar. |
Beispiele
Voraussetzungen:
- Konfigurieren Sie die Rollenzuweisungen aus dem Azure OpenAI-System, dem der Azure-Suchdienst verwaltete Identität zugewiesen wurde. Erforderliche Rollen:
Search Index Data Reader
,Search Service Contributor
. - 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
,SearchEndpoint
,SearchIndex
.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint=https://example.search.windows.net
export SearchIndex=example-index
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")
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))