Zdroj dat – Azure AI Search
Konfigurovatelné možnosti služby Azure AI Search při použití Azure OpenAI ve vašich datech Tento zdroj dat je podporován ve verzi 2024-02-01
rozhraní API .
Name | Type | Požadováno | Popis |
---|---|---|---|
parameters |
Parametry | True | Parametry, které se mají použít při konfiguraci služby Azure Search. |
type |
string | True | Musí být azure_search . |
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
endpoint |
string | True | Absolutní cesta ke koncovému bodu pro prostředek Azure Search, který se má použít. |
index_name |
string | True | Název indexu, který se má použít v odkazovaném prostředku služby Azure Search. |
authentication |
Jeden z ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions, onYourDataAccessTokenAuthenticationOptions | True | Metoda ověřování, která se má použít při přístupu k definovanému zdroji dat. |
embedding_dependency |
Jeden z DeploymentNameVectorizationSource, EndpointVectorizationSource | False | Závislost vkládání pro vektorové vyhledávání. Požadováno, pokud query_type je vector , vector_simple_hybrid nebo vector_semantic_hybrid . |
fields_mapping |
FieldsMappingOptions | False | Přizpůsobené chování mapování polí, které se má použít při interakci s indexem vyhledávání. |
filter |
string | False | Filtr hledání. |
in_scope |
boolean | False | Určuje, jestli se dotazy mají omezit na použití indexovaných dat. Výchozí hodnota je True . |
query_type |
QueryType | False | Typ dotazu, který se má použít se službou Azure Search. Výchozí hodnota je simple |
role_information |
string | False | Poskytněte modelu pokyny, jak by se měl chovat, a jakýkoli kontext, na který by měl odkazovat při generování odpovědi. Můžete popsat osobnost asistenta a říct jí, jak formátovat odpovědi. |
semantic_configuration |
string | False | Sémantická konfigurace dotazu. Vyžaduje se, pokud query_type je semantic nebo vector_semantic_hybrid . |
strictness |
integer | False | Nakonfigurovaná striktnost filtrování relevance vyhledávání. Čím vyšší je striktnost, tím vyšší přesnost, ale nižší úplnost odpovědi. Výchozí hodnota je 3 . |
top_n_documents |
integer | False | Nakonfigurovaný nejvyšší počet dokumentů, které se mají použít pro nakonfigurovaný dotaz. Výchozí hodnota je 5 . |
max_search_queries |
integer | False | Maximální počet přepsaných dotazů by měl být odeslán poskytovateli vyhledávání pro jednu zprávu uživatele. Pokud není zadaný, systém rozhodne počet dotazů, které se mají odeslat. |
allow_partial_result |
integer | False | Pokud je zadána hodnota true, systém povolí použití částečných výsledků hledání a požadavek selže, pokud všechny dotazy selžou. Pokud není zadaný nebo zadaný jako false, požadavek selže, pokud některý vyhledávací dotaz selže. |
include_contexts |
pole | False | Zahrnuté vlastnosti výstupního kontextu. Pokud není zadána, výchozí hodnota je citations a intent . Hodnoty mohou být citations ,intent , all_retrieved_documents . |
Možnosti ověřování klíčů rozhraní API
Možnosti ověřování pro Azure OpenAI Ve vašich datech při použití klíče rozhraní API
Name | Type | Požadováno | Popis |
---|---|---|---|
key |
string | True | Klíč rozhraní API, který se má použít k ověřování. |
type |
string | True | Musí být api_key . |
Možnosti ověřování spravované identity přiřazené systémem
Možnosti ověřování pro Azure OpenAI Ve vašich datech při použití spravované identity přiřazené systémem
Name | Type | Požadováno | Popis |
---|---|---|---|
type |
string | True | Musí být system_assigned_managed_identity . |
Možnosti ověřování spravované identity přiřazené uživatelem
Možnosti ověřování pro Azure OpenAI Ve vašich datech při použití spravované identity přiřazené uživatelem.
Name | Type | Požadováno | Popis |
---|---|---|---|
managed_identity_resource_id |
string | True | ID prostředku spravované identity přiřazené uživatelem, které se má použít k ověřování. |
type |
string | True | Musí být user_assigned_managed_identity . |
Možnosti ověřování přístupového tokenu
Možnosti ověřování pro Azure OpenAI Ve vašich datech při použití přístupového tokenu.
Name | Type | Požadováno | Popis |
---|---|---|---|
access_token |
string | True | Přístupový token, který se má použít k ověřování. |
type |
string | True | Musí být access_token . |
Zdroj vektorizace názvu nasazení
Podrobnosti o vektorizačním zdroji, který používá Azure OpenAI ve vašich datech při použití vektorového vyhledávání. Tento zdroj vektorizace je založený na interním názvu nasazení modelu vkládání ve stejném prostředku Azure OpenAI. Tento zdroj vektorizace umožňuje používat vektorové vyhledávání bez klíče api-key Azure OpenAI a bez přístupu k veřejné síti Azure OpenAI.
Name | Type | Požadováno | Popis |
---|---|---|---|
deployment_name |
string | True | Název nasazení modelu vložení v rámci stejného prostředku Azure OpenAI. |
type |
string | True | Musí být deployment_name . |
dimensions |
integer | False | Počet dimenzí, které by měly mít vložené hodnoty. Podporováno pouze v text-embedding-3 novějších modelech. |
Zdroj vektorizace koncového bodu
Podrobnosti o vektorizačním zdroji, který používá Azure OpenAI ve vašich datech při použití vektorového vyhledávání. Tento zdroj vektorizace je založený na koncovém bodu rozhraní API pro vkládání Azure OpenAI.
Name | Type | Požadováno | Popis |
---|---|---|---|
endpoint |
string | True | Určuje adresu URL koncového bodu prostředku, ze které se mají načíst vkládání. Měl by být ve formátu https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings . Parametr dotazu api-version není povolený. |
authentication |
ApiKeyAuthenticationOptions | True | Určuje možnosti ověřování, které se mají použít při načítání vkládání ze zadaného koncového bodu. |
type |
string | True | Musí být endpoint . |
dimensions |
integer | False | Počet dimenzí, které by měly mít vložené hodnoty. Podporováno pouze v text-embedding-3 novějších modelech. |
Možnosti mapování polí
Volitelná nastavení pro řízení způsobu zpracování polí při použití nakonfigurovaného prostředku Služby Azure Search
Name | Type | Požadováno | Popis |
---|---|---|---|
content_fields |
string[] | False | Názvy polí indexu, která by se měla považovat za obsah. |
vector_fields |
string[] | False | Názvy polí, která představují vektorová data. |
content_fields_separator |
string | False | Vzor oddělovače, který mají pole obsahu používat. Výchozí hodnota je \n . |
filepath_field |
string | False | Název pole indexu, které se má použít jako cesta k souboru. |
title_field |
string | False | Název pole indexu, které se má použít jako název. |
url_field |
string | False | Název pole indexu, které se má použít jako adresa URL. |
Typ dotazu
Typ vyhledávacího dotazu Služby Azure Search, který by se měl spustit při použití jako Azure OpenAI ve vašich datech.
Výčtová hodnota | Popis |
---|---|
simple |
Představuje výchozí jednoduchý analyzátor dotazů. |
semantic |
Představuje sémantický analyzátor dotazů pro pokročilé sémantické modelování. |
vector |
Představuje vektorové vyhledávání vypočítaných dat. |
vector_simple_hybrid |
Představuje kombinaci jednoduché strategie dotazu s vektorovými daty. |
vector_semantic_hybrid |
Představuje kombinaci sémantického vyhledávání a dotazování vektorových dat. |
Příklady
Požadavky:
- Nakonfigurujte přiřazení rolí ze systému Azure OpenAI přiřazené spravované identitě ke službě Azure Search. Požadované role:
Search Index Data Reader
,Search Service Contributor
. - Nakonfigurujte přiřazení rolí od uživatele k prostředku Azure OpenAI. Požadovaná role:
Cognitive Services OpenAI User
. - Nainstalujte Az CLI a spusťte
az login
příkaz . - Definujte následující proměnné prostředí:
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
Nainstalujte nejnovější balíčky openai
pip , 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))