Źródło danych — azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB
Konfigurowalne opcje rdzeni wirtualnych usługi Azure Cosmos DB dla bazy danych MongoDB podczas korzystania z usługi Azure OpenAI na danych. To źródło danych jest obsługiwane w wersji 2024-02-01
interfejsu API .
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
parameters |
Parametry | Prawda | Parametry do użycia podczas konfigurowania usługi Azure Cosmos DB dla rdzeni wirtualnych bazy danych MongoDB. |
type |
string | Prawda | Musi mieć wartość azure_cosmos_db . |
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
database_name |
string | Prawda | Nazwa bazy danych mongoDB z rdzeniami wirtualnymi do użycia z usługą Azure Cosmos DB. |
container_name |
string | Prawda | Nazwa kontenera zasobów usługi Azure Cosmos DB. |
index_name |
string | Prawda | Nazwa indeksu rdzeni wirtualnych bazy danych MongoDB do użycia z usługą Azure Cosmos DB. |
fields_mapping |
FieldsMappingOptions | Prawda | Dostosowane zachowanie mapowania pól do użycia podczas interakcji z indeksem wyszukiwania. |
authentication |
ConnectionStringAuthenticationOptions | Prawda | Metoda uwierzytelniania używana podczas uzyskiwania dostępu do zdefiniowanego źródła danych. |
embedding_dependency |
Jeden z elementów DeploymentNameVectorizationSource, EndpointVectorizationSource | Prawda | Zależność osadzania dla wyszukiwania wektorowego. |
in_scope |
boolean | Fałsz | Czy zapytania powinny być ograniczone do używania indeksowanych danych. Wartość domyślna to True . |
role_information |
string | Fałsz | Przekaż instrukcje dotyczące sposobu działania modelu i dowolnego kontekstu, do którego powinien się odwoływać podczas generowania odpowiedzi. Możesz opisać osobowość asystenta i poinformować go, jak formatować odpowiedzi. |
strictness |
integer | Fałsz | Skonfigurowana ścisłość filtrowania istotności wyszukiwania. Im większa surowość, większa precyzja, ale niższa kompletność odpowiedzi. Wartość domyślna to 3 . |
top_n_documents |
integer | Fałsz | Skonfigurowano maksymalną liczbę dokumentów do funkcji dla skonfigurowanego zapytania. Wartość domyślna to 5 . |
Opcje uwierzytelniania parametrów połączenia
Opcje uwierzytelniania dla usługi Azure OpenAI Na danych podczas korzystania z parametry połączenia.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
connection_string |
string | Prawda | Parametry połączenia do użycia do uwierzytelniania. |
type |
string | Prawda | Musi mieć wartość connection_string . |
Źródło wektoryzacji nazw wdrożenia
Szczegóły źródła wektoryzacji używanego przez usługę Azure OpenAI On Your Data podczas stosowania wyszukiwania wektorowego. To źródło wektoryzacji jest oparte na wewnętrznej nazwie wdrożenia modelu osadzania w tym samym zasobie usługi Azure OpenAI. To źródło wektoryzacji umożliwia korzystanie z wyszukiwania wektorów bez klucza api-key usługi Azure OpenAI i bez dostępu do sieci publicznej usługi Azure OpenAI.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
deployment_name |
string | Prawda | Nazwa wdrożenia modelu osadzania w ramach tego samego zasobu usługi Azure OpenAI. |
type |
string | Prawda | Musi mieć wartość deployment_name . |
Źródło wektoryzacji punktu końcowego
Szczegóły źródła wektoryzacji używanego przez usługę Azure OpenAI On Your Data podczas stosowania wyszukiwania wektorowego. To źródło wektoryzacji jest oparte na punkcie końcowym interfejsu API osadzania usługi Azure OpenAI.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
endpoint |
string | Prawda | Określa adres URL punktu końcowego zasobu, z którego mają zostać pobrane osadzanie. Powinien mieć format https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings . Parametr zapytania w wersji interfejsu API nie jest dozwolony. |
authentication |
ApiKeyAuthenticationOptions | Prawda | Określa opcje uwierzytelniania do użycia podczas pobierania osadzania z określonego punktu końcowego. |
type |
string | Prawda | Musi mieć wartość endpoint . |
Opcje uwierzytelniania klucza interfejsu API
Opcje uwierzytelniania usługi Azure OpenAI na danych podczas korzystania z klucza interfejsu API.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
key |
string | Prawda | Klucz interfejsu API do użycia do uwierzytelniania. |
type |
string | Prawda | Musi mieć wartość api_key . |
Opcje mapowania pól
Ustawienia umożliwiające kontrolowanie sposobu przetwarzania pól.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
content_fields |
string[] | Prawda | Nazwy pól indeksu, które powinny być traktowane jako zawartość. |
vector_fields |
string[] | Prawda | Nazwy pól reprezentujących dane wektorowe. |
content_fields_separator |
string | Fałsz | Wzorzec separatora, którego powinny używać pola zawartości. Wartość domyślna to \n . |
filepath_field |
string | Fałsz | Nazwa pola indeksu do użycia jako ścieżka pliku. |
title_field |
string | Fałsz | Nazwa pola indeksu, które ma być używane jako tytuł. |
url_field |
string | Fałsz | Nazwa pola indeksu, które ma być używane jako adres URL. |
Przykłady
Wymagania wstępne:
- Skonfiguruj przypisania ról od użytkownika do zasobu usługi Azure OpenAI. Wymagana rola:
Cognitive Services OpenAI User
. - Zainstaluj interfejs wiersza polecenia Az i uruchom polecenie
az login
. - Zdefiniuj następujące zmienne środowiskowe:
AzureOpenAIEndpoint
,Database
ChatCompletionsDeploymentName
Container
ConnectionString
, , .EmbeddingDeploymentName
Index
Uwaga
Poniżej przedstawiono tylko przykład. Jeśli używasz parametry połączenia, zapisz ją bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
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
Zainstaluj najnowsze pakiety 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))