Ź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-01
interfejsu API .
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
parameters |
Parametry | Prawda | Parametry do użycia podczas konfigurowania usługi Azure Search. |
type |
string | Prawda | Musi mieć wartość azure_search . |
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
endpoint |
string | Prawda | Bezwzględna ścieżka punktu końcowego zasobu usługi Azure Search do użycia. |
index_name |
string | 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 | Fałsz | Zależność osadzania dla wyszukiwania wektorowego. Wymagane, jeśli query_type ma wartość vector , vector_simple_hybrid lub vector_semantic_hybrid . |
fields_mapping |
FieldsMappingOptions | Fałsz | Dostosowane zachowanie mapowania pól do użycia podczas interakcji z indeksem wyszukiwania. |
filter |
string | Fałsz | Filtr wyszukiwania. |
in_scope |
boolean | Fałsz | Czy zapytania powinny być ograniczone do używania indeksowanych danych. Wartość domyślna to True . |
query_type |
Typ zapytania | Fałsz | Typ zapytania do użycia z usługą Azure Search. Wartość domyślna to simple |
role_information |
string | Fałsz | 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 |
string | Fałsz | Semantyczna konfiguracja zapytania. Wymagane, jeśli query_type wartość to semantic lub vector_semantic_hybrid . |
strictness |
integer | Fałsz | Skonfigurowana ścisłość filtrowania istotności wyszukiwania. Im większa surowość, większa precyzja, ale niższa kompletność odpowiedzi. Wartość domyślna to 3 . |
top_n_documents |
integer | Fałsz | Skonfigurowano maksymalną liczbę dokumentów do funkcji dla skonfigurowanego zapytania. Wartość domyślna to 5 . |
max_search_queries |
integer | Fałsz | 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 |
integer | Fałsz | 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 |
tablica | Fałsz | 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ć citations wartość ,intent , all_retrieved_documents . |
Opcje uwierzytelniania klucza interfejsu API
Opcje uwierzytelniania usługi Azure OpenAI na danych podczas korzystania z klucza interfejsu API.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
key |
string | Prawda | Klucz interfejsu API do użycia do uwierzytelniania. |
type |
string | 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.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
type |
string | Prawda | Musi mieć wartość system_assigned_managed_identity . |
Opcje uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika
Opcje uwierzytelniania usługi Azure OpenAI na danych podczas korzystania z tożsamości zarządzanej przypisanej przez użytkownika.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
managed_identity_resource_id |
string | Prawda | Identyfikator zasobu tożsamości zarządzanej przypisanej przez użytkownika do użycia do uwierzytelniania. |
type |
string | 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.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
access_token |
string | Prawda | Token dostępu do użycia do uwierzytelniania. |
type |
string | 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.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
deployment_name |
string | Prawda | Nazwa wdrożenia modelu osadzania w ramach tego samego zasobu usługi Azure OpenAI. |
type |
string | Prawda | Musi mieć wartość deployment_name . |
dimensions |
integer | Fałsz | 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.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
endpoint |
string | 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 |
string | Prawda | Musi mieć wartość endpoint . |
dimensions |
integer | Fałsz | Liczba wymiarów osadzania powinna mieć wartość . Obsługiwane tylko w text-embedding-3 modelach i nowszych. |
Opcje mapowania pól
Opcjonalne ustawienia umożliwiające kontrolowanie sposobu przetwarzania pól podczas korzystania ze skonfigurowanego zasobu usługi Azure Search.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
content_fields |
string[] | Fałsz | Nazwy pól indeksu, które powinny być traktowane jako zawartość. |
vector_fields |
string[] | Fałsz | Nazwy pól reprezentujących dane wektorowe. |
content_fields_separator |
string | Fałsz | Wzorzec separatora, którego powinny używać pola zawartości. Wartość domyślna to \n . |
filepath_field |
string | Fałsz | Nazwa pola indeksu do użycia jako ścieżka pliku. |
title_field |
string | Fałsz | Nazwa pola indeksu, które ma być używane jako tytuł. |
url_field |
string | Fałsz | 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
, ,ChatCompletionsDeploymentName
SearchEndpoint
,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))