Gegevensbron - Azure AI Search
De configureerbare opties van Azure AI Search bij het gebruik van Azure OpenAI op uw gegevens. Deze gegevensbron wordt ondersteund in api-versie 2024-02-01
.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
parameters |
Parameters | Waar | De parameters die moeten worden gebruikt bij het configureren van Azure Search. |
type |
tekenreeks | Waar | Moet azure_search zijn. |
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
endpoint |
tekenreeks | Waar | Het absolute eindpuntpad voor de Azure Search-resource die moet worden gebruikt. |
index_name |
tekenreeks | Waar | De naam van de index die moet worden gebruikt in de Azure Search-resource waarnaar wordt verwezen. |
authentication |
Een van ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions, onYourDataAccessTokenAuthenticationOptions | Waar | De verificatiemethode die moet worden gebruikt bij het openen van de gedefinieerde gegevensbron. |
embedding_dependency |
Een van DeploymentNameVectorizationSource, EndpointVectorizationSource | Onwaar | De insluitingsafhankelijkheid voor vectorzoekopdrachten. Vereist wanneer query_type , vector vector_simple_hybrid of vector_semantic_hybrid . |
fields_mapping |
FieldsMappingOptions | Onwaar | Aangepast veldtoewijzingsgedrag dat moet worden gebruikt bij interactie met de zoekindex. |
filter |
tekenreeks | Onwaar | Zoekfilter. |
in_scope |
boolean | Onwaar | Of query's moeten worden beperkt tot het gebruik van geïndexeerde gegevens. Standaard is True . |
query_type |
QueryType | Onwaar | Het querytype dat moet worden gebruikt met Azure Search. Standaard is simple |
role_information |
tekenreeks | Onwaar | Geef het model instructies over hoe het zich moet gedragen en eventuele context waarnaar wordt verwezen bij het genereren van een antwoord. U kunt de persoonlijkheid van de assistent beschrijven en vertellen hoe u antwoorden kunt opmaken. |
semantic_configuration |
tekenreeks | Onwaar | De semantische configuratie voor de query. Vereist wanneer query_type of semantic vector_semantic_hybrid . |
strictness |
geheel getal | Onwaar | De geconfigureerde striktheid van het filteren op zoekrelevantie. Hoe strikter, hoe hoger de precisie, maar een lagere terugroeping van het antwoord. Standaard is 3 . |
top_n_documents |
geheel getal | Onwaar | Het geconfigureerde bovenste aantal documenten dat moet worden aanbevolen voor de geconfigureerde query. Standaard is 5 . |
max_search_queries |
geheel getal | Onwaar | Het maximum aantal herschreven query's moet worden verzonden naar de zoekprovider voor één gebruikersbericht. Als dit niet is opgegeven, bepaalt het systeem het aantal query's dat moet worden verzonden. |
allow_partial_result |
geheel getal | Onwaar | Als dit is opgegeven als waar, staat het systeem toe dat gedeeltelijke zoekresultaten worden gebruikt en mislukt de aanvraag als alle query's mislukken. Als deze niet is opgegeven of als onwaar is opgegeven, mislukt de aanvraag als een zoekquery mislukt. |
include_contexts |
matrix | Onwaar | De opgenomen eigenschappen van de uitvoercontext. Als dit niet is opgegeven, is de standaardwaarde en citations intent . Waarden kunnen citations ,intent , all_retrieved_documents zijn. |
Verificatieopties voor API-sleutels
De verificatieopties voor Azure OpenAI op uw gegevens wanneer u een API-sleutel gebruikt.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
key |
tekenreeks | Waar | De API-sleutel die moet worden gebruikt voor verificatie. |
type |
tekenreeks | Waar | Moet api_key zijn. |
Door het systeem toegewezen opties voor verificatie van beheerde identiteit
De verificatieopties voor Azure OpenAI op uw gegevens wanneer u een door het systeem toegewezen beheerde identiteit gebruikt.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
type |
tekenreeks | Waar | Moet system_assigned_managed_identity zijn. |
Door de gebruiker toegewezen opties voor verificatie van beheerde identiteiten
De verificatieopties voor Azure OpenAI op uw gegevens bij gebruik van een door de gebruiker toegewezen beheerde identiteit.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
managed_identity_resource_id |
tekenreeks | Waar | De resource-id van de door de gebruiker toegewezen beheerde identiteit die moet worden gebruikt voor verificatie. |
type |
tekenreeks | Waar | Moet user_assigned_managed_identity zijn. |
Verificatieopties voor toegangstokens
De verificatieopties voor Azure OpenAI Op uw gegevens bij gebruik van toegangstoken.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
access_token |
tekenreeks | Waar | Het toegangstoken dat moet worden gebruikt voor verificatie. |
type |
tekenreeks | Waar | Moet access_token zijn. |
Vectorisatiebron voor implementatienamen
De details van de vectorisatiebron die door Azure OpenAI op uw gegevens worden gebruikt bij het toepassen van vectorzoekopdrachten. Deze vectorisatiebron is gebaseerd op een interne naam voor de implementatie van het model voor insluitingen in dezelfde Azure OpenAI-resource. Met deze vectorisatiebron kunt u vectorzoekopdrachten gebruiken zonder Azure OpenAI API-sleutel en zonder toegang tot openbare Azure OpenAI-netwerken.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
deployment_name |
tekenreeks | Waar | De naam van de insluitmodelimplementatie binnen dezelfde Azure OpenAI-resource. |
type |
tekenreeks | Waar | Moet deployment_name zijn. |
dimensions |
geheel getal | Onwaar | Het aantal dimensies dat de insluitingen moeten hebben. Alleen ondersteund in text-embedding-3 en latere modellen. |
Eindpuntvectorisatiebron
De details van de vectorisatiebron die door Azure OpenAI op uw gegevens worden gebruikt bij het toepassen van vectorzoekopdrachten. Deze vectorisatiebron is gebaseerd op het Azure OpenAI-insluitings-API-eindpunt.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
endpoint |
tekenreeks | Waar | Hiermee geeft u de URL van het broneindpunt op waaruit insluitingen moeten worden opgehaald. Het moet de indeling hebben van https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings . De queryparameter api-versie is niet toegestaan. |
authentication |
ApiKeyAuthenticationOptions | Waar | Hiermee geeft u de verificatieopties die moeten worden gebruikt bij het ophalen van insluitingen vanaf het opgegeven eindpunt. |
type |
tekenreeks | Waar | Moet endpoint zijn. |
dimensions |
geheel getal | Onwaar | Het aantal dimensies dat de insluitingen moeten hebben. Alleen ondersteund in text-embedding-3 en latere modellen. |
Opties voor het toewijzen van velden
Optionele instellingen om te bepalen hoe velden worden verwerkt bij het gebruik van een geconfigureerde Azure Search-resource.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
content_fields |
tekenreeks[] | Onwaar | De namen van indexvelden die als inhoud moeten worden behandeld. |
vector_fields |
tekenreeks[] | Onwaar | De namen van velden die vectorgegevens vertegenwoordigen. |
content_fields_separator |
tekenreeks | Onwaar | Het scheidingsteken dat inhoudsvelden moeten gebruiken. Standaard is \n . |
filepath_field |
tekenreeks | Onwaar | De naam van het indexveld dat moet worden gebruikt als bestandspad. |
title_field |
tekenreeks | Onwaar | De naam van het indexveld dat moet worden gebruikt als titel. |
url_field |
tekenreeks | Onwaar | De naam van het indexveld dat moet worden gebruikt als URL. |
Querytype
Het type Azure Search-ophaalquery dat moet worden uitgevoerd wanneer u deze gebruikt als een Azure OpenAI op uw gegevens.
Opsommingswaarde | Beschrijving |
---|---|
simple |
Vertegenwoordigt de standaard, eenvoudige queryparser. |
semantic |
Vertegenwoordigt de semantische queryparser voor geavanceerde semantische modellering. |
vector |
Vertegenwoordigt vectorzoekopdrachten over berekende gegevens. |
vector_simple_hybrid |
Vertegenwoordigt een combinatie van de eenvoudige querystrategie met vectorgegevens. |
vector_semantic_hybrid |
Vertegenwoordigt een combinatie van semantische zoek- en vectorgegevensquery's. |
Voorbeelden
Vereisten:
- Configureer de roltoewijzingen van het Azure OpenAI-systeem dat aan de Azure Search-service is toegewezen. Vereiste rollen:
Search Index Data Reader
,Search Service Contributor
. - Configureer de roltoewijzingen van de gebruiker naar de Azure OpenAI-resource. Vereiste rol:
Cognitive Services OpenAI User
. - Installeer Az CLI en voer deze uit
az login
. - Definieer de volgende omgevingsvariabelen:
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
Installeer de nieuwste pip-pakketten 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))