Bagikan melalui


Sumber data - Pencarian Azure AI

Opsi pencarian Azure AI yang dapat dikonfigurasi saat menggunakan Azure OpenAI On Your Data. Sumber data ini didukung dalam versi 2024-02-01API .

Nama Tipe Wajib Deskripsi
parameters Parameter Benar Parameter yang digunakan saat mengonfigurasi Azure Search.
type string Benar Harus berupa azure_search .

Parameter

Nama Tipe Wajib Deskripsi
endpoint string Benar Jalur titik akhir absolut untuk digunakan sumber daya Azure Search.
index_name string Benar Nama indeks yang akan digunakan dalam sumber daya Azure Search yang dirujuk.
authentication Salah satu ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions, onYourDataAccessTokenAuthenticationOptions Benar Metode autentikasi yang digunakan saat mengakses sumber data yang ditentukan.
embedding_dependency Salah satu DeploymentNameVectorizationSource, EndpointVectorizationSource Salah Dependensi penyematan untuk pencarian vektor. Diperlukan ketika query_type adalah vector, vector_simple_hybrid, atau vector_semantic_hybrid.
fields_mapping FieldsMappingOptions Salah Perilaku pemetaan bidang yang dikustomisasi untuk digunakan saat berinteraksi dengan indeks pencarian.
filter string Salah Filter pencarian.
in_scope Boolean Salah Apakah kueri harus dibatasi untuk menggunakan data terindeks. Defaultnya adalah True.
query_type QueryType Salah Jenis kueri yang akan digunakan dengan Azure Search. Standarnya adalah simple
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.
semantic_configuration string Salah Konfigurasi semantik untuk kueri. Diperlukan ketika query_type adalah semantic atau vector_semantic_hybrid.
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.
max_search_queries Integer Salah Jumlah maksimum kueri yang ditulis ulang harus dikirim ke penyedia pencarian untuk satu pesan pengguna. Jika tidak ditentukan, sistem akan memutuskan jumlah kueri yang akan dikirim.
allow_partial_result Integer Salah Jika ditentukan sebagai true, sistem akan mengizinkan hasil pencarian parsial untuk digunakan dan permintaan gagal jika semua kueri gagal. Jika tidak ditentukan, atau ditentukan sebagai false, permintaan akan gagal jika ada kueri pencarian yang gagal.
include_contexts array Salah Properti konteks output yang disertakan. Jika tidak ditentukan, nilai defaultnya adalah citations dan intent. Nilai bisa ,citationsintent, all_retrieved_documents.

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 autentikasi identitas terkelola yang ditetapkan sistem

Opsi autentikasi untuk Azure OpenAI On Your Data saat menggunakan identitas terkelola yang ditetapkan sistem.

Nama Tipe Wajib Deskripsi
type string Benar Harus berupa system_assigned_managed_identity .

Opsi autentikasi identitas terkelola yang ditetapkan pengguna

Opsi autentikasi untuk Azure OpenAI On Your Data saat menggunakan identitas terkelola yang ditetapkan pengguna.

Nama Tipe Wajib Deskripsi
managed_identity_resource_id string Benar ID sumber daya identitas terkelola yang ditetapkan pengguna untuk digunakan untuk autentikasi.
type string Benar Harus berupa user_assigned_managed_identity .

Opsi autentikasi token akses

Opsi autentikasi untuk Azure OpenAI On Your Data saat menggunakan token akses.

Nama Tipe Wajib Deskripsi
access_token string Benar Token akses yang digunakan untuk autentikasi.
type string Benar Harus berupa access_token .

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 .
dimensions Integer Salah Jumlah dimensi yang harus dimiliki penyematan. Hanya didukung dalam text-embedding-3 model dan yang lebih baru.

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 .
dimensions Integer Salah Jumlah dimensi yang harus dimiliki penyematan. Hanya didukung dalam text-embedding-3 model dan yang lebih baru.

Opsi pemetaan bidang

Pengaturan opsional untuk mengontrol bagaimana bidang diproses saat menggunakan sumber daya Azure Search yang dikonfigurasi.

Nama Tipe Wajib Deskripsi
content_fields string[] Salah Nama bidang indeks yang harus diperlakukan sebagai konten.
vector_fields string[] Salah 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.

Jenis kueri

Jenis kueri pengambilan Azure Search yang harus dijalankan saat menggunakannya sebagai Azure OpenAI On Your Data.

Nilai Enum Deskripsi
simple Mewakili pengurai kueri sederhana default.
semantic Mewakili pengurai kueri semantik untuk pemodelan semantik tingkat lanjut.
vector Mewakili pencarian vektor atas data komputasi.
vector_simple_hybrid Mewakili kombinasi strategi kueri sederhana dengan data vektor.
vector_semantic_hybrid Mewakili kombinasi pencarian semantik dan kueri data vektor.

Contoh

Prasyarat:

  • Konfigurasikan penetapan peran dari sistem Azure OpenAI yang ditetapkan identitas terkelola ke layanan pencarian Azure. Peran yang diperlukan: Search Index Data Reader, Search Service Contributor.
  • 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, ,SearchEndpoint , SearchIndex.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint=https://example.search.windows.net
export SearchIndex=example-index

Instal paket openaipip 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")
search_endpoint = os.environ.get("SearchEndpoint")
search_index = os.environ.get("SearchIndex")

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_search",
                "parameters": {
                    "endpoint": search_endpoint,
                    "index_name": search_index,
                    "authentication": {
                        "type": "system_assigned_managed_identity"
                    }
                }
            }
        ]
    }
)

print(completion.model_dump_json(indent=2))