Zdroj dat – Elasticsearch (Preview)
Konfigurovatelné možnosti elasticsearch při použití Azure OpenAI ve vašich datech Tento zdroj dat je podporován ve verzi 2024-02-15-preview
rozhraní API .
Name | Type | Požadováno | Popis |
---|---|---|---|
parameters |
Parametry | True | Parametry, které se mají použít při konfiguraci Elasticsearch. |
type |
string | True | Musí být elasticsearch . |
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
endpoint |
string | True | Absolutní cesta koncového bodu pro prostředek Elasticsearch, který se má použít. |
index_name |
string | True | Název indexu, který se má použít v odkazovaném Elasticsearch. |
authentication |
Jeden z KeyAndKeyIdAuthenticationOptions, EncodedApiAuthenticationOptions | 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, ModelIdVectorizationSource | False | Závislost vkládání pro vektorové vyhledávání. Vyžaduje se, pokud query_type je vector . |
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í. |
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 s Elasticsearch. 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. |
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 . |
Možnosti ověřování pomocí klíče a ID klíče
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íč Elasticsearch, který se má použít k ověřování. |
key_id |
string | True | ID klíče Elasticsearch, které se má použít k ověřování. |
type |
string | True | Musí být key_and_key_id . |
Možnosti ověřování kódovaného klíče rozhraní API
Možnosti ověřování pro Azure OpenAI Ve vašich datech při použití klíče rozhraní API s kódováním Elasticsearch.
Name | Type | Požadováno | Popis |
---|---|---|---|
encoded_api_key |
string | True | Kódovaný klíč rozhraní API Elasticsearch, který se má použít k ověřování. |
type |
string | True | Musí být encoded_api_key . |
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 . |
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 . |
Zdroj vektorizace ID modelu
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 ID modelu Elasticsearch.
Name | Type | Požadováno | Popis |
---|---|---|---|
model_id |
string | True | Určuje ID modelu, které se má použít pro vektorizaci. Toto ID modelu musí být definováno v Elasticsearch. |
type |
string | True | Musí být model_id . |
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 mapování polí
Volitelná nastavení pro řízení způsobu zpracování polí při použití nakonfigurovaného prostředku Elasticsearch.
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 dotazu načítání Elasticsearch, který by se měl spustit při použití s Azure OpenAI ve vašich datech.
Výčtová hodnota | Popis |
---|---|
simple |
Představuje výchozí jednoduchý analyzátor dotazů. |
vector |
Představuje vektorové vyhledávání vypočítaných dat. |
Příklady
Požadavky:
- 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
. - Definujte následující proměnné prostředí:
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='***'
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")
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))