Share via


Adatforrás – Elasticsearch (előzetes verzió)

Az Elasticsearch konfigurálható beállításai az Azure OpenAI on Your Data használatakor. Ez az adatforrás az API-verzióban 2024-02-15-previewtámogatott.

Név Típus Kötelező Leírás
parameters Paraméterek Igaz Az Elasticsearch konfigurálásakor használandó paraméterek.
type húr Igaz Kell lennie elasticsearch.

Paraméterek

Név Típus Kötelező Leírás
endpoint húr Igaz A használni kívánt Elasticsearch-erőforrás abszolút végponti elérési útja.
index_name húr Igaz A hivatkozott Elasticsearchben használni kívánt index neve.
authentication Az egyik KeyAndKeyIdAuthenticationOptions, EncodedApiKeyAuthenticationOptions Igaz A megadott adatforrás elérésekor használandó hitelesítési módszer.
embedding_dependency Az egyik DeploymentNameVectorizationSource, EndpointVectorizationSource, ModelIdVectorizationSource Hamis A vektorkeresés beágyazási függősége. Kötelező, ha query_type van vector.
fields_mapping FieldsMappingOptions Hamis Testre szabott mezőleképezési viselkedés, amelyet a keresési index használata során használhat.
in_scope Logikai Hamis Azt határozza meg, hogy a lekérdezések az indexelt adatok használatára legyenek-e korlátozva. Az alapértelmezett szint a True.
query_type QueryType Hamis Az Elasticsearchhez használandó lekérdezéstípus. Az alapértelmezett érték simple
role_information húr Hamis Adja meg a modell utasításait arról, hogy hogyan kell viselkednie, és minden olyan környezetet, amelyre hivatkoznia kell a válasz létrehozásakor. Leírhatja az asszisztens személyiségét, és megtudhatja, hogyan formázhatja a válaszokat.
strictness egész szám Hamis A keresési relevancia szűrésének konfigurált szigorúsága. Minél magasabb a szigorúság, annál nagyobb a pontosság, de annál kisebb a válasz visszahívása. Az alapértelmezett szint a 3.
top_n_documents egész szám Hamis A konfigurált lekérdezéshez használható dokumentumok maximális száma. Az alapértelmezett szint a 5.

Kulcs- és kulcsazonosító-hitelesítési beállítások

Az Azure OpenAI on Your Data hitelesítési lehetőségei API-kulcs használata esetén.

Név Típus Kötelező Leírás
key húr Igaz A hitelesítéshez használandó Elasticsearch kulcs.
key_id húr Igaz A hitelesítéshez használandó Elasticsearch kulcsazonosító.
type húr Igaz Kell lennie key_and_key_id.

Kódolt API-kulcsok hitelesítési beállításai

Az Azure OpenAI on Your Data hitelesítési lehetőségei Elasticsearch kódolt API-kulcs használatakor.

Név Típus Kötelező Leírás
encoded_api_key húr Igaz Az Elasticsearch kódolt API-kulcsa a hitelesítéshez.
type húr Igaz Kell lennie encoded_api_key.

Üzembehelyezési név vektorizálási forrása

A vektorizációs forrás részletei, amelyeket az Azure OpenAI használ az Adatokon vektorkeresés alkalmazásakor. Ez a vektorizálási forrás egy belső beágyazási modell üzembehelyezési nevére épül ugyanabban az Azure OpenAI-erőforrásban. Ez a vektorizálási forrás lehetővé teszi a vektorkeresés használatát az Azure OpenAI api-kulcs és az Azure OpenAI nyilvános hálózati hozzáférése nélkül.

Név Típus Kötelező Leírás
deployment_name húr Igaz A beágyazási modell üzembehelyezési neve ugyanabban az Azure OpenAI-erőforrásban.
type húr Igaz Kell lennie deployment_name.

Végpontvektorizálási forrás

A vektorizációs forrás részletei, amelyeket az Azure OpenAI használ az Adatokon vektorkeresés alkalmazásakor. Ez a vektorizálási forrás az Azure OpenAI beágyazási API-végpontján alapul.

Név Típus Kötelező Leírás
endpoint húr Igaz Megadja az erőforrásvégpont URL-címét, amelyből le kell kérni a beágyazásokat. A formátumnak https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddingsa következőnek kell lennie: . Az API-verziójú lekérdezési paraméter nem engedélyezett.
authentication ApiKeyAuthenticationOptions Igaz Megadja a beágyazások a megadott végpontról való lekéréséhez használandó hitelesítési beállításokat.
type húr Igaz Kell lennie endpoint.

Modellazonosító vektorizálási forrása

A vektorizációs forrás részletei, amelyeket az Azure OpenAI használ az Adatokon vektorkeresés alkalmazásakor. Ez a vektorizálási forrás az Elasticsearch modellazonosítóján alapul.

Név Típus Kötelező Leírás
model_id húr Igaz Megadja a vektorizáláshoz használandó modellazonosítót. Ezt a modellazonosítót az Elasticsearchben kell definiálni.
type húr Igaz Kell lennie model_id.

API-kulcsok hitelesítési beállításai

Az Azure OpenAI on Your Data hitelesítési lehetőségei API-kulcs használata esetén.

Név Típus Kötelező Leírás
key húr Igaz A hitelesítéshez használandó API-kulcs.
type húr Igaz Kell lennie api_key.

Mezők leképezési beállításai

Nem kötelező beállítások a mezők feldolgozásának szabályozásához konfigurált Elasticsearch-erőforrás használatakor.

Név Típus Kötelező Leírás
content_fields sztring[] Hamis A tartalomként kezelendő indexmezők nevei.
vector_fields sztring[] Hamis A vektoradatokat ábrázoló mezők nevei.
content_fields_separator húr Hamis Az elválasztó minta, amelyet a tartalommezőknek használniuk kell. Az alapértelmezett szint a \n.
filepath_field húr Hamis A fájlútvonalként használandó indexmező neve.
title_field húr Hamis A címként használni kívánt indexmező neve.
url_field húr Hamis Az URL-címként használni kívánt indexmező neve.

Lekérdezés típusa

Az Elasticsearch lekéréses lekérdezésének típusa, amelyet az Azure OpenAI On Your Data használatával kell végrehajtani.

Számérték Leírás
simple Az alapértelmezett, egyszerű lekérdezéselemzőt jelöli.
vector Vektorkeresést jelöl a számított adatokon keresztül.

Példák

Előfeltételek:

  • Konfigurálja a szerepkör-hozzárendeléseket a felhasználótól az Azure OpenAI-erőforráshoz. Kötelező szerepkör: Cognitive Services OpenAI User.
  • Telepítse az Az CLI-t, és futtassa.az login
  • Adja meg a következő környezeti változókat: 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='***'

Telepítse a legújabb pipcsomagokat 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))