Megosztás a következőn keresztül:


Adatforrás – Azure Cosmos DB a MongoDB virtuális maghoz

A MongoDB-hez készült Azure Cosmos DB virtuális mag konfigurálható beállításai az Azure OpenAI On Your Data használatakor. Ez az adatforrás az API-verzióban 2024-02-01támogatott.

Név Típus Kötelező Leírás
parameters Paraméterek Igaz Az Azure Cosmos DB MongoDB virtuális maghoz való konfigurálásakor használandó paraméterek.
type húr Igaz Kell lennie azure_cosmos_db.

Paraméterek

Név Típus Kötelező Leírás
database_name húr Igaz Az Azure Cosmos DB-hez használandó MongoDB virtuálismag-adatbázis neve.
container_name húr Igaz Az Azure Cosmos DB-erőforrástároló neve.
index_name húr Igaz Az Azure Cosmos DB-vel használandó MongoDB virtuálismag-index neve.
fields_mapping FieldsMappingOptions Igaz Testre szabott mezőleképezési viselkedés, amelyet a keresési index használata során használhat.
authentication ConnectionStringAuthenticationOptions Igaz A megadott adatforrás elérésekor használandó hitelesítési módszer.
embedding_dependency Az Egyik DeploymentNameVectorizationSource, EndpointVectorizationSource Igaz A vektorkeresés beágyazási függősége.
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.
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.

Kapcsolati sztring hitelesítési beállításai

Az Azure OpenAI on Your Data hitelesítési lehetőségei kapcsolati sztring használatakor.

Név Típus Kötelező Leírás
connection_string húr Igaz A hitelesítéshez használni kívánt kapcsolati sztring.
type húr Igaz Kell lennie connection_string.

Ü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.

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

A mezők feldolgozásának módját vezérlő beállítások.

Név Típus Kötelező Leírás
content_fields sztring[] Igaz A tartalomként kezelendő indexmezők nevei.
vector_fields sztring[] Igaz 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.

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,ConnectionString, Database, Container, Index, EmbeddingDeploymentName.

Feljegyzés

Az alábbiak például csak a következők. Ha kapcsolati sztring használ, tárolja biztonságosan máshol, például az Azure Key Vaultban. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan.

export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export ConnectionString='<db-connection-string>'
export Database=testdb
export Container=testcontainer
export Index=testindex
export EmbeddingDeploymentName=ada

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")
connection_string = os.environ.get("ConnectionString")
database = os.environ.get("Database")
container = os.environ.get("Container")
index = os.environ.get("Index")
embedding_deployment_name = os.environ.get("EmbeddingDeploymentName")

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-01",
)

completion = client.chat.completions.create(
    model=deployment,
    messages=[
        {
            "role": "user",
            "content": "Who is DRI?",
        },
    ],
    extra_body={
        "data_sources": [
            {
                "type": "azure_cosmos_db",
                "parameters": {
                    "authentication": {
                        "type": "connection_string",
                        "connection_string": connection_string
                    },
                    "database_name": database,
                    "container_name": container,
                    "index_name": index,
                    "fields_mapping": {
                        "content_fields": [
                            "content"
                        ],
                        "vector_fields": [
                            "contentvector"
                        ]
                    },
                    "embedding_dependency": {
                        "type": "deployment_name",
                        "deployment_name": embedding_deployment_name
                    }
                }
            }
        ],
    }
)

print(completion.model_dump_json(indent=2))