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 pro dokončování textu Azure OpenAI umožňuje přenést rozhraní API pro dokončování textu výsledků do provádění kódu. Můžete definovat vazbu tak, aby používala obě předdefinované výzvy s parametry nebo prošel celou výzvou.
Informace o nastavení a konfiguraci rozšíření Azure OpenAI najdete v tématu Rozšíření Azure OpenAI pro Azure Functions. Další informace o doplňování Azure OpenAI najdete v tématu O tom, jak generovat nebo manipulovat s textem.
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 vzor šablonování , kde funkce triggeru HTTP přebírá name parametr a vloží ho do textové výzvy, která se pak odešle do rozhraní API dokončení Azure OpenAI rozšířením. Odpověď na výzvu se vrátí v odpovědi HTTP.
[Function(nameof(WhoIs))]
public static IActionResult WhoIs(
[HttpTrigger(AuthorizationLevel.Function, Route = "whois/{name}")] HttpRequestData req,
[TextCompletionInput("Who is {name}?", ChatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%")] TextCompletionResponse response)
{
return new OkObjectResult(response.Content);
}
V tomto příkladu se jako vstup zobrazí výzva, odešle ji přímo do rozhraní API pro dokončování a jako výstup vrátí odpověď.
[Function(nameof(GenericCompletion))]
public static IActionResult GenericCompletion(
[HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequestData req,
[TextCompletionInput("{Prompt}", ChatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%")] TextCompletionResponse response,
ILogger log)
{
string text = response.Content;
return new OkObjectResult(text);
}
Tento příklad ukazuje vzor šablonování , kde funkce triggeru HTTP přebírá name parametr a vloží ho do textové výzvy, která se pak odešle do rozhraní API dokončení Azure OpenAI rozšířením. Odpověď na výzvu se vrátí v odpovědi HTTP.
@FunctionName("WhoIs")
public HttpResponseMessage whoIs(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET},
authLevel = AuthorizationLevel.ANONYMOUS,
route = "whois/{name}")
HttpRequestMessage<Optional<String>> request,
@BindingName("name") String name,
@TextCompletion(prompt = "Who is {name}?", chatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", name = "response", isReasoningModel = false) TextCompletionResponse response,
final ExecutionContext context) {
return request.createResponseBuilder(HttpStatus.OK)
.header("Content-Type", "application/json")
.body(response.getContent())
.build();
}
V tomto příkladu se jako vstup zobrazí výzva, odešle ji přímo do rozhraní API pro dokončování a jako výstup vrátí odpověď.
@FunctionName("GenericCompletion")
public HttpResponseMessage genericCompletion(
@HttpTrigger(
name = "req",
methods = {HttpMethod.POST},
authLevel = AuthorizationLevel.ANONYMOUS)
HttpRequestMessage<Optional<String>> request,
@TextCompletion(prompt = "{prompt}", chatModel = "%CHAT_MODEL_DEPLOYMENT_NAME%", name = "response", isReasoningModel = false) TextCompletionResponse response,
final ExecutionContext context) {
return request.createResponseBuilder(HttpStatus.OK)
.header("Content-Type", "application/json")
.body(response.getContent())
.build();
}
Tento příklad ukazuje vzor šablonování , kde funkce triggeru HTTP přebírá name parametr a vloží ho do textové výzvy, která se pak odešle do rozhraní API dokončení Azure OpenAI rozšířením. Odpověď na výzvu se vrátí v odpovědi HTTP.
const { app, input } = require("@azure/functions");
// This OpenAI completion input requires a {name} binding value.
const openAICompletionInput = input.generic({
prompt: 'Who is {name}?',
maxTokens: '100',
type: 'textCompletion',
chatModel: '%CHAT_MODEL_DEPLOYMENT_NAME%'
})
app.http('whois', {
methods: ['GET'],
route: 'whois/{name}',
authLevel: 'function',
extraInputs: [openAICompletionInput],
handler: async (_request, context) => {
var response = context.extraInputs.get(openAICompletionInput)
return { body: response.content.trim() }
}
});
Tento příklad ukazuje vzor šablonování , kde funkce triggeru HTTP přebírá name parametr a vloží ho do textové výzvy, která se pak odešle do rozhraní API dokončení Azure OpenAI rozšířením. Odpověď na výzvu se vrátí v odpovědi HTTP.
import { app, input } from "@azure/functions";
// This OpenAI completion input requires a {name} binding value.
const openAICompletionInput = input.generic({
prompt: 'Who is {name}?',
maxTokens: '100',
type: 'textCompletion',
chatModel: '%CHAT_MODEL_DEPLOYMENT_NAME%'
})
app.http('whois', {
methods: ['GET'],
route: 'whois/{name}',
authLevel: 'function',
extraInputs: [openAICompletionInput],
handler: async (_request, context) => {
var response: any = context.extraInputs.get(openAICompletionInput)
return { body: response.content.trim() }
}
});
Tento příklad ukazuje vzor šablonování , kde funkce triggeru HTTP přebírá name parametr a vloží ho do textové výzvy, která se pak odešle do rozhraní API dokončení Azure OpenAI rozšířením. Odpověď na výzvu se vrátí v odpovědi HTTP.
Tady je soubor function.json pro TextCompletionResponse:
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "Request",
"route": "whois/{name}",
"methods": [
"get"
]
},
{
"type": "http",
"direction": "out",
"name": "Response"
},
{
"type": "textCompletion",
"direction": "in",
"name": "TextCompletionResponse",
"prompt": "Who is {name}?",
"maxTokens": "100",
"chatModel": "%CHAT_MODEL_DEPLOYMENT_NAME%"
}
]
}
Další informace o function.json vlastnosti souboru naleznete v části Konfigurace .
Kód jednoduše vrátí text z rozhraní API pro dokončování jako odpověď:
using namespace System.Net
param($Request, $TriggerMetadata, $TextCompletionResponse)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $TextCompletionResponse.Content
})
Tento příklad ukazuje vzor šablonování , kde funkce triggeru HTTP přebírá name parametr a vloží ho do textové výzvy, která se pak odešle do rozhraní API dokončení Azure OpenAI rozšířením. Odpověď na výzvu se vrátí v odpovědi HTTP.
@app.route(route="whois/{name}", methods=["GET"])
@app.text_completion_input(
arg_name="response",
prompt="Who is {name}?",
max_tokens="100",
chat_model="%CHAT_MODEL_DEPLOYMENT_NAME%",
)
def whois(req: func.HttpRequest, response: str) -> func.HttpResponse:
response_json = json.loads(response)
return func.HttpResponse(response_json["content"], status_code=200)
V tomto příkladu se jako vstup zobrazí výzva, odešle ji přímo do rozhraní API pro dokončování a jako výstup vrátí odpověď.
@app.route(route="genericcompletion", methods=["POST"])
@app.text_completion_input(
arg_name="response",
prompt="{Prompt}",
chat_model="%CHAT_MODEL_DEPLOYMENT_NAME%",
)
def genericcompletion(
req: func.HttpRequest,
response: str
) -> func.HttpResponse:
response_json = json.loads(response)
return func.HttpResponse(response_json["content"], status_code=200)
Atributy
Konkrétní atribut, který použijete k definování vstupní vazby pro dokončování textu, závisí na režimu procesu jazyka C#.
V izolovaném pracovním modelu použijte TextCompletionInput definici vstupní vazby pro dokončování textu.
Atribut podporuje tyto parametry:
| Parametr | Popis |
|---|---|
| Výzva | Získá nebo nastaví výzvu k vygenerování dokončení pro, kódovaný jako řetězec. |
| 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. |
| ChatModel |
Volitelné. Získá nebo nastaví ID modelu použít jako řetězec s výchozí hodnotou gpt-3.5-turbo. |
| Teplota |
Volitelné. Získá nebo nastaví vzorkovací teplotu, která se má použít, jako řetězec mezi 0 a 2. Vyšší hodnoty (0.8) umožňují, aby byl výstup náhodnější, zatímco nižší hodnoty jako (0.2) zvýtožní výstup s větší zaměřením a deterministikou. Měli byste použít buď Temperature nebo TopP, ale ne obojí. |
| TopP |
Volitelné. Získá nebo nastaví alternativu k vzorkování s teplotou, označovanou jako vzorkování jádra, jako řetězec. V této metodě vzorkování model bere v úvahu výsledky tokenů s hromadnou top_p pravděpodobností. To 0.1 znamená, že se považují pouze tokeny obsahující prvních 10% pravděpodobnostní hmotnosti. Měli byste použít buď Temperature nebo TopP, ale ne obojí. |
| MaxTokens |
Volitelné. Získá nebo nastaví maximální počet tokenů, které se mají vygenerovat v dokončení, jako řetězec s výchozí hodnotou 100. Počet tokenů výzvy plus max_tokens nesmí překročit délku kontextu modelu. Většina modelů má kontextovou délku 2 048 tokenů (s výjimkou nejnovějších modelů, které podporují 4096). |
| 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 TextCompletion umožňuje definovat vstupní vazbu pro dokončování textu, která podporuje tyto parametry:
| prvek | Popis |
|---|---|
| název | Získá nebo nastaví název vstupní vazby. |
| příkaz | Získá nebo nastaví výzvu k vygenerování dokončení pro, kódovaný jako řetězec. |
| 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. |
| chatModel | Získá nebo nastaví ID modelu použít jako řetězec s výchozí hodnotou gpt-3.5-turbo. |
| teplota |
Volitelné. Získá nebo nastaví vzorkovací teplotu, která se má použít, jako řetězec mezi 0 a 2. Vyšší hodnoty (0.8) umožňují, aby byl výstup náhodnější, zatímco nižší hodnoty jako (0.2) zvýtožní výstup s větší zaměřením a deterministikou. Měli byste použít buď Temperature nebo TopP, ale ne obojí. |
| topP |
Volitelné. Získá nebo nastaví alternativu k vzorkování s teplotou, označovanou jako vzorkování jádra, jako řetězec. V této metodě vzorkování model bere v úvahu výsledky tokenů s hromadnou top_p pravděpodobností. To 0.1 znamená, že se považují pouze tokeny obsahující prvních 10% pravděpodobnostní hmotnosti. Měli byste použít buď Temperature nebo TopP, ale ne obojí. |
| maxTokens |
Volitelné. Získá nebo nastaví maximální počet tokenů, které se mají vygenerovat v dokončení, jako řetězec s výchozí hodnotou 100. Počet tokenů výzvy plus max_tokens nesmí překročit délku kontextu modelu. Většina modelů má kontextovou délku 2 048 tokenů (s výjimkou nejnovějších modelů, které podporují 4096). |
| 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 textCompletion, která podporuje tyto parametry:
| Parametr | Popis |
|---|---|
| arg_name | Název proměnné, která představuje parametr vazby. |
| příkaz | Získá nebo nastaví výzvu k vygenerování dokončení pro, kódovaný jako řetězec. |
| 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. |
| chat_model | Získá nebo nastaví ID modelu použít jako řetězec s výchozí hodnotou gpt-3.5-turbo. |
| teplota |
Volitelné. Získá nebo nastaví vzorkovací teplotu, která se má použít, jako řetězec mezi 0 a 2. Vyšší hodnoty (0.8) umožňují, aby byl výstup náhodnější, zatímco nižší hodnoty jako (0.2) zvýtožní výstup s větší zaměřením a deterministikou. Měli byste použít buď Temperature nebo TopP, ale ne obojí. |
| top_p |
Volitelné. Získá nebo nastaví alternativu k vzorkování s teplotou, označovanou jako vzorkování jádra, jako řetězec. V této metodě vzorkování model bere v úvahu výsledky tokenů s hromadnou top_p pravděpodobností. To 0.1 znamená, že se považují pouze tokeny obsahující prvních 10% pravděpodobnostní hmotnosti. Měli byste použít buď Temperature nebo TopP, ale ne obojí. |
| max_tokens |
Volitelné. Získá nebo nastaví maximální počet tokenů, které se mají vygenerovat v dokončení, jako řetězec s výchozí hodnotou 100. Počet tokenů výzvy plus max_tokens nesmí překročit délku kontextu modelu. Většina modelů má kontextovou délku 2 048 tokenů (s výjimkou nejnovějších modelů, které podporují 4096). |
| 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 textCompletion. |
| směr | Musí být in. |
| název | Název vstupní vazby. |
| příkaz | Získá nebo nastaví výzvu k vygenerování dokončení pro, kódovaný jako řetězec. |
| 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. |
| chatModel | Získá nebo nastaví ID modelu použít jako řetězec s výchozí hodnotou gpt-3.5-turbo. |
| teplota |
Volitelné. Získá nebo nastaví vzorkovací teplotu, která se má použít, jako řetězec mezi 0 a 2. Vyšší hodnoty (0.8) umožňují, aby byl výstup náhodnější, zatímco nižší hodnoty jako (0.2) zvýtožní výstup s větší zaměřením a deterministikou. Měli byste použít buď Temperature nebo TopP, ale ne obojí. |
| topP |
Volitelné. Získá nebo nastaví alternativu k vzorkování s teplotou, označovanou jako vzorkování jádra, jako řetězec. V této metodě vzorkování model bere v úvahu výsledky tokenů s hromadnou top_p pravděpodobností. To 0.1 znamená, že se považují pouze tokeny obsahující prvních 10% pravděpodobnostní hmotnosti. Měli byste použít buď Temperature nebo TopP, ale ne obojí. |
| maxTokens |
Volitelné. Získá nebo nastaví maximální počet tokenů, které se mají vygenerovat v dokončení, jako řetězec s výchozí hodnotou 100. Počet tokenů výzvy plus max_tokens nesmí překročit délku kontextu modelu. Většina modelů má kontextovou délku 2 048 tokenů (s výjimkou nejnovějších modelů, které podporují 4096). |
| 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 |
|---|---|
| příkaz | Získá nebo nastaví výzvu k vygenerování dokončení pro, kódovaný jako řetězec. |
| 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. |
| chatModel | Získá nebo nastaví ID modelu použít jako řetězec s výchozí hodnotou gpt-3.5-turbo. |
| teplota |
Volitelné. Získá nebo nastaví vzorkovací teplotu, která se má použít, jako řetězec mezi 0 a 2. Vyšší hodnoty (0.8) umožňují, aby byl výstup náhodnější, zatímco nižší hodnoty jako (0.2) zvýtožní výstup s větší zaměřením a deterministikou. Měli byste použít buď Temperature nebo TopP, ale ne obojí. |
| topP |
Volitelné. Získá nebo nastaví alternativu k vzorkování s teplotou, označovanou jako vzorkování jádra, jako řetězec. V této metodě vzorkování model bere v úvahu výsledky tokenů s hromadnou top_p pravděpodobností. To 0.1 znamená, že se považují pouze tokeny obsahující prvních 10% pravděpodobnostní hmotnosti. Měli byste použít buď Temperature nebo TopP, ale ne obojí. |
| maxTokens |
Volitelné. Získá nebo nastaví maximální počet tokenů, které se mají vygenerovat v dokončení, jako řetězec s výchozí hodnotou 100. Počet tokenů výzvy plus max_tokens nesmí překročit délku kontextu modelu. Většina modelů má kontextovou délku 2 048 tokenů (s výjimkou nejnovějších modelů, které podporují 4096). |
| 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.