Źródło danych — Elasticsearch (wersja zapoznawcza)
Konfigurowalne opcje programu Elasticsearch podczas korzystania z usługi Azure OpenAI na danych. To źródło danych jest obsługiwane w wersji 2024-02-15-preview
interfejsu API .
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
parameters |
Parametry | Prawda | Parametry do użycia podczas konfigurowania programu Elasticsearch. |
type |
string | Prawda | Musi mieć wartość elasticsearch . |
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
endpoint |
string | Prawda | Bezwzględna ścieżka punktu końcowego zasobu Elasticsearch do użycia. |
index_name |
string | Prawda | Nazwa indeksu do użycia w odwołaniu elasticsearch. |
authentication |
Jeden z keyAndKeyIdAuthenticationOptions, EncodedApiKeyAuthenticationOptions | Prawda | Metoda uwierzytelniania używana podczas uzyskiwania dostępu do zdefiniowanego źródła danych. |
embedding_dependency |
Jedna z właściwości DeploymentNameVectorizationSource, EndpointVectorizationSource, ModelIdVectorizationSource | Fałsz | Zależność osadzania dla wyszukiwania wektorowego. Wymagane, gdy query_type ma wartość vector . |
fields_mapping |
FieldsMappingOptions | Fałsz | Dostosowane zachowanie mapowania pól do użycia podczas interakcji z indeksem wyszukiwania. |
in_scope |
boolean | Fałsz | Czy zapytania powinny być ograniczone do używania indeksowanych danych. Wartość domyślna to True . |
query_type |
Typ zapytania | Fałsz | Typ zapytania do użycia z usługą Elasticsearch. Wartość domyślna to simple |
role_information |
string | Fałsz | Przekaż instrukcje dotyczące sposobu działania modelu i dowolnego kontekstu, do którego powinien się odwoływać podczas generowania odpowiedzi. Możesz opisać osobowość asystenta i poinformować go, jak formatować odpowiedzi. |
strictness |
integer | Fałsz | Skonfigurowana ścisłość filtrowania istotności wyszukiwania. Im większa surowość, większa precyzja, ale niższa kompletność odpowiedzi. Wartość domyślna to 3 . |
top_n_documents |
integer | Fałsz | Skonfigurowano maksymalną liczbę dokumentów do funkcji dla skonfigurowanego zapytania. Wartość domyślna to 5 . |
Opcje uwierzytelniania klucza i identyfikatora klucza
Opcje uwierzytelniania usługi Azure OpenAI na danych podczas korzystania z klucza interfejsu API.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
key |
string | Prawda | Klucz elasticsearch do użycia do uwierzytelniania. |
key_id |
string | Prawda | Identyfikator klucza elasticsearch do użycia do uwierzytelniania. |
type |
string | Prawda | Musi mieć wartość key_and_key_id . |
Opcje uwierzytelniania klucza zakodowanego interfejsu API
Opcje uwierzytelniania usługi Azure OpenAI na danych podczas korzystania z klucza interfejsu API zakodowanego w usłudze Elasticsearch.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
encoded_api_key |
string | Prawda | Klucz interfejsu API zakodowanego w usłudze Elasticsearch do użycia na potrzeby uwierzytelniania. |
type |
string | Prawda | Musi mieć wartość encoded_api_key . |
Źródło wektoryzacji nazw wdrożenia
Szczegóły źródła wektoryzacji używanego przez usługę Azure OpenAI On Your Data podczas stosowania wyszukiwania wektorowego. To źródło wektoryzacji jest oparte na wewnętrznej nazwie wdrożenia modelu osadzania w tym samym zasobie usługi Azure OpenAI. To źródło wektoryzacji umożliwia korzystanie z wyszukiwania wektorów bez klucza api-key usługi Azure OpenAI i bez dostępu do sieci publicznej usługi Azure OpenAI.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
deployment_name |
string | Prawda | Nazwa wdrożenia modelu osadzania w ramach tego samego zasobu usługi Azure OpenAI. |
type |
string | Prawda | Musi mieć wartość deployment_name . |
Źródło wektoryzacji punktu końcowego
Szczegóły źródła wektoryzacji używanego przez usługę Azure OpenAI On Your Data podczas stosowania wyszukiwania wektorowego. To źródło wektoryzacji jest oparte na punkcie końcowym interfejsu API osadzania usługi Azure OpenAI.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
endpoint |
string | Prawda | Określa adres URL punktu końcowego zasobu, z którego mają zostać pobrane osadzanie. Powinien mieć format https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings . Parametr zapytania w wersji interfejsu API nie jest dozwolony. |
authentication |
ApiKeyAuthenticationOptions | Prawda | Określa opcje uwierzytelniania do użycia podczas pobierania osadzania z określonego punktu końcowego. |
type |
string | Prawda | Musi mieć wartość endpoint . |
Źródło wektoryzacji identyfikatora modelu
Szczegóły źródła wektoryzacji używanego przez usługę Azure OpenAI On Your Data podczas stosowania wyszukiwania wektorowego. To źródło wektoryzacji jest oparte na identyfikatorze modelu Elasticsearch.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
model_id |
string | Prawda | Określa identyfikator modelu, który ma być używany do wektoryzacji. Ten identyfikator modelu musi być zdefiniowany w usłudze Elasticsearch. |
type |
string | Prawda | Musi mieć wartość model_id . |
Opcje uwierzytelniania klucza interfejsu API
Opcje uwierzytelniania usługi Azure OpenAI na danych podczas korzystania z klucza interfejsu API.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
key |
string | Prawda | Klucz interfejsu API do użycia do uwierzytelniania. |
type |
string | Prawda | Musi mieć wartość api_key . |
Opcje mapowania pól
Opcjonalne ustawienia umożliwiające kontrolowanie sposobu przetwarzania pól przy użyciu skonfigurowanego zasobu elasticsearch.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
content_fields |
string[] | Fałsz | Nazwy pól indeksu, które powinny być traktowane jako zawartość. |
vector_fields |
string[] | Fałsz | Nazwy pól reprezentujących dane wektorowe. |
content_fields_separator |
string | Fałsz | Wzorzec separatora, którego powinny używać pola zawartości. Wartość domyślna to \n . |
filepath_field |
string | Fałsz | Nazwa pola indeksu do użycia jako ścieżka pliku. |
title_field |
string | Fałsz | Nazwa pola indeksu, które ma być używane jako tytuł. |
url_field |
string | Fałsz | Nazwa pola indeksu, które ma być używane jako adres URL. |
Typ zapytania
Typ zapytania pobierania elasticsearch, które należy wykonać podczas korzystania z niego w usłudze Azure OpenAI On Your Data.
Wartość wyliczenia | opis |
---|---|
simple |
Reprezentuje domyślny, prosty analizator zapytań. |
vector |
Reprezentuje wyszukiwanie wektorów na podstawie obliczonych danych. |
Przykłady
Wymagania wstępne:
- Skonfiguruj przypisania ról od użytkownika do zasobu usługi Azure OpenAI. Wymagana rola:
Cognitive Services OpenAI User
. - Zainstaluj interfejs wiersza polecenia Az i uruchom polecenie
az login
. - Zdefiniuj następujące zmienne środowiskowe:
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='***'
Zainstaluj najnowsze pakiety 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))