Udostępnij za pośrednictwem


Źródło danych — Azure AI Search

Konfigurowalne opcje usługi Azure AI Search podczas korzystania z usługi Azure OpenAI na danych. To źródło danych jest obsługiwane w wersji 2024-02-01interfejsu API .

Nazwa Typ Wymagane Opis
parameters Parametry Prawda Parametry do użycia podczas konfigurowania usługi Azure Search.
type ciąg Prawda Musi mieć wartość azure_search.

Parametry

Nazwa Typ Wymagane Opis
endpoint ciąg Prawda Bezwzględna ścieżka punktu końcowego zasobu usługi Azure Search do użycia.
index_name ciąg Prawda Nazwa indeksu, który ma być używany w przywołyowanym zasobie usługi Azure Search.
authentication Jeden z elementów ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions, onYourDataAccessTokenAuthenticationOptions Prawda Metoda uwierzytelniania używana podczas uzyskiwania dostępu do zdefiniowanego źródła danych.
embedding_dependency Jeden z elementów DeploymentNameVectorizationSource, EndpointVectorizationSource Nieprawda Zależność osadzania dla wyszukiwania wektorowego. Wymagane, jeśli query_type ma wartość vector, vector_simple_hybridlub vector_semantic_hybrid.
fields_mapping FieldsMappingOptions Nieprawda Dostosowane zachowanie mapowania pól do użycia podczas interakcji z indeksem wyszukiwania.
filter ciąg Nieprawda Filtr wyszukiwania.
in_scope typ logiczny (boolowski) Nieprawda Czy zapytania powinny być ograniczone do używania indeksowanych danych. Wartość domyślna to True.
query_type Typ zapytania Nieprawda Typ zapytania do użycia z usługą Azure Search. Wartość domyślna to simple
role_information ciąg Nieprawda 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.
semantic_configuration ciąg Nieprawda Semantyczna konfiguracja zapytania. Wymagane, jeśli query_type wartość to semantic lub vector_semantic_hybrid.
strictness liczba całkowita Nieprawda Skonfigurowana dokładność filtrowania istotności wyszukiwania. Im większa jest surowość, tym większa precyzja, ale niższa kompletność odpowiedzi. Wartość domyślna to 3.
top_n_documents liczba całkowita Nieprawda Skonfigurowana maksymalna liczba dokumentów do wyświetlenia dla skonfigurowanego zapytania. Wartość domyślna to 5.
max_search_queries liczba całkowita Nieprawda Maksymalna liczba przepisanych zapytań powinna być wysyłana do dostawcy wyszukiwania dla jednego komunikatu użytkownika. Jeśli nie zostanie określony, system zdecyduje o liczbie zapytań do wysłania.
allow_partial_result liczba całkowita Nieprawda Jeśli określono wartość true, system zezwoli na użycie częściowych wyników wyszukiwania, a żądanie zakończy się niepowodzeniem, jeśli wszystkie zapytania kończą się niepowodzeniem. Jeśli nie zostanie określony lub określony jako false, żądanie zakończy się niepowodzeniem, jeśli jakiekolwiek zapytanie wyszukiwania zakończy się niepowodzeniem.
include_contexts macierz Nieprawda Uwzględnione właściwości kontekstu wyjściowego. Jeśli nie zostanie określony, wartość domyślna to citations i intent. Wartości mogą mieć citationswartość ,intent, all_retrieved_documents.

Opcje uwierzytelniania klucza interfejsu API

Opcje uwierzytelniania dla usługi Azure OpenAI On Your Data przy użyciu klucza API.

Nazwa Typ Wymagane Opis
key ciąg Prawda Klucz interfejsu API do użycia do uwierzytelniania.
type ciąg Prawda Musi mieć wartość api_key.

Opcje uwierzytelniania tożsamości zarządzanej przypisanej przez system

Opcje uwierzytelniania usługi Azure OpenAI na danych podczas korzystania z tożsamości zarządzanej przypisanej przez system.

Nazwa Typ Wymagane Opis
type ciąg Prawda Musi mieć wartość system_assigned_managed_identity.

Opcje uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika

Opcje uwierzytelniania dla Azure OpenAI w odniesieniu do Twoich danych, korzystając z przypisanej przez użytkownika tożsamości zarządzanej.

Nazwa Typ Wymagane Opis
managed_identity_resource_id ciąg Prawda Identyfikator zasobu tożsamości zarządzanej przypisanej przez użytkownika do użycia do uwierzytelniania.
type ciąg Prawda Musi mieć wartość user_assigned_managed_identity.

Opcje uwierzytelniania tokenu dostępu

Opcje uwierzytelniania dla usługi Azure OpenAI Na danych podczas korzystania z tokenu dostępu.

Nazwa Typ Wymagane Opis
access_token ciąg Prawda Token dostępu do użycia do uwierzytelniania.
type ciąg Prawda Musi mieć wartość access_token.

Ź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.

Nazwa Typ Wymagane Opis
deployment_name ciąg Prawda Nazwa wdrożenia modelu osadzania w ramach tego samego zasobu usługi Azure OpenAI.
type ciąg Prawda Musi mieć wartość deployment_name.
dimensions liczba całkowita Nieprawda Liczba wymiarów osadzania powinna mieć wartość . Obsługiwane tylko w text-embedding-3 modelach i nowszych.

Ź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.

Nazwa Typ Wymagane Opis
endpoint ciąg 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 ciąg Prawda Musi mieć wartość endpoint.
dimensions liczba całkowita Nieprawda Liczba wymiarów osadzania powinna mieć wartość . Obsługiwane tylko w text-embedding-3 modelach i nowszych. Jest to obsługiwane w interfejsie API w wersji 2024-10-21.

Opcje mapowania pól

Opcjonalne ustawienia umożliwiające kontrolowanie sposobu przetwarzania pól podczas korzystania ze skonfigurowanego zasobu usługi Azure Search.

Nazwa Typ Wymagane Opis
content_fields ciąg znakowy[] Nieprawda Nazwy pól indeksu, które powinny być traktowane jako zawartość.
vector_fields ciąg znakowy[] Nieprawda Nazwy pól reprezentujących dane wektorowe.
content_fields_separator ciąg Nieprawda Wzorzec separatora, którego powinny używać pola zawartości. Wartość domyślna to \n.
filepath_field ciąg Nieprawda Nazwa pola indeksu do użycia jako ścieżka pliku.
title_field ciąg Nieprawda Nazwa pola indeksu, które ma być używane jako tytuł.
url_field ciąg Nieprawda Nazwa pola indeksu, które ma być używane jako adres URL.

Typ zapytania

Typ zapytania pobierania usługi Azure Search, które należy wykonać podczas korzystania z niego jako azure OpenAI On Your Data.

Wartość wyliczenia Opis
simple Reprezentuje domyślny, prosty analizator zapytań.
semantic Reprezentuje semantyczny analizator zapytań na potrzeby zaawansowanego modelowania semantycznego.
vector Reprezentuje wyszukiwanie wektorów na podstawie obliczonych danych.
vector_simple_hybrid Reprezentuje kombinację prostej strategii zapytania z danymi wektorowymi.
vector_semantic_hybrid Reprezentuje kombinację semantycznego wyszukiwania i wykonywania zapytań dotyczących danych wektorowych.

Przykłady

Wymagania wstępne:

  • Skonfiguruj przypisania ról z przypisanej przez system tożsamości zarządzanej systemu Azure OpenAI do usługi Azure Search. Wymagane role: Search Index Data Reader, Search Service Contributor.
  • 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, , ChatCompletionsDeploymentNameSearchEndpoint, SearchIndex.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint=https://example.search.windows.net
export SearchIndex=example-index

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")
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))