Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Rozszerzenie Azure OpenAI dla usługi Azure Functions jest obecnie dostępne w wersji zapoznawczej.
Powiązanie danych wejściowych wyszukiwania semantycznego usługi Azure OpenAI umożliwia korzystanie z semantycznego wyszukiwania na osadzanych elementach.
Aby uzyskać informacje na temat konfigurowania i konfigurowania rozszerzenia Azure OpenAI, zobacz Azure OpenAI extensions for Azure Functions (Rozszerzenia azure OpenAI dla usługi Azure Functions). Aby dowiedzieć się więcej na temat klasyfikacji semantycznej w usłudze Azure AI Search, zobacz Semantic ranking in Azure AI Search (Ranking semantyczny w usłudze Azure AI Search).
Uwaga / Notatka
Odwołania i przykłady są udostępniane tylko dla modelu Node.js w wersji 4.
Uwaga / Notatka
Odwołania i przykłady są udostępniane tylko dla modelu języka Python w wersji 2.
Uwaga / Notatka
Chociaż oba modele procesów języka C# są obsługiwane, udostępniane są tylko izolowane przykłady modeli procesów roboczych.
Przykład
W tym przykładzie pokazano, jak przeprowadzić semantyczne wyszukiwanie w pliku.
[Function("PromptFile")]
public static IActionResult PromptFile(
[HttpTrigger(AuthorizationLevel.Function, "post")] SemanticSearchRequest unused,
[SemanticSearchInput("AISearchEndpoint", "openai-index", Query = "{prompt}", ChatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", EmbeddingsModel = "%EMBEDDING_MODEL_DEPLOYMENT_NAME%")] SemanticSearchContext result)
{
return new ContentResult { Content = result.Response, ContentType = "text/plain" };
}
W tym przykładzie pokazano, jak przeprowadzić semantyczne wyszukiwanie w pliku.
@FunctionName("PromptFile")
public HttpResponseMessage promptFile(
@HttpTrigger(
name = "req",
methods = {HttpMethod.POST},
authLevel = AuthorizationLevel.ANONYMOUS)
HttpRequestMessage<SemanticSearchRequest> request,
@SemanticSearch(name = "search", searchConnectionName = "AISearchEndpoint", collection = "openai-index", query = "{prompt}", chatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", embeddingsModel = "%EMBEDDING_MODEL_DEPLOYMENT_NAME%", isReasoningModel = false ) String semanticSearchContext,
final ExecutionContext context) {
String response = new JSONObject(semanticSearchContext).getString("Response");
return request.createResponseBuilder(HttpStatus.OK)
.header("Content-Type", "application/json")
.body(response)
.build();
}
public class SemanticSearchRequest {
public String prompt;
public String getPrompt() {
return prompt;
}
public void setPrompt(String prompt) {
this.prompt = prompt;
}
}
W tym przykładzie pokazano, jak przeprowadzić semantyczne wyszukiwanie w pliku.
const semanticSearchInput = input.generic({
type: "semanticSearch",
connectionName: "AISearchEndpoint",
collection: "openai-index",
query: "{prompt}",
chatModel: "%CHAT_MODEL_DEPLOYMENT_NAME%",
embeddingsModel: "%EMBEDDING_MODEL_DEPLOYMENT_NAME%"
});
app.http('PromptFile', {
methods: ['POST'],
authLevel: 'function',
extraInputs: [semanticSearchInput],
handler: async (_request, context) => {
var responseBody = context.extraInputs.get(semanticSearchInput)
return { status: 200, body: responseBody.Response.trim() }
}
});
const semanticSearchInput = input.generic({
type: "semanticSearch",
connectionName: "AISearchEndpoint",
collection: "openai-index",
query: "{prompt}",
chatModel: "%CHAT_MODEL_DEPLOYMENT_NAME%",
embeddingsModel: "%EMBEDDING_MODEL_DEPLOYMENT_NAME%"
});
app.http('PromptFile', {
methods: ['POST'],
authLevel: 'function',
extraInputs: [semanticSearchInput],
handler: async (_request, context) => {
var responseBody: any = context.extraInputs.get(semanticSearchInput)
return { status: 200, body: responseBody.Response.trim() }
}
});
W tym przykładzie pokazano, jak przeprowadzić semantyczne wyszukiwanie w pliku.
Oto plik function.json monitujący o plik:
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "Request",
"methods": [
"post"
]
},
{
"type": "http",
"direction": "out",
"name": "Response"
},
{
"name": "SemanticSearchInput",
"type": "semanticSearch",
"direction": "in",
"searchConnectionName": "AISearchEndpoint",
"collection": "openai-index",
"query": "{prompt}",
"chatModel": "%CHAT_MODEL_DEPLOYMENT_NAME%",
"embeddingsModel": "%EMBEDDING_MODEL_DEPLOYMENT_NAME%"
}
]
}
Aby uzyskać więcej informacji na temat function.json właściwości pliku, zobacz sekcję Konfiguracja.
using namespace System.Net
param($Request, $TriggerMetadata, $SemanticSearchInput)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $SemanticSearchInput.Response
})
W tym przykładzie pokazano, jak przeprowadzić semantyczne wyszukiwanie w pliku.
@app.function_name("PromptFile")
@app.route(methods=["POST"])
@app.semantic_search_input(
arg_name="result",
search_connection_name="AISearchEndpoint",
collection="openai-index",
query="{prompt}",
embeddings_model="%EMBEDDING_MODEL_DEPLOYMENT_NAME%",
chat_model="%CHAT_MODEL_DEPLOYMENT_NAME%",
)
def prompt_file(req: func.HttpRequest, result: str) -> func.HttpResponse:
result_json = json.loads(result)
response_json = {
"content": result_json.get("Response"),
"content_type": "text/plain",
}
return func.HttpResponse(
json.dumps(response_json), status_code=200, mimetype="application/json"
)
Atrybuty
Zastosuj atrybut, SemanticSearchInput aby zdefiniować semantyczne powiązanie danych wejściowych wyszukiwania, które obsługuje następujące parametry:
| Parametr | Opis |
|---|---|
| SearchConnectionName | Nazwa ustawienia aplikacji lub zmiennej środowiskowej zawierającej wartość parametry połączenia. Ta właściwość obsługuje wyrażenia powiązań. |
| Kolekcja | Nazwa kolekcji lub tabeli lub indeksu do wyszukania. Ta właściwość obsługuje wyrażenia powiązań. |
| Zapytanie | Semantyczny tekst zapytania do użycia do wyszukiwania. Ta właściwość obsługuje wyrażenia powiązań. |
| EmbeddingsModel |
Opcjonalnie. Identyfikator modelu, który ma być używany do osadzania. Wartość domyślna to text-embedding-3-small. Ta właściwość obsługuje wyrażenia powiązań. |
| ChatModel |
Opcjonalnie. Pobiera lub ustawia nazwę modelu dużego języka, który ma być wywoływany na potrzeby odpowiedzi na czat. Wartość domyślna to gpt-3.5-turbo. Ta właściwość obsługuje wyrażenia powiązań. |
| AIConnectionName | Opcjonalnie. Pobiera lub ustawia nazwę sekcji konfiguracji dla ustawień łączności usługi sztucznej inteligencji. W przypadku usługi Azure OpenAI: w przypadku określenia wyszukaj wartości "Endpoint" i "Key" w tej sekcji konfiguracji. Jeśli nie zostanie określona lub sekcja nie istnieje, wróć do zmiennych środowiskowych: AZURE_OPENAI_ENDPOINT i AZURE_OPENAI_KEY. W przypadku uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika ta właściwość jest wymagana. W przypadku usługi OpenAI (spoza platformy Azure) ustaw zmienną środowiskową OPENAI_API_KEY. |
| SystemPrompt |
Opcjonalnie. Pobiera lub ustawia monit systemowy o monitowanie dużego modelu językowego. Monit systemowy jest dołączany z wiedzą, która jest pobierana w wyniku .Query Połączony monit jest wysyłany do interfejsu API czatu OpenAI. Ta właściwość obsługuje wyrażenia powiązań. |
| MaxKnowledgeCount |
Opcjonalnie. Pobiera lub ustawia liczbę elementów wiedzy, które mają być wstrzykiwane do elementu SystemPrompt. |
| IsReasoningModel |
Opcjonalnie. Pobiera lub ustawia wartość wskazującą, czy model uzupełniania czatu jest modelem rozumowania. Ta opcja jest eksperymentalna i skojarzona z modelem rozumowania, dopóki wszystkie modele nie mają parzystości w oczekiwanych właściwościach z wartością falsedomyślną . |
Adnotacje
Adnotacja SemanticSearchInput umożliwia zdefiniowanie semantycznego powiązania danych wejściowych wyszukiwania, które obsługuje następujące parametry:
| Składnik | Opis |
|---|---|
| nazwa | Pobiera lub ustawia nazwę powiązania wejściowego. |
| searchConnectionName | Nazwa ustawienia aplikacji lub zmiennej środowiskowej zawierającej wartość parametry połączenia. Ta właściwość obsługuje wyrażenia powiązań. |
| kolekcja | Nazwa kolekcji lub tabeli lub indeksu do wyszukania. Ta właściwość obsługuje wyrażenia powiązań. |
| zapytanie | Semantyczny tekst zapytania do użycia do wyszukiwania. Ta właściwość obsługuje wyrażenia powiązań. |
| embeddingsModel |
Opcjonalnie. Identyfikator modelu, który ma być używany do osadzania. Wartość domyślna to text-embedding-3-small. Ta właściwość obsługuje wyrażenia powiązań. |
| chatModel |
Opcjonalnie. Pobiera lub ustawia nazwę modelu dużego języka, który ma być wywoływany na potrzeby odpowiedzi na czat. Wartość domyślna to gpt-3.5-turbo. Ta właściwość obsługuje wyrażenia powiązań. |
| aiConnectionName | Opcjonalnie. Pobiera lub ustawia nazwę sekcji konfiguracji dla ustawień łączności usługi sztucznej inteligencji. W przypadku usługi Azure OpenAI: w przypadku określenia wyszukaj wartości "Endpoint" i "Key" w tej sekcji konfiguracji. Jeśli nie zostanie określona lub sekcja nie istnieje, wróć do zmiennych środowiskowych: AZURE_OPENAI_ENDPOINT i AZURE_OPENAI_KEY. W przypadku uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika ta właściwość jest wymagana. W przypadku usługi OpenAI (spoza platformy Azure) ustaw zmienną środowiskową OPENAI_API_KEY. |
| systemPrompt |
Opcjonalnie. Pobiera lub ustawia monit systemowy o monitowanie dużego modelu językowego. Monit systemowy jest dołączany z wiedzą, która jest pobierana w wyniku .Query Połączony monit jest wysyłany do interfejsu API czatu OpenAI. Ta właściwość obsługuje wyrażenia powiązań. |
| maxKnowledgeCount |
Opcjonalnie. Pobiera lub ustawia liczbę elementów wiedzy, które mają być wstrzykiwane do elementu SystemPrompt. |
| isReasoningModel |
Opcjonalnie. Pobiera lub ustawia wartość wskazującą, czy model uzupełniania czatu jest modelem rozumowania. Ta opcja jest eksperymentalna i skojarzona z modelem rozumowania, dopóki wszystkie modele nie mają parzystości w oczekiwanych właściwościach z wartością falsedomyślną . |
Dekoratorów
W wersji zapoznawczej zdefiniuj powiązanie wejściowe jako generic_input_binding powiązanie typu semanticSearch, które obsługuje następujące parametry:
| Parametr | Opis |
|---|---|
| arg_name | Nazwa zmiennej reprezentującej parametr powiązania. |
| search_connection_name | Nazwa ustawienia aplikacji lub zmiennej środowiskowej zawierającej wartość parametry połączenia. Ta właściwość obsługuje wyrażenia powiązań. |
| kolekcja | Nazwa kolekcji lub tabeli lub indeksu do wyszukania. Ta właściwość obsługuje wyrażenia powiązań. |
| zapytanie | Semantyczny tekst zapytania do użycia do wyszukiwania. Ta właściwość obsługuje wyrażenia powiązań. |
| embeddings_model |
Opcjonalnie. Identyfikator modelu, który ma być używany do osadzania. Wartość domyślna to text-embedding-3-small. Ta właściwość obsługuje wyrażenia powiązań. |
| chat_model |
Opcjonalnie. Pobiera lub ustawia nazwę modelu dużego języka, który ma być wywoływany na potrzeby odpowiedzi na czat. Wartość domyślna to gpt-3.5-turbo. Ta właściwość obsługuje wyrażenia powiązań. |
| ai_connection_name | Opcjonalnie. Pobiera lub ustawia nazwę sekcji konfiguracji dla ustawień łączności usługi sztucznej inteligencji. W przypadku usługi Azure OpenAI: w przypadku określenia wyszukaj wartości "Endpoint" i "Key" w tej sekcji konfiguracji. Jeśli nie zostanie określona lub sekcja nie istnieje, wróć do zmiennych środowiskowych: AZURE_OPENAI_ENDPOINT i AZURE_OPENAI_KEY. W przypadku uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika ta właściwość jest wymagana. W przypadku usługi OpenAI (spoza platformy Azure) ustaw zmienną środowiskową OPENAI_API_KEY. |
| system_prompt |
Opcjonalnie. Pobiera lub ustawia monit systemowy o monitowanie dużego modelu językowego. Monit systemowy jest dołączany z wiedzą, która jest pobierana w wyniku .Query Połączony monit jest wysyłany do interfejsu API czatu OpenAI. Ta właściwość obsługuje wyrażenia powiązań. |
| max_knowledge_count |
Opcjonalnie. Pobiera lub ustawia liczbę elementów wiedzy, które mają być wstrzykiwane do elementu SystemPrompt. |
| is_reasoning _model |
Opcjonalnie. Pobiera lub ustawia wartość wskazującą, czy model uzupełniania czatu jest modelem rozumowania. Ta opcja jest eksperymentalna i skojarzona z modelem rozumowania, dopóki wszystkie modele nie mają parzystości w oczekiwanych właściwościach z wartością falsedomyślną . |
Konfiguracja
Powiązanie obsługuje te właściwości konfiguracji ustawione w pliku function.json.
| Majątek | Opis |
|---|---|
| typ | Musi mieć wartość semanticSearch. |
| kierunek | Musi mieć wartość in. |
| nazwa | Nazwa powiązania wejściowego. |
| searchConnectionName | Pobiera lub ustawia nazwę ustawienia aplikacji lub zmiennej środowiskowej zawierającej wartość parametrów połączenia. Ta właściwość obsługuje wyrażenia powiązań. |
| kolekcja | Nazwa kolekcji lub tabeli lub indeksu do wyszukania. Ta właściwość obsługuje wyrażenia powiązań. |
| zapytanie | Semantyczny tekst zapytania do użycia do wyszukiwania. Ta właściwość obsługuje wyrażenia powiązań. |
| embeddingsModel |
Opcjonalnie. Identyfikator modelu, który ma być używany do osadzania. Wartość domyślna to text-embedding-3-small. Ta właściwość obsługuje wyrażenia powiązań. |
| chatModel |
Opcjonalnie. Pobiera lub ustawia nazwę modelu dużego języka, który ma być wywoływany na potrzeby odpowiedzi na czat. Wartość domyślna to gpt-3.5-turbo. Ta właściwość obsługuje wyrażenia powiązań. |
| aiConnectionName | Opcjonalnie. Pobiera lub ustawia nazwę sekcji konfiguracji dla ustawień łączności usługi sztucznej inteligencji. W przypadku usługi Azure OpenAI: w przypadku określenia wyszukaj wartości "Endpoint" i "Key" w tej sekcji konfiguracji. Jeśli nie zostanie określona lub sekcja nie istnieje, wróć do zmiennych środowiskowych: AZURE_OPENAI_ENDPOINT i AZURE_OPENAI_KEY. W przypadku uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika ta właściwość jest wymagana. W przypadku usługi OpenAI (spoza platformy Azure) ustaw zmienną środowiskową OPENAI_API_KEY. |
| systemPrompt |
Opcjonalnie. Pobiera lub ustawia monit systemowy o monitowanie dużego modelu językowego. Monit systemowy jest dołączany z wiedzą, która jest pobierana w wyniku .Query Połączony monit jest wysyłany do interfejsu API czatu OpenAI. Ta właściwość obsługuje wyrażenia powiązań. |
| maxKnowledgeCount |
Opcjonalnie. Pobiera lub ustawia liczbę elementów wiedzy, które mają być wstrzykiwane do elementu SystemPrompt. |
| isReasoningModel |
Opcjonalnie. Pobiera lub ustawia wartość wskazującą, czy model uzupełniania czatu jest modelem rozumowania. Ta opcja jest eksperymentalna i skojarzona z modelem rozumowania, dopóki wszystkie modele nie mają parzystości w oczekiwanych właściwościach z wartością falsedomyślną . |
Konfiguracja
Powiązanie obsługuje te właściwości zdefiniowane w kodzie:
| Majątek | Opis |
|---|---|
| searchConnectionName | Nazwa ustawienia aplikacji lub zmiennej środowiskowej zawierającej wartość parametry połączenia. Ta właściwość obsługuje wyrażenia powiązań. |
| kolekcja | Nazwa kolekcji lub tabeli lub indeksu do wyszukania. Ta właściwość obsługuje wyrażenia powiązań. |
| zapytanie | Semantyczny tekst zapytania do użycia do wyszukiwania. Ta właściwość obsługuje wyrażenia powiązań. |
| embeddingsModel |
Opcjonalnie. Identyfikator modelu, który ma być używany do osadzania. Wartość domyślna to text-embedding-3-small. Ta właściwość obsługuje wyrażenia powiązań. |
| chatModel |
Opcjonalnie. Pobiera lub ustawia nazwę modelu dużego języka, który ma być wywoływany na potrzeby odpowiedzi na czat. Wartość domyślna to gpt-3.5-turbo. Ta właściwość obsługuje wyrażenia powiązań. |
| aiConnectionName | Opcjonalnie. Pobiera lub ustawia nazwę sekcji konfiguracji dla ustawień łączności usługi sztucznej inteligencji. W przypadku usługi Azure OpenAI: w przypadku określenia wyszukaj wartości "Endpoint" i "Key" w tej sekcji konfiguracji. Jeśli nie zostanie określona lub sekcja nie istnieje, wróć do zmiennych środowiskowych: AZURE_OPENAI_ENDPOINT i AZURE_OPENAI_KEY. W przypadku uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika ta właściwość jest wymagana. W przypadku usługi OpenAI (spoza platformy Azure) ustaw zmienną środowiskową OPENAI_API_KEY. |
| systemPrompt |
Opcjonalnie. Pobiera lub ustawia monit systemowy o monitowanie dużego modelu językowego. Monit systemowy jest dołączany z wiedzą, która jest pobierana w wyniku .Query Połączony monit jest wysyłany do interfejsu API czatu OpenAI. Ta właściwość obsługuje wyrażenia powiązań. |
| maxKnowledgeCount |
Opcjonalnie. Pobiera lub ustawia liczbę elementów wiedzy, które mają być wstrzykiwane do elementu SystemPrompt. |
| isReasoningModel |
Opcjonalnie. Pobiera lub ustawia wartość wskazującą, czy model uzupełniania czatu jest modelem rozumowania. Ta opcja jest eksperymentalna i skojarzona z modelem rozumowania, dopóki wszystkie modele nie mają parzystości w oczekiwanych właściwościach z wartością falsedomyślną . |
Zastosowanie
Zobacz sekcję Przykład, aby zapoznać się z kompletnymi przykładami.
Treści powiązane
- Semantyczne przykłady wyszukiwania sztucznej inteligencji
- Semantic Cosmos DB — brak przykładów wyszukiwania SQL
- Semantyczne przykłady wyszukiwania rdzeni wirtualnych Mongo w usłudze Cosmos DB
- Rozszerzenia usługi Azure OpenAI dla usługi Azure Functions
- Osadzanie usługi Azure OpenAI przechowuje powiązanie wyjściowe dla usługi Azure Functions