Gegevensbron - Azure Cosmos DB voor MongoDB vCore
De configureerbare opties van Azure Cosmos DB voor MongoDB vCore bij het gebruik van Azure OpenAI op uw gegevens. Deze gegevensbron wordt ondersteund in api-versie 2024-02-01
.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
parameters |
Parameters | Waar | De parameters die moeten worden gebruikt bij het configureren van Azure Cosmos DB voor MongoDB vCore. |
type |
tekenreeks | Waar | Moet azure_cosmos_db zijn. |
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
database_name |
tekenreeks | Waar | De naam van de MongoDB vCore-database die moet worden gebruikt met Azure Cosmos DB. |
container_name |
tekenreeks | Waar | De naam van de Azure Cosmos DB-resourcecontainer. |
index_name |
tekenreeks | Waar | De naam van de MongoDB vCore-index die moet worden gebruikt met Azure Cosmos DB. |
fields_mapping |
FieldsMappingOptions | Waar | Aangepast veldtoewijzingsgedrag dat moet worden gebruikt bij interactie met de zoekindex. |
authentication |
ConnectionStringAuthenticationOptions | Waar | De verificatiemethode die moet worden gebruikt bij het openen van de gedefinieerde gegevensbron. |
embedding_dependency |
Een van DeploymentNameVectorizationSource, EndpointVectorizationSource | Waar | De insluitingsafhankelijkheid voor vectorzoekopdrachten. |
in_scope |
boolean | Onwaar | Of query's moeten worden beperkt tot het gebruik van geïndexeerde gegevens. Standaard is True . |
role_information |
tekenreeks | Onwaar | Geef het model instructies over hoe het zich moet gedragen en eventuele context waarnaar wordt verwezen bij het genereren van een antwoord. U kunt de persoonlijkheid van de assistent beschrijven en vertellen hoe u antwoorden kunt opmaken. |
strictness |
geheel getal | Onwaar | De geconfigureerde striktheid van het filteren op zoekrelevantie. Hoe strikter, hoe hoger de precisie, maar een lagere terugroeping van het antwoord. Standaard is 3 . |
top_n_documents |
geheel getal | Onwaar | Het geconfigureerde bovenste aantal documenten dat moet worden aanbevolen voor de geconfigureerde query. Standaard is 5 . |
Verificatieopties voor verbindingsreeksen
De verificatieopties voor Azure OpenAI op uw gegevens wanneer u een verbindingsreeks gebruikt.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
connection_string |
tekenreeks | Waar | Het verbindingsreeks dat moet worden gebruikt voor verificatie. |
type |
tekenreeks | Waar | Moet connection_string zijn. |
Vectorisatiebron voor implementatienamen
De details van de vectorisatiebron die door Azure OpenAI op uw gegevens worden gebruikt bij het toepassen van vectorzoekopdrachten. Deze vectorisatiebron is gebaseerd op een interne naam voor de implementatie van het model voor insluitingen in dezelfde Azure OpenAI-resource. Met deze vectorisatiebron kunt u vectorzoekopdrachten gebruiken zonder Azure OpenAI API-sleutel en zonder toegang tot openbare Azure OpenAI-netwerken.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
deployment_name |
tekenreeks | Waar | De naam van de insluitmodelimplementatie binnen dezelfde Azure OpenAI-resource. |
type |
tekenreeks | Waar | Moet deployment_name zijn. |
Eindpuntvectorisatiebron
De details van de vectorisatiebron die door Azure OpenAI op uw gegevens worden gebruikt bij het toepassen van vectorzoekopdrachten. Deze vectorisatiebron is gebaseerd op het Azure OpenAI-insluitings-API-eindpunt.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
endpoint |
tekenreeks | Waar | Hiermee geeft u de URL van het broneindpunt op waaruit insluitingen moeten worden opgehaald. Het moet de indeling hebben van https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings . De queryparameter api-versie is niet toegestaan. |
authentication |
ApiKeyAuthenticationOptions | Waar | Hiermee geeft u de verificatieopties die moeten worden gebruikt bij het ophalen van insluitingen vanaf het opgegeven eindpunt. |
type |
tekenreeks | Waar | Moet endpoint zijn. |
Verificatieopties voor API-sleutels
De verificatieopties voor Azure OpenAI op uw gegevens wanneer u een API-sleutel gebruikt.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
key |
tekenreeks | Waar | De API-sleutel die moet worden gebruikt voor verificatie. |
type |
tekenreeks | Waar | Moet api_key zijn. |
Opties voor het toewijzen van velden
De instellingen om te bepalen hoe velden worden verwerkt.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
content_fields |
tekenreeks[] | Waar | De namen van indexvelden die als inhoud moeten worden behandeld. |
vector_fields |
tekenreeks[] | Waar | De namen van velden die vectorgegevens vertegenwoordigen. |
content_fields_separator |
tekenreeks | Onwaar | Het scheidingsteken dat inhoudsvelden moeten gebruiken. Standaard is \n . |
filepath_field |
tekenreeks | Onwaar | De naam van het indexveld dat moet worden gebruikt als bestandspad. |
title_field |
tekenreeks | Onwaar | De naam van het indexveld dat moet worden gebruikt als titel. |
url_field |
tekenreeks | Onwaar | De naam van het indexveld dat moet worden gebruikt als URL. |
Voorbeelden
Vereisten:
- Configureer de roltoewijzingen van de gebruiker naar de Azure OpenAI-resource. Vereiste rol:
Cognitive Services OpenAI User
. - Installeer Az CLI en voer deze uit
az login
. - Definieer de volgende omgevingsvariabelen:
AzureOpenAIEndpoint
,ChatCompletionsDeploymentName
,ConnectionString
,Database
,Container
, ,Index
.EmbeddingDeploymentName
Notitie
Het volgende is bijvoorbeeld alleen. Als u een verbindingsreeks gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
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
Installeer de nieuwste pip-pakketten 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))