Atur upaya penalaran pengambilan (pratinjau)

Catatan

Pencarian Azure AI tersedia melalui portal Azure, REST API, dan Azure SDK. Ini juga mendukung Foundry IQ, lapisan pengetahuan terkelola yang mengubah konten perusahaan menjadi pangkalan pengetahuan yang dapat digunakan kembali dan sadar izin untuk agen di portal Microsoft Foundry.

Important

Fitur, kemampuan, atau properti yang ditandai (pratinjau) tidak tercakup dalam perjanjian tingkat layanan, tidak disarankan untuk beban kerja produksi, dan mungkin berubah atau dibatasi sebelum tersedia secara umum. Ketentuan pratinjau Pencarian Azure AI berlaku untuk semua fungsionalitas pratinjau, baik itu mandiri atau bagian dari fitur yang tersedia secara umum.

Dalam pengambilan agenik, Anda dapat menentukan tingkat pemrosesan model bahasa besar (LLM) untuk perencanaan kueri dan rumusan jawaban. Gunakan upaya penalaran pengambilan (pratinjau) untuk mengatur tingkat pemrosesan LLM yang memengaruhi biaya dan latensi. Pemrosesan LLM ekstra meningkatkan relevansi, tetapi juga membutuhkan waktu lebih lama dan menggunakan sumber daya LLM yang dapat ditagih.

Anda dapat mengatur properti ini dalam pangkalan pengetahuan atau permintaan pengambilan. Setelan basis pengetahuan menetapkan setelan bawaan untuk semua kueri, sedangkan setelan permintaan pengambilan mengesampingkan setelan bawaan untuk setiap kueri. Jika tidak ada pengaturan, layanan menggunakan low.

Dukungan penggunaan

Portal Azure Microsoft Foundry portal .NET SDK Python SDK Java SDK JavaScript SDK REST API
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Prasyarat

  • Pangkalan pengetahuan yang ada dengan setidaknya satu sumber pengetahuan dan konfigurasi model.

  • Izin untuk memperbarui dan mengkueri pangkalan pengetahuan. Konfigurasikan autentikasi tanpa kunci dengan peran Kontributor Layanan Pencarian dan Pembaca Data Indeks Pencarian yang ditetapkan ke akun pengguna Anda (disarankan) atau gunakan kunci API admin.

  • Paket pratinjau terbaru Azure.Search.Documents: dotnet add package Azure.Search.Documents --prerelease

  • Untuk autentikasi tanpa kunci, Azure.Identity paket: dotnet add package Azure.Identity

Pilih usaha penalaran

Pilih upaya penalaran berdasarkan kompromi yang Anda inginkan antara latensi, biaya, dan kedalaman penelusuran.

Tingkat upaya penalaran

Tingkat Deskripsi Rekomendasi Batasan
minimal Menonaktifkan perencanaan kueri berbasis LLM untuk memberikan biaya dan latensi terendah dalam proses pengambilan data berbasis agen. Ini melakukan pencarian teks dan vektor langsung di seluruh sumber pengetahuan yang tercantum di basis pengetahuan, dan mengembalikan pasase yang paling cocok. Karena semua sumber pengetahuan di pangkalan pengetahuan selalu dicari dan tidak ada ekspansi kueri yang dilakukan, perilaku dapat diprediksi dan mudah dikontrol. Ini juga berarti properti alwaysQueryKnowledgeSource pada permintaan pengambilan data diabaikan. Gunakan minimal untuk migrasi dari Search API atau saat Anda ingin mengelola perencanaan kueri sendiri.
low Mode bawaan pengambilan agen, menjalankan satu kali perencanaan kueri berbasis LLM dan pemilihan sumber pengetahuan. Mesin pengambilan agensi menghasilkan subkueri dan mengirimkannya ke berbagai sumber pengetahuan terpilih, kemudian menggabungkan hasilnya. Anda dapat mengaktifkan sintesis jawaban (pratinjau) untuk menghasilkan respons bahasa alami yang berdasarkan sumber dengan sitasi di dalam teks. Gunakan low saat Anda menginginkan keseimbangan antara latensi minimal dan pemrosesan yang lebih dalam.
  • 5.000 token jawaban.
  • Maksimum 50 dokumen untuk peringkat semantik, dan 10 dokumen jika ranker semantik menggunakan klasifikasi L3.
medium Menambahkan pencarian yang lebih dalam dan tumpukan pengambilan yang ditingkatkan ke pengambilan agenik untuk memaksimalkan kelengkapan. Setelah pencarian pertama, pengklasifikasi semantik presisi tinggi mengevaluasi dokumen yang diambil. Jika hasil awal tidak cukup relevan, layanan melakukan satu iterasi tindak lanjut menggunakan rencana kueri yang direvisi. Gunakan medium untuk memaksimalkan utilitas pengambilan pengetahuan yang dibantu LLM.
  • 10.000 token jawaban.
  • Maksimal 50 dokumen untuk peringkat semantik, dan 20 dokumen jika ranker semantik menggunakan klasifikasi L3.
  • Tersedia di wilayah tertentu.
auto Diawali dengan tahap penelusuran ringan. Jika pass pertama menyediakan grounding yang cukup, layanan mengembalikan hasilnya. Jika tidak, proses berlanjut ke perencanaan kueri berbasis LLM dengan tingkat upaya sedang. Gunakan auto saat Anda ingin layanan menyeimbangkan kedalaman dan latensi pengambilan untuk setiap permintaan.
  • Memerlukan REST API versi pratinjau 2026-08-01.
  • Membutuhkan model pada pangkalan pengetahuan.
  • Tersedia di semua wilayah yang mendukung penelusuran agenik.
  • Versi API yang lebih lama menampilkan 400 Bad Request.

Pencarian berulang untuk pengambilan dari media

Usaha penalaran pemulihan menengah memungkinkan pencarian berulang jika hasil awal tidak cukup relevan. Model pengklasifikasi semantik tambahan dipanggil untuk menentukan apakah iterasi kedua diperlukan.

Pengklasifikasi semantik:

  • Mengenali kapan ada cukup konteks untuk menjawab pertanyaan.

  • Coba lagi pada hasil yang tidak memadai, menggunakan informasi yang ada untuk konteks. Kueri baru mungkin memperinci detail lebih lanjut untuk mendapatkan detail yang lebih spesifik, atau memperluas pencarian. Log aktivitas dalam respons menunjukkan kueri yang dihasilkan yang digunakan untuk jawaban yang lebih komprehensif.

  • Menggunakan klasifikasi L3 untuk penilaian ulang. Rentang ini identik dengan peringkat L2, rentang absolut nol hingga 4,0.

Hanya ada satu percobaan ulang. Setiap iterasi menambahkan latensi dan biaya, sehingga sistem membatasi percobaan kembali ke satu pass. Iterasi kedua menambahkan token input ke alur kueri, yang menambah jumlah token input yang dapat ditagih secara keseluruhan.

Iterasi dapat menggunakan kembali sumber pengetahuan yang ada atau memilih sumber yang berbeda. Tahap kedua memilih sumber pengetahuan yang paling potensial untuk memberikan informasi yang hilang.

Dukungan wilayah untuk pengambilan data tingkat menengah

Anda dapat mengatur upaya penalaran pengambilan sedang jika layanan pencarian Anda berada di salah satu wilayah berikut:

  • US Timur 2
  • US Timur
  • US Tengah Selatan
  • Barat AS 3
  • Barat AS 2
  • US Barat
  • Jerman Barat Tengah
  • Eropa Utara
  • Swiss Utara
  • Swedia Tengah
  • Spanyol Tengah
  • UK Selatan
  • Korea Tengah
  • Jepang Timur
  • Asia Tenggara

Mengatur upaya penalaran dalam pangkalan pengetahuan

Atur retrievalReasoningEffort dalam definisi pangkalan pengetahuan untuk menetapkan default untuk kuerinya. Upaya auto penalaran memerlukan konfigurasi model. Contoh berikut mempertahankan yang ada knowledgeSources dan models konfigurasi, mengatur upaya penalaran ke auto, dan memperbarui pangkalan pengetahuan.

using Azure.Identity;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.KnowledgeBases.Models;

var endpoint = new Uri("<search-endpoint>");
var credential = new DefaultAzureCredential();
var knowledgeBaseName = "<knowledge-base-name>";

var indexClient = new SearchIndexClient(endpoint, credential);
var knowledgeBase = (
    await indexClient.GetKnowledgeBaseAsync(knowledgeBaseName)).Value;
knowledgeBase.RetrievalReasoningEffort =
    new KnowledgeRetrievalAutoReasoningEffort();
await indexClient.CreateOrUpdateKnowledgeBaseAsync(knowledgeBase);

Referensi:KnowledgeBase

Untuk menggunakan tingkat lain, ganti KnowledgeRetrievalAutoReasoningEffort dengan KnowledgeRetrievalMinimalReasoningEffort, KnowledgeRetrievalLowReasoningEffort, atau KnowledgeRetrievalMediumReasoningEffort.

from azure.identity import DefaultAzureCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.knowledgebases.models import (
    KnowledgeRetrievalAutoReasoningEffort,
)

endpoint = "<search-endpoint>"
credential = DefaultAzureCredential()
knowledge_base_name = "<knowledge-base-name>"

index_client = SearchIndexClient(endpoint, credential)
knowledge_base = index_client.get_knowledge_base(knowledge_base_name)
knowledge_base.retrieval_reasoning_effort = (
    KnowledgeRetrievalAutoReasoningEffort()
)
index_client.create_or_update_knowledge_base(knowledge_base)

Referensi:KnowledgeBase

Untuk menggunakan tingkat lain, ganti KnowledgeRetrievalAutoReasoningEffort dengan KnowledgeRetrievalMinimalReasoningEffort, KnowledgeRetrievalLowReasoningEffort, atau KnowledgeRetrievalMediumReasoningEffort.

@api-version = 2026-08-01-preview
@knowledge-base-url = {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}

PUT {{knowledge-base-url}}?api-version={{api-version}}
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
  "name": "{{knowledge-base-name}}",
  "knowledgeSources": [
    {
      "name": "{{knowledge-source-name}}"
    }
  ],
  "models": [
    {
      "kind": "azureOpenAI",
      "azureOpenAIParameters": {
        "resourceUri": "{{aoai-endpoint}}",
        "authIdentity": null,
        "deploymentId": "{{model-deployment-name}}",
        "modelName": "{{model-name}}"
      }
    }
  ],
  "retrievalReasoningEffort": {
    "kind": "auto"
  }
}

Referensi:Pangkalan Pengetahuan - Buat atau Perbarui

Untuk menggunakan tingkat lain, atur retrievalReasoningEffort.kind ke minimal, low, atau medium.

Mengatur usaha analisis dalam permintaan pengambilan data

Atur retrievalReasoningEffort dalam permintaan pengambilan untuk mengesampingkan setelan bawaan basis pengetahuan untuk permintaan tersebut. Contoh berikut mengirim pesan, menggunakan low untuk mengambil alih auto default dari bagian sebelumnya, dan mengaktifkan sintesis jawaban (pratinjau).

using Azure.Identity;
using Azure.Search.Documents.KnowledgeBases;
using Azure.Search.Documents.KnowledgeBases.Models;

var endpoint = new Uri("<search-endpoint>");
var credential = new DefaultAzureCredential();
var knowledgeBaseName = "<knowledge-base-name>";

var kbClient = new KnowledgeBaseRetrievalClient(
    endpoint, knowledgeBaseName, credential);
var request = new KnowledgeBaseRetrievalRequest
{
    RetrievalReasoningEffort =
        new KnowledgeRetrievalLowReasoningEffort(),
    OutputMode = KnowledgeRetrievalOutputMode.AnswerSynthesis
};

request.Messages.Add(
    new KnowledgeBaseMessage(
        content: new[] {
            new KnowledgeBaseMessageTextContent("What is the return policy?")
        }
    ) { Role = "user" }
);

var result = await kbClient.RetrieveAsync(request);

Referensi:KnowledgeBaseRetrievalRequest

from azure.identity import DefaultAzureCredential
from azure.search.documents.knowledgebases import KnowledgeBaseRetrievalClient
from azure.search.documents.knowledgebases.models import (
    KnowledgeBaseMessage,
    KnowledgeBaseMessageTextContent,
    KnowledgeBaseRetrievalRequest,
    KnowledgeRetrievalOutputMode,
    KnowledgeRetrievalLowReasoningEffort,
)

endpoint = "<search-endpoint>"
credential = DefaultAzureCredential()
knowledge_base_name = "<knowledge-base-name>"

kb_client = KnowledgeBaseRetrievalClient(
    endpoint,
    credential,
    knowledge_base_name=knowledge_base_name,
)
request = KnowledgeBaseRetrievalRequest(
    messages=[
        KnowledgeBaseMessage(
            role="user",
            content=[
                KnowledgeBaseMessageTextContent(
                    text="What is the return policy?"
                )
            ],
        )
    ],
    retrieval_reasoning_effort=KnowledgeRetrievalLowReasoningEffort(),
    output_mode=KnowledgeRetrievalOutputMode.ANSWER_SYNTHESIS,
)

result = kb_client.retrieve(request)

Referensi:KnowledgeBaseRetrievalRequest

@api-version = 2026-08-01-preview
@retrieve-url = {{search-endpoint}}/knowledgebases/{{knowledge-base-name}}/retrieve

POST {{retrieve-url}}?api-version={{api-version}}
Content-Type: application/json
Authorization: Bearer {{search-access-token}}

{
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "What is the return policy?"
        }
      ]
    }
  ],
  "retrievalReasoningEffort": {
    "kind": "low"
  },
  "outputMode": "answerSynthesis"
}

Referensi:Pengambilan Pengetahuan - Pencarian

Permintaan pengambilan mengembalikan jawaban dasar berdasarkan sumber pengetahuan yang dikonfigurasi di pangkalan pengetahuan.