Sumber data - Azure Cosmos DB untuk MongoDB vCore
Opsi Azure Cosmos DB untuk MongoDB vCore yang dapat dikonfigurasi saat menggunakan Azure OpenAI On Your Data. Sumber data ini didukung dalam versi 2024-02-01
API .
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
parameters |
Parameter | Benar | Parameter yang digunakan saat mengonfigurasi Azure Cosmos DB untuk MongoDB vCore. |
type |
string | Benar | Harus berupa azure_cosmos_db . |
Parameter
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
database_name |
string | Benar | Nama database MongoDB vCore untuk digunakan dengan Azure Cosmos DB. |
container_name |
string | Benar | Nama kontainer sumber daya Azure Cosmos DB. |
index_name |
string | Benar | Nama indeks MongoDB vCore untuk digunakan dengan Azure Cosmos DB. |
fields_mapping |
FieldsMappingOptions | Benar | Perilaku pemetaan bidang yang dikustomisasi untuk digunakan saat berinteraksi dengan indeks pencarian. |
authentication |
ConnectionStringAuthenticationOptions | Benar | Metode autentikasi yang digunakan saat mengakses sumber data yang ditentukan. |
embedding_dependency |
Salah satu DeploymentNameVectorizationSource, EndpointVectorizationSource | Benar | Dependensi penyematan untuk pencarian vektor. |
in_scope |
Boolean | Salah | Apakah kueri harus dibatasi untuk menggunakan data terindeks. Defaultnya adalah True . |
role_information |
string | Salah | Berikan instruksi model tentang bagaimana seharusnya perilakunya dan konteks apa pun yang harus dirujuknya saat menghasilkan respons. Anda dapat menjelaskan kepribadian asisten dan memberi tahunya cara memformat respons. |
strictness |
Integer | Salah | Ketatnya pemfilteran relevansi pencarian yang dikonfigurasi. Semakin tinggi ketegasan, semakin tinggi presisi tetapi pengenalan jawaban yang lebih rendah. Defaultnya adalah 3 . |
top_n_documents |
Integer | Salah | Jumlah dokumen teratas yang dikonfigurasi untuk ditampilkan untuk kueri yang dikonfigurasi. Defaultnya adalah 5 . |
Opsi autentikasi string koneksi
Opsi autentikasi untuk Azure OpenAI On Your Data saat menggunakan string koneksi.
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
connection_string |
string | Benar | string koneksi yang digunakan untuk autentikasi. |
type |
string | Benar | Harus berupa connection_string . |
Sumber vektorisasi nama penyebaran
Detail sumber vektorisasi, digunakan oleh Azure OpenAI On Your Data saat menerapkan pencarian vektor. Sumber vektorisasi ini didasarkan pada nama penyebaran model penyematan internal di sumber daya Azure OpenAI yang sama. Sumber vektorisasi ini memungkinkan Anda menggunakan pencarian vektor tanpa kunci api Azure OpenAI dan tanpa akses jaringan publik Azure OpenAI.
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
deployment_name |
string | Benar | Nama penyebaran model penyematan dalam sumber daya Azure OpenAI yang sama. |
type |
string | Benar | Harus berupa deployment_name . |
Sumber vektorisasi titik akhir
Detail sumber vektorisasi, digunakan oleh Azure OpenAI On Your Data saat menerapkan pencarian vektor. Sumber vektorisasi ini didasarkan pada titik akhir API penyematan Azure OpenAI.
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
endpoint |
string | Benar | Menentukan URL titik akhir sumber daya tempat penyematan harus diambil. Ini harus dalam format https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings . Parameter kueri versi api tidak diizinkan. |
authentication |
ApiKeyAuthenticationOptions | Benar | Menentukan opsi autentikasi yang akan digunakan saat mengambil penyematan dari titik akhir yang ditentukan. |
type |
string | Benar | Harus berupa endpoint . |
Opsi autentikasi kunci API
Opsi autentikasi untuk Azure OpenAI On Your Data saat menggunakan kunci API.
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
key |
string | Benar | Kunci API yang digunakan untuk autentikasi. |
type |
string | Benar | Harus berupa api_key . |
Opsi pemetaan bidang
Pengaturan untuk mengontrol bagaimana bidang diproses.
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
content_fields |
string[] | Benar | Nama bidang indeks yang harus diperlakukan sebagai konten. |
vector_fields |
string[] | Benar | Nama bidang yang mewakili data vektor. |
content_fields_separator |
string | Salah | Pola pemisah yang harus digunakan bidang konten. Defaultnya adalah \n . |
filepath_field |
string | Salah | Nama bidang indeks yang akan digunakan sebagai jalur file. |
title_field |
string | Salah | Nama bidang indeks yang akan digunakan sebagai judul. |
url_field |
string | Salah | Nama bidang indeks yang akan digunakan sebagai URL. |
Contoh
Prasyarat:
- Konfigurasikan penetapan peran dari pengguna ke sumber daya Azure OpenAI. Peran yang diperlukan:
Cognitive Services OpenAI User
. - Instal Az CLI dan jalankan
az login
. - Tentukan variabel lingkungan berikut:
AzureOpenAIEndpoint
, ,ChatCompletionsDeploymentName
,ConnectionString
Database
,Container
,Index
,EmbeddingDeploymentName
.
Catatan
Berikut ini misalnya saja. Jika Anda menggunakan string koneksi, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
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
Instal paket openai
pip terbaru , 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))