Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
De konfigurerbara alternativen för Virtuella Kärnor i Azure Cosmos DB för MongoDB när du använder Azure OpenAI på dina data. Den här datakällan stöds i API-versionen 2024-02-01.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
parameters |
Parametrar | Sann | Parametrarna som ska användas när du konfigurerar Azure Cosmos DB för MongoDB vCore. |
type |
snöre | Sann | Måste vara azure_cosmos_db. |
Parameterar
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
database_name |
snöre | Sann | MongoDB vCore-databasnamnet som ska användas med Azure Cosmos DB. |
container_name |
snöre | Sann | Namnet på Azure Cosmos DB-resurscontainern. |
index_name |
snöre | Sann | MongoDB vCore-indexnamnet som ska användas med Azure Cosmos DB. |
fields_mapping |
FieldsMappingOptions | Sann | Anpassat fältmappningsbeteende som ska användas när du interagerar med sökindexet. |
authentication |
ConnectionStringAuthenticationOptions | Sann | Den autentiseringsmetod som ska användas vid åtkomst till den definierade datakällan. |
embedding_dependency |
En av DeploymentNameVectorizationSource, EndpointVectorizationSource | Sann | Inbäddningsberoendet för vektorsökning. |
in_scope |
booleskt | Falsk | Om frågor ska begränsas till användning av indexerade data. Standard är True. |
role_information |
snöre | Falsk | Ge modellinstruktionerna om hur den ska bete sig och vilken kontext den ska referera till när du genererar ett svar. Du kan beskriva assistentens personlighet och berätta hur du formaterar svar. |
strictness |
integer | Falsk | Den konfigurerade strängheten för sökrelevansfiltreringen. Ju högre strikthet, desto högre precision men lägre återkallande av svaret. Standard är 3. |
top_n_documents |
integer | Falsk | Det konfigurerade högsta antalet dokument som ska användas för den konfigurerade frågan. Standard är 5. |
Alternativ för autentisering av anslutningssträngar
Autentiseringsalternativen för Azure OpenAI På dina data när du använder en anslutningssträng.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
connection_string |
snöre | Sann | Den anslutningssträng som ska användas för autentisering. |
type |
snöre | Sann | Måste vara connection_string. |
Distributionsnamnvektoriseringskälla
Information om vektoriseringskällan som används av Azure OpenAI På dina data när du tillämpar vektorsökning. Den här vektoriseringskällan baseras på ett internt distributionsnamn för inbäddningsmodellen i samma Azure OpenAI-resurs. Med den här vektoriseringskällan kan du använda vektorsökning utan Api-nyckel för Azure OpenAI och utan offentlig nätverksåtkomst i Azure OpenAI.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
deployment_name |
snöre | Sann | Distributionsnamnet för inbäddningsmodellen i samma Azure OpenAI-resurs. |
type |
snöre | Sann | Måste vara deployment_name. |
Slutpunktsvektoriseringskälla
Information om vektoriseringskällan som används av Azure OpenAI På dina data när du tillämpar vektorsökning. Den här vektoriseringskällan baseras på Azure OpenAI-inbäddnings-API-slutpunkten.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
endpoint |
snöre | Sann | Anger resursslutpunkts-URL:en som inbäddningar ska hämtas från. Den ska vara i formatet https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. Frågeparametern api-version är inte tillåten. |
authentication |
ApiKeyAuthenticationOptions | Sann | Anger de autentiseringsalternativ som ska användas vid hämtning av inbäddningar från den angivna slutpunkten. |
type |
snöre | Sann | Måste vara endpoint. |
Alternativ för API-nyckelautentisering
Autentiseringsalternativen för Azure OpenAI På dina data när du använder en API-nyckel.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
key |
snöre | Sann | API-nyckeln som ska användas för autentisering. |
type |
snöre | Sann | Måste vara api_key. |
Mappningsalternativ för fält
Inställningarna för att styra hur fält bearbetas.
| Namn | Typ | Krävs | Beskrivning |
|---|---|---|---|
content_fields |
sträng[] | Sann | Namnen på indexfält som ska behandlas som innehåll. |
vector_fields |
sträng[] | Sann | Namnen på fält som representerar vektordata. |
content_fields_separator |
snöre | Falsk | Det avgränsarmönster som innehållsfält ska använda. Standard är \n. |
filepath_field |
snöre | Falsk | Namnet på det indexfält som ska användas som en filsökväg. |
title_field |
snöre | Falsk | Namnet på det indexfält som ska användas som rubrik. |
url_field |
snöre | Falsk | Namnet på det indexfält som ska användas som en URL. |
Exempel
Förutsättningar:
- Konfigurera rolltilldelningarna från användaren till Azure OpenAI-resursen. Obligatorisk roll:
Cognitive Services OpenAI User. - Installera Az CLI och kör
az login. - Definiera följande miljövariabler:
AzureOpenAIEndpoint,ChatCompletionsDeploymentName,ConnectionString,Database,Container, ,Index,EmbeddingDeploymentName.
Anmärkning
Följande är till exempel endast. Om du använder en anslutningssträng lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
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
Installera de senaste pip-paketen 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))