Udostępnij za pośrednictwem


Ź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-previewinterfejsu 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, , ChatCompletionsDeploymentNameSearchEndpoint, 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))