Share via


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_searchlauten.

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 Eine von ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions 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_typevector, 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_typesemantic 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.

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_keylauten.

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_identitylauten.

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_identitylauten.

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_namelauten.

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 endpointlauten.

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))