Dizinli Azure SQL bilgi kaynağı oluşturma (önizleme)

Note

Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.

Important

Bu özellikler ve işlevler 2026-05-01-preview REST API'sinin bir parçasıdır. 2026-05-01-preview, Azure aboneliğinizin bir parçası olarak size lisanslanmıştır ve Microsoft Ürün Koşulları, Microsoft Ürünler ve Hizmetler Veri Koruma Eki ("DPA") ve Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları belgelerinde "Önizlemeler" için geçerli olan koşullara tabidir.

2026-05-01-preview, diğer Microsoft hizmetleri ve üçüncü taraf hizmetlerle bağlantıları destekler. Bu hizmetlerin kullanımı ilgili koşullara tabidir ve Azure uyumluluk sınırının dışında veri işleme veya depolamanın yanı sıra Azure uyumluluk sınırına akan verilere neden olabilir.

Verilerinizin kuruluşunuzun uyumluluk ve coğrafi sınırları dışında akıp akmayacağını ve ilgili etkileri ve uygun izinlerin, sınırların ve onayların sağlanıp sağlanmayacağını yönetmek sizin sorumluluğunuzdadır.

Özel kullanım örnekleriniz bağlamında oluşturduğunuz uygulamaları dikkatle gözden geçirmek ve test etmek ve tüm uygun kararları ve özelleştirmeleri yapmak sizin sorumluluğunuzdadır. Bu, metapromptlar, içerik filtreleri veya diğer güvenlik sistemleri gibi sorumlu yapay zeka risk azaltmalarınızı uygulamayı ve uygulamalarınızın uygun kalite, güvenilirlik, güvenlik ve güvenilirlik standartlarını karşılamasını sağlamayı içerir. Daha fazla bilgi için bkz. Azure Yapay Zeka Arama Saydamlık Notu.

dizinlenmiş Azure SQL bilgi kaynağı (önizleme), Azure SQL Veritabanı'ten veya Azure SQL Yönetilen Örneği'tan satırları Azure Yapay Zeka Arama'teki etmen tabanlı alma işlem hattına aktarır. Bilgi kaynakları bağımsız olarak oluşturulur, bilgi bankasında başvurulur ve çalışma zamanında bilgi bankası sorgulandığında temel veri olarak kullanılır.

Azure Blob Depolama ve OneLake gibi dosya tabanlı bilgi kaynaklarından farklı olarak, her SQL satırı tek bir mantıksal belge olarak değerlendirilir. Dizin şeması, müşteri tarafından sabit bir belge şeması yerine açık sütun eşlemeleri aracılığıyla yönlendirilir.

Dizine Azure SQL bilgi kaynağı oluşturduğunuzda, aşağıdaki Azure Yapay Zeka Arama nesnelerini otomatik olarak oluşturmak için bir SQL veri kaynağı, isteğe bağlı sütun eşlemeleri ve isteğe bağlı modeller belirtirsiniz:

  • SQL tablosunu veya görünümünü temsil eden bir veri kaynağı.
  • Alanları sütun eşlemelerinizden türetilen bir dizin.
  • Eklemeler oluşturan bir beceri kümesi. Hizmet, yalnızca embeddingColumns belirttiğinizde bir beceri kümesi oluşturur.
  • Alma işlem hattını yönlendirmek için önceki nesneleri kullanan bir dizin oluşturucu.

Oluşturulan dizin oluşturucu, önkoşulları, değişiklik algılama ilkeleri ve sınırlamaları dizine alınan Azure SQL bilgi kaynakları için de geçerli olan Azure SQL dizin oluşturucu uygundur. Daha fazla bilgi için Azure SQL dizin oluşturucu belgelerine bakın.

Kullanım desteği

Azure portalı Microsoft Foundry portalı .NET SDK Python SDK'sı Java SDK JavaScript SDK'sı REST API
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Prerequisites

  • Azure Yapay Zeka Arama hizmetinin her hangi bir bölgesinde özerk bilgi edinimini sağlayan.

  • Azure SQL dizin oluşturucu önkoşullarının tamamlanması, örneğin:

    • İçeri aktarılacak bir tabloya veya görünüme sahip bir Azure SQL Veritabanı ya da Azure SQL Yönetilen Örneği.

    • Kaynak tablo veya görünümde tek değerli bir birincil anahtar.

    • Görünümler için, üst sınır tabanlı değişiklik algılamaya uygun bir sütun. rowversion sütununu şiddetle tavsiye ederiz.

  • Bilgi kaynakları oluşturma izinleri. Kullanıcı hesabınıza atanan Arama Hizmeti Katkıda Bulunanı ve Arama Dizini Veri Katkıda Bulunanı rolleriyle anahtarsız kimlik doğrulamasını yapılandırın (önerilir) veya bir API anahtarı kullanın.

  • embeddingColumns belirtirseniz, arama hizmetinin ekleme modelini barındıran Microsoft Foundry kaynağında Cognitive Services User izinleriyle managed identity olması gerekir.

Sınırlamalar ve Dikkat Edilecek Hususlar

  • Bir bilgi kaynağı, tam olarak bir tablodan veya bir görünümden veri alabilir.
  • Kaynak tablo veya görünümün tek değerli bir birincil anahtarı olmalıdır. Bileşik anahtarlar desteklenmez.
  • Birincil anahtar otomatik olarak bulunur ve geçersiz kılınamaz.
  • contentExtractionMode yalnızca "minimal"destekler.
  • Görüntü ayıklama ve görüntü sözelleştirme desteklenmez.
  • Gerçek zamanlı eşitleme desteklenmez. Oluşturulan dizin oluşturucu zamanlama tabanlıdır.
  • Gerçek zamanlı SQL alma desteklenmez. Bilgi kaynağı uzak değil, dizine eklenmiştir.

Oluşturulan dizin oluşturucuyu hazırlayın

Dizine alınmış Azure SQL bilgi kaynağı, alımı yönlendirmek için otomatik olarak bir dizin oluşturucu oluşturur. Bilgi kaynağını oluşturmadan önce aşağıdaki ayrıntıları gözden geçirin.

Değişiklik algılama

Oluşturulan dizin oluşturucu standart Azure SQL dizin oluşturucu değişiklik algılamasını kullanır:

Kimlik Doğrulaması

Oluşturulan dizin oluşturucu iki kimlik doğrulama seçeneğini destekler:

  • SQL kimlik doğrulaması: Bağlantı dizesinde bir kullanıcı adı ve parola girin.

  • Yönetilen kimlik doğrulaması: SQL kaynağında Azure RBAC ve veritabanı düzeyinde rollere sahip sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği kullanın.

bağlantı dizesi biçimleri, rol gereksinimleri ve ayarlama adımları için Azure SQL dizin oluşturucu önkoşullarına ve Yönetilen kimlik aracılığıyla bağlanma'ya bakın.

Mevcut bilgi kaynaklarını denetleme

Bilgi kaynağı üst düzey, yeniden kullanılabilir bir nesnedir. Mevcut bilgi kaynakları hakkında bilgi edinmek, yeni nesneleri yeniden kullanmak veya adlandırmak için yararlıdır.

Bilgi kaynaklarını ada ve türe göre listelemek için aşağıdaki kodu çalıştırın.

// List knowledge sources by name and type
using Azure.Search.Documents.Indexes;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
var knowledgeSources = indexClient.GetKnowledgeSourcesAsync();

Console.WriteLine("Knowledge Sources:");

await foreach (var ks in knowledgeSources)
{
    Console.WriteLine($"  Name: {ks.Name}, Type: {ks.GetType().Name}");
}

Başvuru:SearchIndexClient

# List knowledge sources by name and type
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient

index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))

for ks in index_client.list_knowledge_sources():
    print(f"  - {ks.name} ({ks.kind})")

Başvuru:SearchIndexClient

### List knowledge sources by name and type
GET {{search-url}}/knowledgesources?api-version={{api-version}}&$select=name,kind
api-key: {{api-key}}

Başvuru:Bilgi Kaynakları - Liste

JSON tanımını gözden geçirmek için, ismiyle tek bir bilgi kaynağını da döndürebilirsiniz.

using Azure.Search.Documents.Indexes;
using System.Text.Json;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);

// Specify the knowledge source name to retrieve
string ksNameToGet = "earth-knowledge-source";

// Get its definition
var knowledgeSourceResponse = await indexClient.GetKnowledgeSourceAsync(ksNameToGet);
var ks = knowledgeSourceResponse.Value;

// Serialize to JSON for display
var jsonOptions = new JsonSerializerOptions 
{ 
    WriteIndented = true,
    DefaultIgnoreCondition = System.Text.Json.Serialization.JsonIgnoreCondition.Never
};
Console.WriteLine(JsonSerializer.Serialize(ks, ks.GetType(), jsonOptions));

Başvuru:SearchIndexClient

# Get a knowledge source definition
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
import json

index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))

ks = index_client.get_knowledge_source("knowledge_source_name")
print(json.dumps(ks.as_dict(), indent = 2))

Başvuru:SearchIndexClient

### Get a knowledge source definition
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
api-key: {{api-key}}

Başvuru:Bilgi Kaynakları - Get

Aşağıdaki JSON, dizine alınan Azure SQL bilgi kaynağı için örnek bir yanıttır.

{
  "name": "indexedsqlks",
  "kind": "indexedSql",
  "description": "Sample indexed Azure SQL knowledge source.",
  "encryptionKey": null,
  "indexedSqlParameters": {
    "connectionString": "<SQL database connection string>",
    "tableOrView": "dbo.tbl_hotels",
    "contentColumns": [
      { "name": "hotelName", "sourceField": "HotelName", "searchFieldType": "Edm.String" },
      { "name": "description", "sourceField": "Description", "searchFieldType": "Edm.String" }
    ],
    "embeddingColumns": [
      { "name": "descriptionVector", "sourceField": "Description" }
    ],
    "ingestionParameters": {
      "contentExtractionMode": "minimal",
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "<Foundry resource endpoint URI>",
          "deploymentId": "text-embedding-3-large",
          "modelName": "text-embedding-3-large"
        }
      },
      "createdResources": {
        "datasource": "indexedsqlks-datasource",
        "indexer": "indexedsqlks-indexer",
        "skillset": "indexedsqlks-skillset",
        "index": "indexedsqlks-index"
      }
    }
  }
}

Bilgi kaynağı oluşturma

Dizinli Azure SQL bilgi kaynağı oluşturmak için aşağıdaki kodu çalıştırın.

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

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

var embeddingParams = new AzureOpenAIVectorizerParameters
{
    ResourceUri = new Uri(aoaiEndpoint),
    DeploymentName = aoaiEmbeddingDeployment,
    ModelName = aoaiEmbeddingModel,
    ApiKey = aoaiKey
};

var ingestionParams = new KnowledgeSourceIngestionParameters
{
    ContentExtractionMode = "minimal",
    EmbeddingModel = new KnowledgeSourceAzureOpenAIVectorizer
    {
        AzureOpenAIParameters = embeddingParams
    }
};

var sqlParams = new IndexedSqlKnowledgeSourceParameters(
    connectionString: sqlConnectionString,
    tableOrView: "dbo.tbl_hotels")
{
    ContentColumns =
    {
        new ContentColumnMapping("hotelName", "HotelName", "Edm.String"),
        new ContentColumnMapping("description", "Description", "Edm.String")
    },
    EmbeddingColumns =
    {
        new EmbeddingColumnMapping("descriptionVector", "Description")
    },
    IngestionParameters = ingestionParams
};

var knowledgeSource = new IndexedSqlKnowledgeSource(
    name: "indexedsqlks",
    indexedSqlParameters: sqlParams)
{
    Description = "Indexed Azure SQL knowledge source."
};

await indexClient.CreateOrUpdateKnowledgeSourceAsync(knowledgeSource);
Console.WriteLine($"Knowledge source '{knowledgeSource.Name}' created or updated successfully.");

Reference:SearchIndexClient, IndexedSqlKnowledgeSource

from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
    AzureOpenAIVectorizerParameters,
    ContentColumnMapping,
    EmbeddingColumnMapping,
    IndexedSqlKnowledgeSource,
    IndexedSqlKnowledgeSourceParameters,
)
from azure.search.documents.knowledgebases.models import (
    KnowledgeSourceAzureOpenAIVectorizer,
    KnowledgeSourceIngestionParameters,
)

index_client = SearchIndexClient(endpoint="search_url", credential=AzureKeyCredential("api_key"))

embedding_params = AzureOpenAIVectorizerParameters(
    resource_url="aoai_endpoint",
    deployment_name="aoai_embedding_deployment",
    model_name="aoai_embedding_model",
    api_key="aoai_key",
)

ingestion_params = KnowledgeSourceIngestionParameters(
    content_extraction_mode="minimal",
    embedding_model=KnowledgeSourceAzureOpenAIVectorizer(
        azure_open_ai_parameters=embedding_params
    ),
)

knowledge_source = IndexedSqlKnowledgeSource(
    name="indexedsqlks",
    description="Indexed Azure SQL knowledge source.",
    indexed_sql_parameters=IndexedSqlKnowledgeSourceParameters(
        connection_string="Server=tcp:{server}.database.windows.net,1433;Database={db};...;",
        table_or_view="dbo.tbl_hotels",
        content_columns=[
            ContentColumnMapping(
                name="hotelName",
                source_field="HotelName",
                search_field_type="Edm.String",
            ),
            ContentColumnMapping(
                name="description",
                source_field="Description",
                search_field_type="Edm.String",
            ),
        ],
        embedding_columns=[
            EmbeddingColumnMapping(
                name="descriptionVector",
                source_field="Description",
            )
        ],
        ingestion_parameters=ingestion_params,
    ),
)

index_client.create_or_update_knowledge_source(knowledge_source=knowledge_source)
print(f"Knowledge source '{knowledge_source.name}' created or updated successfully.")

Başvuru:SearchIndexClient

### Create an indexed Azure SQL knowledge source
PUT {{search-url}}/knowledgesources/indexedsqlks?api-version=2026-05-01-preview
api-key: {{api-key}}
Content-Type: application/json

{
  "name": "indexedsqlks",
  "kind": "indexedSql",
  "description": "Indexed Azure SQL knowledge source.",
  "indexedSqlParameters": {
    "connectionString": "Server=tcp:{server}.database.windows.net,1433;Database={db};...;",
    "tableOrView": "dbo.tbl_hotels",
    "contentColumns": [
      { "name": "hotelName", "sourceField": "HotelName", "searchFieldType": "Edm.String" },
      { "name": "description", "sourceField": "Description", "searchFieldType": "Edm.String" }
    ],
    "embeddingColumns": [
      { "name": "descriptionVector", "sourceField": "Description" }
    ],
    "ingestionParameters": {
      "contentExtractionMode": "minimal",
      "embeddingModel": {
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
          "resourceUri": "{{aoai-endpoint}}",
          "deploymentId": "{{aoai-embedding-deployment}}",
          "modelName": "{{aoai-embedding-model}}",
          "apiKey": "{{aoai-key}}"
        }
      }
    }
  }
}

Başvuru:Bilgi Kaynakları - Oluşturma veya Güncelleştirme

İçeri aktarılacak SQL tablosunu veya görünümünü belirlemek ve oluşturulan dizindeki alanlara dönüşecek sütun eşlemelerini tanımlamak için indexedSqlParameters kullanın. Görünümler için, değişiklik algılamasında kullanılacak eşik sütununu belirtin.

Sütun eşlemesi

SQL metin sütunlarını oluşturulan Azure Yapay Zeka Arama dizinindeki aranabilir alanlara eşlemek için kullanıncontentColumns. Her içerik sütunu eşlemesi, hedef dizin alanını, kaynak SQL sütununu ve Azure Yapay Zeka Arama alan türünü belirtir. contentColumns için Edm.String'i kullanın.

Gömme eşleme

SQL metin sütunlarını oluşturulan vektör alanlarına eşlemek için kullanın embeddingColumns . Ekleme sütunlarını kullanırken içinde ingestionParameters bir ekleme modeli belirtin.

Dizinlenmiş Azure SQL bilgi kaynakları için, SQL alma işlemi satır tabanlı olduğundan ve ikili belgelerden içerik ayıklamadığından, contentExtractionMode değeri "minimal" olmalıdır. Görüntü ayıklama ve görüntü sözelleştirme desteklenmez, bu nedenle chatCompletionModel, assetStore, aiServicesve görüntüyle ilgili ayarların hiçbir etkisi yoktur.

Varsayılan oluşturma ve doğrulama kuralları

Dizine Azure SQL bilgi kaynağı oluşturduğunuzda aşağıdaki varsayılanlar geçerlidir.

  • contentColumns öğesini atlarsanız hizmet, metin olarak güvenle temsil edilebilen SQL sütunlarını, Edm.String değerinin name değerine eşit olduğu 1:1 eşleme kullanarak oluşturulan dizindeki sourceField alanlarına otomatik olarak eşler.

  • atlarsanız embeddingColumns, hizmet vektör alanları oluşturmaz ve ekleme becerisi yapılandırmaz.

  • embeddingColumns bağımsızdır contentColumns. Vektörlerin alınabilir metne karşılık gelen olmasını sağlamak için her iki diziye de aynı SQL sütununu ekleyin.

  • Kaynak tablo veya görünümün birincil anahtarı otomatik olarak bulunur. Açık geçersiz kılma işlemleri desteklenmez ve kaynakta tek değerli bir birincil anahtar bulunmalıdır.

Alım durumunu denetleme

Bilgi kaynağı türü ve dizin oluşturucu işlem hattı oluşturan ve arama dizinini dolduran bilgi kaynakları için ayrıntılı dizin oluşturma hataları dahil olmak üzere alım ilerleme durumunu ve durumunu izlemek için aşağıdaki kodu çalıştırın.

using Azure.Search.Documents.Indexes;
using System.Text.Json;

var indexClient = new SearchIndexClient(new Uri(searchEndpoint), new AzureKeyCredential(apiKey));

// Get knowledge source ingestion status
var statusResponse = await indexClient.GetKnowledgeSourceStatusAsync(knowledgeSourceName);
var status = statusResponse.Value;

// Serialize to JSON for display
var json = JsonSerializer.Serialize(status, new JsonSerializerOptions { WriteIndented = true });
Console.WriteLine(json);

Başvuru:SearchIndexClient

# Check knowledge source ingestion status
from azure.core.credentials import AzureKeyCredential
from azure.search.documents.indexes import SearchIndexClient
import json

index_client = SearchIndexClient(endpoint="search_url", credential=AzureKeyCredential("api_key"))

status = index_client.get_knowledge_source_status("knowledge_source_name")
print(json.dumps(status.as_dict(), indent=2))

Başvuru:SearchIndexClient

### Check knowledge source ingestion status
GET {{search-url}}/knowledgesources/{{knowledge-source-name}}/status?api-version={{api-version}}
api-key: {{api-key}}
Content-Type: application/json 

Başvuru:Bilgi Kaynakları - Durumu Al

Alma parametrelerini içeren ve etkin olarak içerik alan bir istek için yanıt aşağıdaki örneğe benzer olabilir.

{
  "kind": "azureBlob",
  "synchronizationStatus": "active",
  "synchronizationInterval": "1d",
  "currentSynchronizationState": {
    "startTime": "2026-04-10T19:30:00Z",
    "itemUpdatesProcessed": 1100,
    "itemsUpdatesFailed": 100,
    "itemsSkipped": 1100,
    "errors": [
      {
        "key": "Item id 1",
        "docURL": "https://contoso.blob.core.windows.net/contracts/2024/Q4/doc-00023.csv",
        "statusCode": 400,
        "componentName": "DocumentExtraction.AzureBlob.MyDataSource",
        "errorMessage": "Could not read the value of column 'foo' at index '0'.",
        "details": "The file could not be parsed.",
        "documentationLink": "https://go.microsoft.com/fwlink/?linkid=2049388"
      }
    ]
  },
  "lastSynchronizationState": {
    "status": "partialSuccess",
    "startTime": "2026-04-09T19:30:00Z",
    "endTime": "2026-04-09T19:40:01Z",
    "itemUpdatesProcessed": 1100,
    "itemsUpdatesFailed": 100,
    "itemsSkipped": 1100,
    "errors": null
  },
  "statistics": {
    "totalSynchronizations": 25,
    "averageSynchronizationDuration": "00:15:20",
    "averageItemsProcessedPerSynchronization": 500
  }
}

Note

kind Belge düzeyi hata ayrıntılarını içeren özellik ve currentSynchronizationState.errors[] dizi, 2026-04-01 API sürümünden itibaren kullanılabilir. Önceki API sürümleri için bu alanlar döndürülmüyor. Bu lastSynchronizationState.status alan 2026-04-01 sürümünde de yenidir.

Oluşturulan nesneleri gözden geçirme

Bu bilgi kaynağını oluşturduğunuzda Azure Yapay Zeka Arama otomatik olarak bir veri kaynağı, beceri kümesi, dizin oluşturucu ve dizin oluşturur. Oluşturma yanıtı altında createdResourcesher nesneyi listeler.

Bu nesneler sabit bir şablona göre oluşturulur ve adları bilgi kaynağının adına göre oluşturulur. Nesne adlarını değiştiremezsiniz. Değişiklikler dizin oluşturucu işlem hattını bozan hatalar veya uyumsuzluklara neden olabileceğinden, bu nesneleri doğrudan düzenlemekten kaçının.

Nesne oluşturmayı doğrulamak için Azure portalını kullanabilirsiniz. İş akışı şu şekildedir:

  1. İndeksleyicide başarılı veya başarısız iletileri olup olmadığını denetleyin. Bağlantı veya kota hataları burada görünür.

  2. Veri deponuzla bağlantıyı doğrulamak için veri kaynağını denetleyin. Bağlantı, bilgi kaynağını nasıl yapılandırdığınıza bağlı olarak bir bağlantı dizesi veya yönetilen kimlik kullanır.

  3. İçeriğinizin nasıl parçalara ayrıldığını ve isteğe bağlı olarak nasıl vektörleştirildiğini görmek için beceri kümesini inceleyin.

  4. hangi alanların aranabilir ve filtrelenebilir olduğu ve benzerlik araması için vektörlerin depolandığı alanlar dahil olmak üzere içeriğinizin dizine nasıl eklendiğini ve alma için nasıl kullanıma sunulduğuna bakmak için dizini denetleyin. Oluşturulan dizinde sorgu çalıştırmak için Arama Gezgini'ni kullanın.

Bilgi bankasına atama

Bilgi kaynağından memnunsanız bunu bir bilgi bankasına ekleyin.

Bilgi bankasına sorgu yapma

Bilgi bankası yapılandırıldıktan sonra, bilgi kaynağını sorgulamak için alma eylemini veya MCP uç noktasını çağırın .

Bilgi kaynağını silme

Bilgi kaynağını silebilmeniz için önce, buna başvuran bilgi bankalarını silmeniz veya başvuruyu kaldırmak için bilgi bankası tanımını güncelleştirmeniz gerekir. Dizin ve dizin oluşturucu işlem hattı oluşturan bilgi kaynakları için , oluşturulan tüm nesneler de silinir. Ancak, bilgi kaynağı oluşturmak için mevcut bir dizini kullandıysanız dizininiz silinmez.

Kullanımda olan bir bilgi kaynağını silmeye çalışırsanız, eylem başarısız olur ve etkilenen bilgi bankalarının listesini döndürür.

Bilgi kaynağını silmek için:

  1. Arama hizmetinizdeki tüm bilgi bankalarının listesini alın.

    using Azure.Search.Documents.Indexes;
    
    var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
    var knowledgeBases = indexClient.GetKnowledgeBasesAsync();
    
    Console.WriteLine("Knowledge Bases:");
    
    await foreach (var kb in knowledgeBases)
    {
        Console.WriteLine($"  - {kb.Name}");
    }
    

    Başvuru:SearchIndexClient

    Örnek bir yanıt aşağıdaki gibi görünebilir:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Bilgi kaynağı başvurularını denetlemek için tek bir bilgi bankası tanımı alın.

    using Azure.Search.Documents.Indexes;
    using System.Text.Json;
    
    var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
    
    // Specify the knowledge base name to retrieve
    string kbNameToGet = "earth-knowledge-base";
    
    // Get a specific knowledge base definition
    var knowledgeBaseResponse = await indexClient.GetKnowledgeBaseAsync(kbNameToGet);
    var kb = knowledgeBaseResponse.Value;
    
    // Serialize to JSON for display
    string json = JsonSerializer.Serialize(kb, new JsonSerializerOptions { WriteIndented = true });
    Console.WriteLine(json);
    

    Başvuru:SearchIndexClient

    Örnek bir yanıt aşağıdaki gibi görünebilir:

     {
       "Name": "earth-knowledge-base",
       "KnowledgeSources": [
         {
           "Name": "earth-knowledge-source"
         }
       ],
       "Models": [
         {}
       ],
       "RetrievalReasoningEffort": {},
       "OutputMode": {},
       "ETag": "\u00220x8DE278629D782B3\u0022",
       "EncryptionKey": null,
       "Description": null,
       "RetrievalInstructions": null,
       "AnswerInstructions": null
     }
    
  3. Bilgi bankasını silin veya birden çok bilgi kaynağınız varsa, kaynağı kaldırmak için bilgi bankasını güncelleştirin. Bu örnekte silme işlemi gösterilmektedir.

    using Azure.Search.Documents.Indexes;
    var indexClient = new SearchIndexClient(new Uri(searchEndpoint), credential);
    
    await indexClient.DeleteKnowledgeBaseAsync(knowledgeBaseName);
    System.Console.WriteLine($"Knowledge base '{knowledgeBaseName}' deleted successfully.");
    

    Başvuru:SearchIndexClient

  4. Bilgi kaynağını silin.

    await indexClient.DeleteKnowledgeSourceAsync(knowledgeSourceName);
    System.Console.WriteLine($"Knowledge source '{knowledgeSourceName}' deleted successfully.");
    

    Başvuru:SearchIndexClient

  1. Arama hizmetinizdeki tüm bilgi bankalarının listesini alın.

    # Get knowledge bases
    from azure.core.credentials import AzureKeyCredential
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    
    print("Knowledge Bases:")
    for kb in index_client.list_knowledge_bases():
        print(f"  - {kb.name}")
    

    Başvuru:SearchIndexClient

    Örnek bir yanıt aşağıdaki gibi görünebilir:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Bilgi kaynağı başvurularını denetlemek için tek bir bilgi bankası tanımı alın.

    # Get a knowledge base definition
    from azure.core.credentials import AzureKeyCredential
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    kb = index_client.get_knowledge_base("knowledge_base_name")
    print(kb)
    

    Başvuru:SearchIndexClient

    Örnek bir yanıt aşağıdaki gibi görünebilir:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks",
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Bilgi bankasını silin veya birden çok bilgi kaynağınız varsa, kaynağı kaldırmak için bilgi bankasını güncelleştirin. Bu örnekte silme işlemi gösterilmektedir.

    # Delete a knowledge base
    from azure.core.credentials import AzureKeyCredential 
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    index_client.delete_knowledge_base("knowledge_base_name")
    print(f"Knowledge base deleted successfully.")
    

    Başvuru:SearchIndexClient

  4. Bilgi kaynağını silin.

    # Delete a knowledge source
    from azure.core.credentials import AzureKeyCredential 
    from azure.search.documents.indexes import SearchIndexClient
    
    index_client = SearchIndexClient(endpoint = "search_url", credential = AzureKeyCredential("api_key"))
    index_client.delete_knowledge_source("knowledge_source_name")
    print(f"Knowledge source deleted successfully.")
    

    Başvuru:SearchIndexClient

  1. Arama hizmetinizdeki tüm bilgi bankalarının listesini alın.

    ### Get knowledge bases
    GET {{search-url}}/knowledgebases?api-version={{api-version}}&$select=name
    api-key: {{api-key}}
    

    Başvuru:Bilgi Bankaları - Liste

    Örnek bir yanıt aşağıdaki gibi görünebilir:

     {
         "@odata.context": "https://my-search-service.search.windows.net/$metadata#knowledgebases(name)",
         "value": [
         {
             "name": "my-kb"
         },
         {
             "name": "my-kb-2"
         }
         ]
     }
    
  2. Bilgi kaynağı başvurularını denetlemek için tek bir bilgi bankası tanımı alın.

    ### Get a knowledge base definition
    GET {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
    api-key: {{api-key}}
    

    Başvuru:Bilgi Bankaları - Get

    Örnek bir yanıt aşağıdaki gibi görünebilir:

     {
       "name": "my-kb",
       "description": null,
       "retrievalInstructions": null,
       "answerInstructions": null,
       "outputMode": null,
       "knowledgeSources": [
         {
           "name": "my-blob-ks",
         }
       ],
       "models": [],
       "encryptionKey": null,
       "retrievalReasoningEffort": {
         "kind": "low"
       }
     }
    
  3. Bilgi bankasını silin veya birden çok bilgi kaynağınız varsa, kaynağı kaldırmak için bilgi bankasını güncelleştirin. Bu örnekte silme işlemi gösterilmektedir.

    ### Delete a knowledge base
    DELETE {{search-url}}/knowledgebases/{{knowledge-base-name}}?api-version={{api-version}}
    api-key: {{api-key}}
    

    Başvuru:Bilgi Tabanları - Sil

  4. Bilgi kaynağını silin.

    ### Delete a knowledge source
    DELETE {{search-url}}/knowledgesources/{{knowledge-source-name}}?api-version={{api-version}}
    api-key: {{api-key}}
    

    Başvuru:Bilgi Kaynakları - Sil