Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
De konfigurerbara alternativen för Elasticsearch när du använder Azure OpenAI på dina data. Den här datakällan stöds från och med API-versionen 2024-02-15-preview.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
parameters |
Parametrar | Sann | De parametrar som ska användas när elasticsearch konfigureras. |
type |
snöre | Sann | Måste vara elasticsearch. |
Parameterar
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
endpoint |
snöre | Sann | Den absoluta slutpunktssökvägen som Elasticsearch-resursen ska använda. |
index_name |
snöre | Sann | Namnet på indexet som ska användas i den refererade Elasticsearch. |
authentication |
En av KeyAndKeyIdAuthenticationOptions, EncodedApiKeyAuthenticationOptions | Sann | Den autentiseringsmetod som ska användas vid åtkomst till den definierade datakällan. |
embedding_dependency |
En av DeploymentNameVectorizationSource, EndpointVectorizationSource, ModelIdVectorizationSource | Falsk | Inbäddningsberoendet för vektorsökning. Krävs när query_type är vector. |
fields_mapping |
FieldsMappingOptions | Falsk | Anpassat fältmappningsbeteende som ska användas när du interagerar med sökindexet. |
in_scope |
booleskt | Falsk | Om frågor ska begränsas till användning av indexerade data. Standard är True. |
query_type |
QueryType | Falsk | Frågetypen som ska användas med Elasticsearch. Standardvärdet är simple |
role_information |
snöre | Falsk | Ge modellinstruktionerna om hur den ska bete sig och vilken kontext den ska referera till när du genererar ett svar. Du kan beskriva assistentens personlighet och berätta hur du formaterar svar. |
strictness |
integer | Falsk | Den konfigurerade strängheten för sökrelevansfiltreringen. Ju högre strikthet, desto högre precision men lägre återkallande av svaret. Standard är 3. |
top_n_documents |
integer | Falsk | Det konfigurerade högsta antalet dokument som ska användas för den konfigurerade frågan. Standard är 5. |
Autentiseringsalternativ
Azure OpenAI På dina data stöder flera autentiseringstyper:
Autentiseringsalternativ för nyckel- och nyckel-ID
Autentiseringsalternativen för Azure OpenAI På dina data när du använder en API-nyckel.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
key |
snöre | Sann | Elasticsearch-nyckeln som ska användas för autentisering. |
key_id |
snöre | Sann | Elasticsearch-nyckel-ID:t som ska användas för autentisering. |
type |
snöre | Sann | Måste vara key_and_key_id. |
Autentiseringsalternativ för kodad API-nyckel
Autentiseringsalternativen för Azure OpenAI På dina data när du använder en Elasticsearch-kodad API-nyckel.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
encoded_api_key |
snöre | Sann | Elasticsearch-kodad API-nyckel som ska användas för autentisering. |
type |
snöre | Sann | Måste vara encoded_api_key. |
Distributionsnamnvektoriseringskälla
Information om vektoriseringskällan som används av Azure OpenAI På dina data när du tillämpar vektorsökning. Den här vektoriseringskällan baseras på ett internt distributionsnamn för inbäddningsmodellen i samma Azure OpenAI-resurs. Med den här vektoriseringskällan kan du använda vektorsökning utan Api-nyckel för Azure OpenAI och utan offentlig nätverksåtkomst i Azure OpenAI.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
deployment_name |
snöre | Sann | Distributionsnamnet för inbäddningsmodellen i samma Azure OpenAI-resurs. |
type |
snöre | Sann | Måste vara deployment_name. |
Slutpunktsvektoriseringskälla
Information om vektoriseringskällan som används av Azure OpenAI På dina data när du tillämpar vektorsökning. Den här vektoriseringskällan baseras på Azure OpenAI-inbäddnings-API-slutpunkten.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
endpoint |
snöre | Sann | Anger resursslutpunkts-URL:en som inbäddningar ska hämtas från. Den ska vara i formatet https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. Frågeparametern api-version är inte tillåten. |
authentication |
ApiKeyAuthenticationOptions | Sann | Anger de autentiseringsalternativ som ska användas vid hämtning av inbäddningar från den angivna slutpunkten. |
type |
snöre | Sann | Måste vara endpoint. |
Alternativ för API-nyckelautentisering
Autentiseringsalternativen för Azure OpenAI På dina data när du använder en API-nyckel.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
key |
snöre | Sann | API-nyckeln som ska användas för autentisering. |
type |
snöre | Sann | Måste vara api_key. |
Modell-ID-vektoriseringskälla
Information om vektoriseringskällan som används av Azure OpenAI På dina data när du tillämpar vektorsökning. Den här vektoriseringskällan baseras på Elasticsearch-modell-ID.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
model_id |
snöre | Sann | Anger det modell-ID som ska användas för vektorisering. Det här modell-ID:t måste definieras i Elasticsearch. |
type |
snöre | Sann | Måste vara model_id. |
Mappningsalternativ för fält
Valfria inställningar för att styra hur fält bearbetas när du använder en konfigurerad Elasticsearch-resurs.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
content_fields |
sträng[] | Falsk | Namnen på indexfält som ska behandlas som innehåll. |
vector_fields |
sträng[] | Falsk | Namnen på fält som representerar vektordata. |
content_fields_separator |
snöre | Falsk | Det avgränsarmönster som innehållsfält ska använda. Standard är \n. |
filepath_field |
snöre | Falsk | Namnet på det indexfält som ska användas som en filsökväg. |
title_field |
snöre | Falsk | Namnet på det indexfält som ska användas som rubrik. |
url_field |
snöre | Falsk | Namnet på det indexfält som ska användas som en URL. |
Frågetyp
Den typ av Elasticsearch-hämtningsfråga som ska köras när du använder den med Azure OpenAI På dina data.
| Uppräkningsvärde | Beskrivning |
|---|---|
simple |
Representerar standard, enkel frågeparser. |
vector |
Representerar vektorsökning över beräknade data. |
Exempel
Förutsättningar:
- Konfigurera rolltilldelningarna från användaren till Azure OpenAI-resursen. Obligatorisk roll:
Cognitive Services OpenAI User. - Installera Az CLI och kör
az login. - Definiera följande miljövariabler:
AzureOpenAIEndpoint,ChatCompletionsDeploymentName,SearchEndpoint,IndexName, ,Key.KeyId
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint='https://example.eastus.azurecontainer.io'
export IndexName=testindex
export Key='***'
export KeyId='***'
Installera de senaste pip-paketen 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")
index_name = os.environ.get("IndexName")
search_endpoint = os.environ.get("SearchEndpoint")
key = os.environ.get("Key")
key_id = os.environ.get("KeyId")
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-15-preview",
)
completion = client.chat.completions.create(
model=deployment,
messages=[
{
"role": "user",
"content": "Who is DRI?",
},
],
extra_body={
"data_sources": [
{
"type": "elasticsearch",
"parameters": {
"endpoint": search_endpoint,
"index_name": index_name,
"authentication": {
"type": "key_and_key_id",
"key": key,
"key_id": key_id
}
}
}
]
}
)
print(completion.model_dump_json(indent=2))