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-preview
tá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/embeddings a 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))