Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Rozšíření Azure OpenAI pro Azure Functions je aktuálně ve verzi Preview.
Vstupní vazba sémantického vyhledávání Azure OpenAI umožňuje použít sémantické vyhledávání ve vložených možnostech.
Informace o nastavení a konfiguraci rozšíření Azure OpenAI najdete v tématu Rozšíření Azure OpenAI pro Azure Functions. Další informace o sémantickém řazení ve službě Azure AI Search najdete v tématu Sémantické řazení ve službě Azure AI Search.
Poznámka:
Odkazy a příklady jsou k dispozici pouze pro model Node.js v4.
Poznámka:
Odkazy a příklady jsou k dispozici pouze pro model Pythonu v2.
Poznámka:
I když jsou podporovány oba modely procesu jazyka C#, jsou k dispozici pouze příklady izolovaného modelu pracovního procesu .
Příklad
Tento příklad ukazuje, jak provést sémantické vyhledávání v souboru.
[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" };
}
Tento příklad ukazuje, jak provést sémantické vyhledávání v souboru.
@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;
}
}
Tento příklad ukazuje, jak provést sémantické vyhledávání v souboru.
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() }
}
});
Tento příklad ukazuje, jak provést sémantické vyhledávání v souboru.
Tady je soubor function.json pro zobrazení výzvy k zadání souboru:
{
"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%"
}
]
}
Další informace o function.json vlastnosti souboru naleznete v části Konfigurace .
using namespace System.Net
param($Request, $TriggerMetadata, $SemanticSearchInput)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $SemanticSearchInput.Response
})
Tento příklad ukazuje, jak provést sémantické vyhledávání v souboru.
@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"
)
Atributy
Pomocí atributu SemanticSearchInput definujte sémantickou vstupní vazbu hledání, která podporuje tyto parametry:
| Parametr | Popis |
|---|---|
| SearchConnectionName | Název nastavení aplikace nebo proměnné prostředí, která obsahuje hodnotu připojovací řetězec. Tato vlastnost podporuje vazbové výrazy. |
| Kolekce | Název kolekce nebo tabulky nebo indexu, který se má prohledávat. Tato vlastnost podporuje vazbové výrazy. |
| Dotaz | Sémantický text dotazu, který se má použít k hledání. Tato vlastnost podporuje vazbové výrazy. |
| EmbeddingsModel |
Volitelné. ID modelu, které se má použít pro vkládání Výchozí hodnota je text-embedding-3-small. Tato vlastnost podporuje vazbové výrazy. |
| ChatModel |
Volitelné. Získá nebo nastaví název velkého jazykového modelu vyvolat pro odpovědi chatu. Výchozí hodnota je gpt-3.5-turbo. Tato vlastnost podporuje vazbové výrazy. |
| AIConnectionName | Volitelné. Získá nebo nastaví název oddílu konfigurace pro nastavení připojení služby AI. Pro Azure OpenAI: Pokud je zadáno, v této části konfigurace vyhledejte hodnoty Endpoint (Koncový bod) a Key (Klíč). Pokud není zadaný nebo oddíl neexistuje, vraťte se do proměnných prostředí: AZURE_OPENAI_ENDPOINT a AZURE_OPENAI_KEY. Pro ověřování spravované identity přiřazené uživatelem je tato vlastnost povinná. Pro službu OpenAI (mimo Azure) nastavte proměnnou prostředí OPENAI_API_KEY. |
| SystemPrompt |
Volitelné. Získá nebo nastaví výzvu k použití systému pro zobrazení výzvy k zobrazení velkého jazykového modelu. Výzva k systému je připojena se znalostmi, které jsou načteny v důsledku Query. Kombinovaná výzva se odešle do rozhraní API chatu OpenAI. Tato vlastnost podporuje vazbové výrazy. |
| MaxKnowledgeCount |
Volitelné. Získá nebo nastaví počet položek znalostí, které se mají vložit do SystemPrompt. |
| IsReasoningModel |
Volitelné. Získá nebo nastaví hodnotu určující, zda je model dokončení chatu důvodem modelu. Tato možnost je experimentální a přidružená k modelu odůvodnění, dokud všechny modely nemají paritu v očekávaných vlastnostech s výchozí hodnotou false. |
Anotace
Poznámka SemanticSearchInput umožňuje definovat sémantickou vstupní vazbu hledání, která podporuje tyto parametry:
| prvek | Popis |
|---|---|
| název | Získá nebo nastaví název vstupní vazby. |
| searchConnectionName | Název nastavení aplikace nebo proměnné prostředí, která obsahuje hodnotu připojovací řetězec. Tato vlastnost podporuje vazbové výrazy. |
| kolekce | Název kolekce nebo tabulky nebo indexu, který se má prohledávat. Tato vlastnost podporuje vazbové výrazy. |
| dotaz | Sémantický text dotazu, který se má použít k hledání. Tato vlastnost podporuje vazbové výrazy. |
| embeddingsModel |
Volitelné. ID modelu, které se má použít pro vkládání Výchozí hodnota je text-embedding-3-small. Tato vlastnost podporuje vazbové výrazy. |
| chatModel |
Volitelné. Získá nebo nastaví název velkého jazykového modelu vyvolat pro odpovědi chatu. Výchozí hodnota je gpt-3.5-turbo. Tato vlastnost podporuje vazbové výrazy. |
| aiConnectionName | Volitelné. Získá nebo nastaví název oddílu konfigurace pro nastavení připojení služby AI. Pro Azure OpenAI: Pokud je zadáno, v této části konfigurace vyhledejte hodnoty Endpoint (Koncový bod) a Key (Klíč). Pokud není zadaný nebo oddíl neexistuje, vraťte se do proměnných prostředí: AZURE_OPENAI_ENDPOINT a AZURE_OPENAI_KEY. Pro ověřování spravované identity přiřazené uživatelem je tato vlastnost povinná. Pro službu OpenAI (mimo Azure) nastavte proměnnou prostředí OPENAI_API_KEY. |
| systemPrompt |
Volitelné. Získá nebo nastaví výzvu k použití systému pro zobrazení výzvy k zobrazení velkého jazykového modelu. Výzva k systému je připojena se znalostmi, které jsou načteny v důsledku Query. Kombinovaná výzva se odešle do rozhraní API chatu OpenAI. Tato vlastnost podporuje vazbové výrazy. |
| maxKnowledgeCount |
Volitelné. Získá nebo nastaví počet položek znalostí, které se mají vložit do SystemPrompt. |
| isReasoningModel |
Volitelné. Získá nebo nastaví hodnotu určující, zda je model dokončení chatu důvodem modelu. Tato možnost je experimentální a přidružená k modelu odůvodnění, dokud všechny modely nemají paritu v očekávaných vlastnostech s výchozí hodnotou false. |
Dekoratéry
Během náhledu definujte vstupní vazbu jako generic_input_binding vazbu typu semanticSearch, která podporuje tyto parametry:
| Parametr | Popis |
|---|---|
| arg_name | Název proměnné, která představuje parametr vazby. |
| search_connection_name | Název nastavení aplikace nebo proměnné prostředí, která obsahuje hodnotu připojovací řetězec. Tato vlastnost podporuje vazbové výrazy. |
| kolekce | Název kolekce nebo tabulky nebo indexu, který se má prohledávat. Tato vlastnost podporuje vazbové výrazy. |
| dotaz | Sémantický text dotazu, který se má použít k hledání. Tato vlastnost podporuje vazbové výrazy. |
| embeddings_model |
Volitelné. ID modelu, které se má použít pro vkládání Výchozí hodnota je text-embedding-3-small. Tato vlastnost podporuje vazbové výrazy. |
| chat_model |
Volitelné. Získá nebo nastaví název velkého jazykového modelu vyvolat pro odpovědi chatu. Výchozí hodnota je gpt-3.5-turbo. Tato vlastnost podporuje vazbové výrazy. |
| ai_connection_name | Volitelné. Získá nebo nastaví název oddílu konfigurace pro nastavení připojení služby AI. Pro Azure OpenAI: Pokud je zadáno, v této části konfigurace vyhledejte hodnoty Endpoint (Koncový bod) a Key (Klíč). Pokud není zadaný nebo oddíl neexistuje, vraťte se do proměnných prostředí: AZURE_OPENAI_ENDPOINT a AZURE_OPENAI_KEY. Pro ověřování spravované identity přiřazené uživatelem je tato vlastnost povinná. Pro službu OpenAI (mimo Azure) nastavte proměnnou prostředí OPENAI_API_KEY. |
| system_prompt |
Volitelné. Získá nebo nastaví výzvu k použití systému pro zobrazení výzvy k zobrazení velkého jazykového modelu. Výzva k systému je připojena se znalostmi, které jsou načteny v důsledku Query. Kombinovaná výzva se odešle do rozhraní API chatu OpenAI. Tato vlastnost podporuje vazbové výrazy. |
| max_knowledge_count |
Volitelné. Získá nebo nastaví počet položek znalostí, které se mají vložit do SystemPrompt. |
| is_reasoning _model |
Volitelné. Získá nebo nastaví hodnotu určující, zda je model dokončení chatu důvodem modelu. Tato možnost je experimentální a přidružená k modelu odůvodnění, dokud všechny modely nemají paritu v očekávaných vlastnostech s výchozí hodnotou false. |
Konfigurace
Vazba podporuje tyto vlastnosti konfigurace, které jste nastavili v souboru function.json.
| Vlastnictví | Popis |
|---|---|
| typ | Musí být semanticSearch. |
| směr | Musí být in. |
| název | Název vstupní vazby. |
| searchConnectionName | Získá nebo nastaví název nastavení aplikace nebo proměnné prostředí, která obsahuje hodnotu připojovacího řetězce. Tato vlastnost podporuje vazbové výrazy. |
| kolekce | Název kolekce nebo tabulky nebo indexu, který se má prohledávat. Tato vlastnost podporuje vazbové výrazy. |
| dotaz | Sémantický text dotazu, který se má použít k hledání. Tato vlastnost podporuje vazbové výrazy. |
| embeddingsModel |
Volitelné. ID modelu, které se má použít pro vkládání Výchozí hodnota je text-embedding-3-small. Tato vlastnost podporuje vazbové výrazy. |
| chatModel |
Volitelné. Získá nebo nastaví název velkého jazykového modelu vyvolat pro odpovědi chatu. Výchozí hodnota je gpt-3.5-turbo. Tato vlastnost podporuje vazbové výrazy. |
| aiConnectionName | Volitelné. Získá nebo nastaví název oddílu konfigurace pro nastavení připojení služby AI. Pro Azure OpenAI: Pokud je zadáno, v této části konfigurace vyhledejte hodnoty Endpoint (Koncový bod) a Key (Klíč). Pokud není zadaný nebo oddíl neexistuje, vraťte se do proměnných prostředí: AZURE_OPENAI_ENDPOINT a AZURE_OPENAI_KEY. Pro ověřování spravované identity přiřazené uživatelem je tato vlastnost povinná. Pro službu OpenAI (mimo Azure) nastavte proměnnou prostředí OPENAI_API_KEY. |
| systemPrompt |
Volitelné. Získá nebo nastaví výzvu k použití systému pro zobrazení výzvy k zobrazení velkého jazykového modelu. Výzva k systému je připojena se znalostmi, které jsou načteny v důsledku Query. Kombinovaná výzva se odešle do rozhraní API chatu OpenAI. Tato vlastnost podporuje vazbové výrazy. |
| maxKnowledgeCount |
Volitelné. Získá nebo nastaví počet položek znalostí, které se mají vložit do SystemPrompt. |
| isReasoningModel |
Volitelné. Získá nebo nastaví hodnotu určující, zda je model dokončení chatu důvodem modelu. Tato možnost je experimentální a přidružená k modelu odůvodnění, dokud všechny modely nemají paritu v očekávaných vlastnostech s výchozí hodnotou false. |
Konfigurace
Vazba podporuje tyto vlastnosti, které jsou definovány v kódu:
| Vlastnictví | Popis |
|---|---|
| searchConnectionName | Název nastavení aplikace nebo proměnné prostředí, která obsahuje hodnotu připojovací řetězec. Tato vlastnost podporuje vazbové výrazy. |
| kolekce | Název kolekce nebo tabulky nebo indexu, který se má prohledávat. Tato vlastnost podporuje vazbové výrazy. |
| dotaz | Sémantický text dotazu, který se má použít k hledání. Tato vlastnost podporuje vazbové výrazy. |
| embeddingsModel |
Volitelné. ID modelu, které se má použít pro vkládání Výchozí hodnota je text-embedding-3-small. Tato vlastnost podporuje vazbové výrazy. |
| chatModel |
Volitelné. Získá nebo nastaví název velkého jazykového modelu vyvolat pro odpovědi chatu. Výchozí hodnota je gpt-3.5-turbo. Tato vlastnost podporuje vazbové výrazy. |
| aiConnectionName | Volitelné. Získá nebo nastaví název oddílu konfigurace pro nastavení připojení služby AI. Pro Azure OpenAI: Pokud je zadáno, v této části konfigurace vyhledejte hodnoty Endpoint (Koncový bod) a Key (Klíč). Pokud není zadaný nebo oddíl neexistuje, vraťte se do proměnných prostředí: AZURE_OPENAI_ENDPOINT a AZURE_OPENAI_KEY. Pro ověřování spravované identity přiřazené uživatelem je tato vlastnost povinná. Pro službu OpenAI (mimo Azure) nastavte proměnnou prostředí OPENAI_API_KEY. |
| systemPrompt |
Volitelné. Získá nebo nastaví výzvu k použití systému pro zobrazení výzvy k zobrazení velkého jazykového modelu. Výzva k systému je připojena se znalostmi, které jsou načteny v důsledku Query. Kombinovaná výzva se odešle do rozhraní API chatu OpenAI. Tato vlastnost podporuje vazbové výrazy. |
| maxKnowledgeCount |
Volitelné. Získá nebo nastaví počet položek znalostí, které se mají vložit do SystemPrompt. |
| isReasoningModel |
Volitelné. Získá nebo nastaví hodnotu určující, zda je model dokončení chatu důvodem modelu. Tato možnost je experimentální a přidružená k modelu odůvodnění, dokud všechny modely nemají paritu v očekávaných vlastnostech s výchozí hodnotou false. |
Použití
Kompletní příklady najdete v části Příklad.