Zdroj dat – Azure Cosmos DB pro virtuální jádro MongoDB
Konfigurovatelné možnosti virtuálních jader Azure Cosmos DB pro MongoDB při použití Azure OpenAI ve vašich datech Tento zdroj dat je podporován ve verzi 2024-02-01
rozhraní API .
Name | Type | Požadováno | Popis |
---|---|---|---|
parameters |
Parametry | True | Parametry, které se mají použít při konfiguraci služby Azure Cosmos DB pro virtuální jádro MongoDB. |
type |
string | True | Musí být azure_cosmos_db . |
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
database_name |
string | True | Název databáze MongoDB vCore, který se má použít se službou Azure Cosmos DB. |
container_name |
string | True | Název kontejneru prostředků služby Azure Cosmos DB. |
index_name |
string | True | Název indexu virtuálních jader MongoDB, který se má použít se službou Azure Cosmos DB. |
fields_mapping |
FieldsMappingOptions | True | Přizpůsobené chování mapování polí, které se má použít při interakci s indexem vyhledávání. |
authentication |
Připojení ionStringAuthenticationOptions | True | Metoda ověřování, která se má použít při přístupu k definovanému zdroji dat. |
embedding_dependency |
Jeden z DeploymentNameVectorizationSource, EndpointVectorizationSource | True | Závislost vkládání pro vektorové vyhledávání. |
in_scope |
boolean | False | Určuje, jestli se dotazy mají omezit na použití indexovaných dat. Výchozí hodnota je True . |
role_information |
string | False | Poskytněte modelu pokyny, jak by se měl chovat, a jakýkoli kontext, na který by měl odkazovat při generování odpovědi. Můžete popsat osobnost asistenta a říct jí, jak formátovat odpovědi. |
strictness |
integer | False | Nakonfigurovaná striktnost filtrování relevance vyhledávání. Čím vyšší je striktnost, tím vyšší přesnost, ale nižší úplnost odpovědi. Výchozí hodnota je 3 . |
top_n_documents |
integer | False | Nakonfigurovaný nejvyšší počet dokumentů, které se mají použít pro nakonfigurovaný dotaz. Výchozí hodnota je 5 . |
Možnosti ověřování řetězců Připojení
Možnosti ověřování pro Azure OpenAI Ve vašich datech při použití připojovací řetězec
Name | Type | Požadováno | Popis |
---|---|---|---|
connection_string |
string | True | Připojovací řetězec použít k ověřování. |
type |
string | True | Musí být connection_string . |
Zdroj vektorizace názvu nasazení
Podrobnosti o vektorizačním zdroji, který používá Azure OpenAI ve vašich datech při použití vektorového vyhledávání. Tento zdroj vektorizace je založený na interním názvu nasazení modelu vkládání ve stejném prostředku Azure OpenAI. Tento zdroj vektorizace umožňuje používat vektorové vyhledávání bez klíče api-key Azure OpenAI a bez přístupu k veřejné síti Azure OpenAI.
Name | Type | Požadováno | Popis |
---|---|---|---|
deployment_name |
string | True | Název nasazení modelu vložení v rámci stejného prostředku Azure OpenAI. |
type |
string | True | Musí být deployment_name . |
Zdroj vektorizace koncového bodu
Podrobnosti o vektorizačním zdroji, který používá Azure OpenAI ve vašich datech při použití vektorového vyhledávání. Tento zdroj vektorizace je založený na koncovém bodu rozhraní API pro vkládání Azure OpenAI.
Name | Type | Požadováno | Popis |
---|---|---|---|
endpoint |
string | True | Určuje adresu URL koncového bodu prostředku, ze které se mají načíst vkládání. Měl by být ve formátu https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings . Parametr dotazu api-version není povolený. |
authentication |
ApiKeyAuthenticationOptions | True | Určuje možnosti ověřování, které se mají použít při načítání vkládání ze zadaného koncového bodu. |
type |
string | True | Musí být endpoint . |
Možnosti ověřování klíčů rozhraní API
Možnosti ověřování pro Azure OpenAI Ve vašich datech při použití klíče rozhraní API
Name | Type | Požadováno | Popis |
---|---|---|---|
key |
string | True | Klíč rozhraní API, který se má použít k ověřování. |
type |
string | True | Musí být api_key . |
Možnosti mapování polí
Nastavení pro řízení způsobu zpracování polí.
Name | Type | Požadováno | Popis |
---|---|---|---|
content_fields |
string[] | True | Názvy polí indexu, která by se měla považovat za obsah. |
vector_fields |
string[] | True | Názvy polí, která představují vektorová data. |
content_fields_separator |
string | False | Vzor oddělovače, který mají pole obsahu používat. Výchozí hodnota je \n . |
filepath_field |
string | False | Název pole indexu, které se má použít jako cesta k souboru. |
title_field |
string | False | Název pole indexu, které se má použít jako název. |
url_field |
string | False | Název pole indexu, které se má použít jako adresa URL. |
Příklady
Požadavky:
- Nakonfigurujte přiřazení rolí od uživatele k prostředku Azure OpenAI. Požadovaná role:
Cognitive Services OpenAI User
. - Nainstalujte Az CLI a spusťte
az login
. - Definujte následující proměnné prostředí:
AzureOpenAIEndpoint
, ,ConnectionString
ChatCompletionsDeploymentName
,Database
Container
,Index
, .EmbeddingDeploymentName
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export ConnectionString='mongodb+srv://username:***@example.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000'
export Database=testdb
export Container=testcontainer
export Index=testindex
export EmbeddingDeploymentName=ada
Nainstalujte nejnovější balíčky openai
pip , 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))