Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De configureerbare opties voor Elasticsearch bij het gebruik van Azure OpenAI op uw gegevens. Deze gegevensbron wordt ondersteund vanaf de API-versie 2024-02-15-preview.
| Naam | Typologie | Verplicht | Beschrijving |
|---|---|---|---|
parameters |
Parameters | Klopt | De parameters die moeten worden gebruikt bij het configureren van Elasticsearch. |
type |
touw | Klopt | Moet elasticsearchzijn. |
Parameterwaarden
| Naam | Typologie | Verplicht | Beschrijving |
|---|---|---|---|
endpoint |
touw | Klopt | Het absolute eindpuntpad voor de Elasticsearch-resource die moet worden gebruikt. |
index_name |
touw | Klopt | De naam van de index die moet worden gebruikt in elasticsearch waarnaar wordt verwezen. |
authentication |
Een van KeyAndKeyIdAuthenticationOptions, EncodedApiKeyAuthenticationOptions | Klopt | De verificatiemethode die moet worden gebruikt bij het openen van de gedefinieerde gegevensbron. |
embedding_dependency |
Een van DeploymentNameVectorizationSource, EndpointVectorizationSource, ModelIdVectorizationSource | Onwaar | De insluitingsafhankelijkheid voor vectorzoekopdrachten. Vereist wanneer query_type is vector. |
fields_mapping |
FieldsMappingOptions | Onwaar | Aangepast veldtoewijzingsgedrag dat moet worden gebruikt bij interactie met de zoekindex. |
in_scope |
booleaan | Onwaar | Of query's moeten worden beperkt tot het gebruik van geïndexeerde gegevens. De standaardinstelling is True. |
query_type |
QueryType- | Onwaar | Het querytype dat moet worden gebruikt met Elasticsearch. De standaardwaarde is simple |
role_information |
touw | 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. |
strictness |
integer | Onwaar | De geconfigureerde striktheid van het filteren op zoekrelevantie. Hoe strikter, hoe hoger de precisie, maar een lagere terugroeping van het antwoord. De standaardinstelling is 3. |
top_n_documents |
integer | Onwaar | Het geconfigureerde bovenste aantal documenten dat moet worden aanbevolen voor de geconfigureerde query. De standaardinstelling is 5. |
Verificatieopties
Azure OpenAI op uw gegevens ondersteunt meerdere verificatietypen:
Verificatieopties voor sleutel- en sleutel-id's
De verificatieopties voor Azure OpenAI op uw gegevens wanneer u een API-sleutel gebruikt.
| Naam | Typologie | Verplicht | Beschrijving |
|---|---|---|---|
key |
touw | Klopt | De Elasticsearch-sleutel die moet worden gebruikt voor verificatie. |
key_id |
touw | Klopt | De elasticsearch-sleutel-id die moet worden gebruikt voor verificatie. |
type |
touw | Klopt | Moet key_and_key_idzijn. |
Verificatieopties voor gecodeerde API-sleutels
De verificatieopties voor Azure OpenAI Op uw gegevens wanneer u een met Elasticsearch gecodeerde API-sleutel gebruikt.
| Naam | Typologie | Verplicht | Beschrijving |
|---|---|---|---|
encoded_api_key |
touw | Klopt | De met Elasticsearch gecodeerde API-sleutel die moet worden gebruikt voor verificatie. |
type |
touw | Klopt | Moet encoded_api_keyzijn. |
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.
| Naam | Typologie | Verplicht | Beschrijving |
|---|---|---|---|
deployment_name |
touw | Klopt | De naam van de insluitmodelimplementatie binnen dezelfde Azure OpenAI-resource. |
type |
touw | Klopt | Moet deployment_namezijn. |
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.
| Naam | Typologie | Verplicht | Beschrijving |
|---|---|---|---|
endpoint |
touw | Klopt | 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 | Klopt | Hiermee geeft u de verificatieopties die moeten worden gebruikt bij het ophalen van insluitingen vanaf het opgegeven eindpunt. |
type |
touw | Klopt | Moet endpointzijn. |
Verificatieopties voor API-sleutels
De verificatieopties voor Azure OpenAI op uw gegevens wanneer u een API-sleutel gebruikt.
| Naam | Typologie | Verplicht | Beschrijving |
|---|---|---|---|
key |
touw | Klopt | De API-sleutel die moet worden gebruikt voor verificatie. |
type |
touw | Klopt | Moet api_keyzijn. |
Bron van model-id-vectorisatie
De details van de vectorisatiebron die door Azure OpenAI op uw gegevens worden gebruikt bij het toepassen van vectorzoekopdrachten. Deze vectorisatiebron is gebaseerd op de model-id van Elasticsearch.
| Naam | Typologie | Verplicht | Beschrijving |
|---|---|---|---|
model_id |
touw | Klopt | Hiermee geeft u de model-id op die moet worden gebruikt voor vectorisatie. Deze model-id moet worden gedefinieerd in Elasticsearch. |
type |
touw | Klopt | Moet model_idzijn. |
Opties voor het toewijzen van velden
Optionele instellingen om te bepalen hoe velden worden verwerkt wanneer u een geconfigureerde Elasticsearch-resource gebruikt.
| Naam | Typologie | Verplicht | 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 |
touw | Onwaar | Het scheidingsteken dat inhoudsvelden moeten gebruiken. De standaardinstelling is \n. |
filepath_field |
touw | Onwaar | De naam van het indexveld dat moet worden gebruikt als bestandspad. |
title_field |
touw | Onwaar | De naam van het indexveld dat moet worden gebruikt als titel. |
url_field |
touw | Onwaar | De naam van het indexveld dat moet worden gebruikt als URL. |
Querytype
Het type elasticsearch-ophaalquery dat moet worden uitgevoerd wanneer u deze gebruikt met Azure OpenAI op uw gegevens.
| Opsommingswaarde | Beschrijving |
|---|---|
simple |
Vertegenwoordigt de standaard, eenvoudige queryparser. |
vector |
Vertegenwoordigt vectorzoekopdrachten over berekende gegevens. |
Voorbeelden
Voorwaarden:
- 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,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='***'
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")
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))