Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
Az Azure Functions Azure OpenAI bővítménye jelenleg előzetes verzióban érhető el.
Az Azure OpenAI szövegkiegészítési bemeneti kötése lehetővé teszi az eredmények szövegkiegészítési API-jait a kódvégrehajtásokban. A kötést úgy határozhatja meg, hogy mindkét előre definiált kérést paraméterekkel használja, vagy egy teljes parancssoron haladjon át.
Az Azure OpenAI-bővítmény beállítási és konfigurációs részleteiről további információt az Azure Functions Azure OpenAI-bővítményeivel kapcsolatban talál. Az Azure OpenAI-kiegészítésekkel kapcsolatos további információkért tekintse meg a szöveg létrehozásának és módosításának módját.
Megjegyzés:
A referenciák és példák csak a Node.js v4-modellhez vannak megadva.
Megjegyzés:
A hivatkozások és példák csak a Python v2-modellhez vannak megadva.
Megjegyzés:
Bár mindkét C#-folyamatmodell támogatott, csak izolált feldolgozómodell-példák állnak rendelkezésre.
példa
Ez a példa bemutatja a templating mintát, amelyben a HTTP-eseményindító függvény egy paramétert name használ, és beágyazza egy szöveges parancssorba, amelyet a bővítmény elküld az Azure OpenAI completions API-nak. A rendszer a HTTP-válaszban adja vissza a kérdésre adott választ.
[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);
}
Ez a példa bemenetként kér egy kérést, közvetlenül a befejezési API-nak küldi el, és kimenetként adja vissza a választ.
[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);
}
Ez a példa bemutatja a templating mintát, amelyben a HTTP-eseményindító függvény egy paramétert name használ, és beágyazza egy szöveges parancssorba, amelyet a bővítmény elküld az Azure OpenAI completions API-nak. A rendszer a HTTP-válaszban adja vissza a kérdésre adott választ.
@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();
}
Ez a példa bemenetként kér egy kérést, közvetlenül a befejezési API-nak küldi el, és kimenetként adja vissza a választ.
@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();
}
Ez a példa bemutatja a templating mintát, amelyben a HTTP-eseményindító függvény egy paramétert name használ, és beágyazza egy szöveges parancssorba, amelyet a bővítmény elküld az Azure OpenAI completions API-nak. A rendszer a HTTP-válaszban adja vissza a kérdésre adott választ.
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() }
}
});
Ez a példa bemutatja a templating mintát, amelyben a HTTP-eseményindító függvény egy paramétert name használ, és beágyazza egy szöveges parancssorba, amelyet a bővítmény elküld az Azure OpenAI completions API-nak. A rendszer a HTTP-válaszban adja vissza a kérdésre adott választ.
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() }
}
});
Ez a példa bemutatja a templating mintát, amelyben a HTTP-eseményindító függvény egy paramétert name használ, és beágyazza egy szöveges parancssorba, amelyet a bővítmény elküld az Azure OpenAI completions API-nak. A rendszer a HTTP-válaszban adja vissza a kérdésre adott választ.
A következő function.json fájl: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%"
}
]
}
A function.json fájltulajdonságokról a Konfiguráció szakaszban talál további információt.
A kód egyszerűen visszaadja a szöveget a befejezési API-ból válaszként:
using namespace System.Net
param($Request, $TriggerMetadata, $TextCompletionResponse)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $TextCompletionResponse.Content
})
Ez a példa bemutatja a templating mintát, amelyben a HTTP-eseményindító függvény egy paramétert name használ, és beágyazza egy szöveges parancssorba, amelyet a bővítmény elküld az Azure OpenAI completions API-nak. A rendszer a HTTP-válaszban adja vissza a kérdésre adott választ.
@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)
Ez a példa bemenetként kér egy kérést, közvetlenül a befejezési API-nak küldi el, és kimenetként adja vissza a választ.
@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)
Tulajdonságok
A szövegkimeneti bemeneti kötés meghatározásához alkalmazott attribútum a C# folyamatmódtól függ.
Az izolált feldolgozói modellben szövegkimeneti bemeneti kötés definiálására kell alkalmazni TextCompletionInput .
Az attribútum a következő paramétereket támogatja:
| Paraméter | Leírás |
|---|---|
| Javaslat | Lekéri vagy beállítja a kérést, hogy sztringként kódolt befejezéseket hozzon létre. |
| AIConnectionName | Választható. Lekéri vagy beállítja az AI szolgáltatás csatlakozási beállításaihoz tartozó konfigurációs szakasz nevét. Azure OpenAI esetén: Ha meg van adva, ebben a konfigurációs szakaszban keresse meg a "Végpont" és a "Kulcs" értéket. Ha nincs megadva, vagy a szakasz nem létezik, visszavált a környezeti változókra: AZURE_OPENAI_ENDPOINT és AZURE_OPENAI_KEY. A felhasználó által hozzárendelt felügyelt identitás hitelesítéséhez ez a tulajdonság szükséges. OpenAI szolgáltatás (nem Azure) esetén állítsa be a OPENAI_API_KEY környezeti változót. |
| ChatModel |
Választható. Lekéri vagy beállítja a modell azonosítóját sztringként, alapértelmezett értékként gpt-3.5-turbo. |
| Hőmérséklet |
Választható. Lekéri vagy beállítja a használandó mintavételi hőmérsékletet sztringként az és 0a között2. A magasabb értékek (0.8) véletlenszerűbbé teszik a kimenetet, míg az alacsonyabb értékek(0.2) a kimenetet koncentráltabbá és determinisztikusabbá teszik. Használhatja vagy TemperatureTopP, de mindkettőt nem. |
| TopP |
Választható. Sztringként lekéri vagy beállítja a hőmérséklettel történő mintavételezés alternatívát, az úgynevezett nukleusz-mintavételezést. Ebben a mintavételezési módszerben a modell a valószínűségi tömeggel rendelkező top_p tokenek eredményeit veszi figyelembe. Ez azt 0.1 jelenti, hogy csak az első 10% valószínűségi tömeget tartalmazó jogkivonatokat veszi figyelembe. Használhatja vagy TemperatureTopP, de mindkettőt nem. |
| MaxTokens |
Választható. Lekéri vagy beállítja a befejezéskor létrehozandó jogkivonatok maximális számát egy alapértelmezett 100sztringként. A parancssor jogkivonatszáma plusz max_tokens nem haladhatja meg a modell környezethosszát. A legtöbb modell környezethossza 2048 token (kivéve a legújabb modelleket, amelyek támogatják a 4096-ot). |
| IsReasoningModel |
Választható. Lekéri vagy beállít egy értéket, amely jelzi, hogy a csevegés befejezési modellje érvelési modell-e. Ez a beállítás kísérleti jellegű, és mindaddig az érvelési modellhez van társítva, amíg az összes modell paritásos nem lesz a várt tulajdonságokban, és az alapértelmezett érték a false. |
Megjegyzések
A TextCompletion széljegyzet lehetővé teszi egy szövegkiegészítési bemeneti kötés definiálását, amely az alábbi paramétereket támogatja:
| Elem | Leírás |
|---|---|
| név | Lekéri vagy beállítja a bemeneti kötés nevét. |
| kérés | Lekéri vagy beállítja a kérést, hogy sztringként kódolt befejezéseket hozzon létre. |
| aiConnectionName | Választható. Lekéri vagy beállítja az AI szolgáltatás csatlakozási beállításaihoz tartozó konfigurációs szakasz nevét. Azure OpenAI esetén: Ha meg van adva, ebben a konfigurációs szakaszban keresse meg a "Végpont" és a "Kulcs" értéket. Ha nincs megadva, vagy a szakasz nem létezik, visszavált a környezeti változókra: AZURE_OPENAI_ENDPOINT és AZURE_OPENAI_KEY. A felhasználó által hozzárendelt felügyelt identitás hitelesítéséhez ez a tulajdonság szükséges. OpenAI szolgáltatás (nem Azure) esetén állítsa be a OPENAI_API_KEY környezeti változót. |
| chatModel | Lekéri vagy beállítja a modell azonosítóját sztringként, alapértelmezett értékként gpt-3.5-turbo. |
| hőmérséklet |
Választható. Lekéri vagy beállítja a használandó mintavételi hőmérsékletet sztringként az és 0a között2. A magasabb értékek (0.8) véletlenszerűbbé teszik a kimenetet, míg az alacsonyabb értékek(0.2) a kimenetet koncentráltabbá és determinisztikusabbá teszik. Használhatja vagy TemperatureTopP, de mindkettőt nem. |
| topP |
Választható. Sztringként lekéri vagy beállítja a hőmérséklettel történő mintavételezés alternatívát, az úgynevezett nukleusz-mintavételezést. Ebben a mintavételezési módszerben a modell a valószínűségi tömeggel rendelkező top_p tokenek eredményeit veszi figyelembe. Ez azt 0.1 jelenti, hogy csak az első 10% valószínűségi tömeget tartalmazó jogkivonatokat veszi figyelembe. Használhatja vagy TemperatureTopP, de mindkettőt nem. |
| maxTokens |
Választható. Lekéri vagy beállítja a befejezéskor létrehozandó jogkivonatok maximális számát egy alapértelmezett 100sztringként. A parancssor jogkivonatszáma plusz max_tokens nem haladhatja meg a modell környezethosszát. A legtöbb modell környezethossza 2048 token (kivéve a legújabb modelleket, amelyek támogatják a 4096-ot). |
| isReasoningModel |
Választható. Lekéri vagy beállít egy értéket, amely jelzi, hogy a csevegés befejezési modellje érvelési modell-e. Ez a beállítás kísérleti jellegű, és mindaddig az érvelési modellhez van társítva, amíg az összes modell paritásos nem lesz a várt tulajdonságokban, és az alapértelmezett érték a false. |
Dekorátorok
Az előzetes verzióban adja meg a bemeneti kötést típuskötésként generic_input_bindingtextCompletion, amely támogatja az alábbi paramétereket:
| Paraméter | Leírás |
|---|---|
| arg_name | A kötési paramétert képviselő változó neve. |
| kérés | Lekéri vagy beállítja a kérést, hogy sztringként kódolt befejezéseket hozzon létre. |
| ai_connection_name | Választható. Lekéri vagy beállítja az AI szolgáltatás csatlakozási beállításaihoz tartozó konfigurációs szakasz nevét. Azure OpenAI esetén: Ha meg van adva, ebben a konfigurációs szakaszban keresse meg a "Végpont" és a "Kulcs" értéket. Ha nincs megadva, vagy a szakasz nem létezik, visszavált a környezeti változókra: AZURE_OPENAI_ENDPOINT és AZURE_OPENAI_KEY. A felhasználó által hozzárendelt felügyelt identitás hitelesítéséhez ez a tulajdonság szükséges. OpenAI szolgáltatás (nem Azure) esetén állítsa be a OPENAI_API_KEY környezeti változót. |
| chat_model | Lekéri vagy beállítja a modell azonosítóját sztringként, alapértelmezett értékként gpt-3.5-turbo. |
| hőmérséklet |
Választható. Lekéri vagy beállítja a használandó mintavételi hőmérsékletet sztringként az és 0a között2. A magasabb értékek (0.8) véletlenszerűbbé teszik a kimenetet, míg az alacsonyabb értékek(0.2) a kimenetet koncentráltabbá és determinisztikusabbá teszik. Használhatja vagy TemperatureTopP, de mindkettőt nem. |
| top_p |
Választható. Sztringként lekéri vagy beállítja a hőmérséklettel történő mintavételezés alternatívát, az úgynevezett nukleusz-mintavételezést. Ebben a mintavételezési módszerben a modell a valószínűségi tömeggel rendelkező top_p tokenek eredményeit veszi figyelembe. Ez azt 0.1 jelenti, hogy csak az első 10% valószínűségi tömeget tartalmazó jogkivonatokat veszi figyelembe. Használhatja vagy TemperatureTopP, de mindkettőt nem. |
| max_tokens |
Választható. Lekéri vagy beállítja a befejezéskor létrehozandó jogkivonatok maximális számát egy alapértelmezett 100sztringként. A parancssor jogkivonatszáma plusz max_tokens nem haladhatja meg a modell környezethosszát. A legtöbb modell környezethossza 2048 token (kivéve a legújabb modelleket, amelyek támogatják a 4096-ot). |
| is_reasoning _model |
Választható. Lekéri vagy beállít egy értéket, amely jelzi, hogy a csevegés befejezési modellje érvelési modell-e. Ez a beállítás kísérleti jellegű, és mindaddig az érvelési modellhez van társítva, amíg az összes modell paritásos nem lesz a várt tulajdonságokban, és az alapértelmezett érték a false. |
Konfiguráció
A kötés támogatja a function.json fájlban beállított konfigurációs tulajdonságokat.
| Ingatlan | Leírás |
|---|---|
| típus | Kell lennie textCompletion. |
| irány | Kell lennie in. |
| név | A bemeneti kötés neve. |
| kérés | Lekéri vagy beállítja a kérést, hogy sztringként kódolt befejezéseket hozzon létre. |
| aiConnectionName | Választható. Lekéri vagy beállítja az AI szolgáltatás csatlakozási beállításaihoz tartozó konfigurációs szakasz nevét. Azure OpenAI esetén: Ha meg van adva, ebben a konfigurációs szakaszban keresse meg a "Végpont" és a "Kulcs" értéket. Ha nincs megadva, vagy a szakasz nem létezik, visszavált a környezeti változókra: AZURE_OPENAI_ENDPOINT és AZURE_OPENAI_KEY. A felhasználó által hozzárendelt felügyelt identitás hitelesítéséhez ez a tulajdonság szükséges. OpenAI szolgáltatás (nem Azure) esetén állítsa be a OPENAI_API_KEY környezeti változót. |
| chatModel | Lekéri vagy beállítja a modell azonosítóját sztringként, alapértelmezett értékként gpt-3.5-turbo. |
| hőmérséklet |
Választható. Lekéri vagy beállítja a használandó mintavételi hőmérsékletet sztringként az és 0a között2. A magasabb értékek (0.8) véletlenszerűbbé teszik a kimenetet, míg az alacsonyabb értékek(0.2) a kimenetet koncentráltabbá és determinisztikusabbá teszik. Használhatja vagy TemperatureTopP, de mindkettőt nem. |
| topP |
Választható. Sztringként lekéri vagy beállítja a hőmérséklettel történő mintavételezés alternatívát, az úgynevezett nukleusz-mintavételezést. Ebben a mintavételezési módszerben a modell a valószínűségi tömeggel rendelkező top_p tokenek eredményeit veszi figyelembe. Ez azt 0.1 jelenti, hogy csak az első 10% valószínűségi tömeget tartalmazó jogkivonatokat veszi figyelembe. Használhatja vagy TemperatureTopP, de mindkettőt nem. |
| maxTokens |
Választható. Lekéri vagy beállítja a befejezéskor létrehozandó jogkivonatok maximális számát egy alapértelmezett 100sztringként. A parancssor jogkivonatszáma plusz max_tokens nem haladhatja meg a modell környezethosszát. A legtöbb modell környezethossza 2048 token (kivéve a legújabb modelleket, amelyek támogatják a 4096-ot). |
| isReasoningModel |
Választható. Lekéri vagy beállít egy értéket, amely jelzi, hogy a csevegés befejezési modellje érvelési modell-e. Ez a beállítás kísérleti jellegű, és mindaddig az érvelési modellhez van társítva, amíg az összes modell paritásos nem lesz a várt tulajdonságokban, és az alapértelmezett érték a false. |
Konfiguráció
A kötés támogatja ezeket a tulajdonságokat, amelyek a kódban vannak definiálva:
| Ingatlan | Leírás |
|---|---|
| kérés | Lekéri vagy beállítja a kérést, hogy sztringként kódolt befejezéseket hozzon létre. |
| aiConnectionName | Választható. Lekéri vagy beállítja az AI szolgáltatás csatlakozási beállításaihoz tartozó konfigurációs szakasz nevét. Azure OpenAI esetén: Ha meg van adva, ebben a konfigurációs szakaszban keresse meg a "Végpont" és a "Kulcs" értéket. Ha nincs megadva, vagy a szakasz nem létezik, visszavált a környezeti változókra: AZURE_OPENAI_ENDPOINT és AZURE_OPENAI_KEY. A felhasználó által hozzárendelt felügyelt identitás hitelesítéséhez ez a tulajdonság szükséges. OpenAI szolgáltatás (nem Azure) esetén állítsa be a OPENAI_API_KEY környezeti változót. |
| chatModel | Lekéri vagy beállítja a modell azonosítóját sztringként, alapértelmezett értékként gpt-3.5-turbo. |
| hőmérséklet |
Választható. Lekéri vagy beállítja a használandó mintavételi hőmérsékletet sztringként az és 0a között2. A magasabb értékek (0.8) véletlenszerűbbé teszik a kimenetet, míg az alacsonyabb értékek(0.2) a kimenetet koncentráltabbá és determinisztikusabbá teszik. Használhatja vagy TemperatureTopP, de mindkettőt nem. |
| topP |
Választható. Sztringként lekéri vagy beállítja a hőmérséklettel történő mintavételezés alternatívát, az úgynevezett nukleusz-mintavételezést. Ebben a mintavételezési módszerben a modell a valószínűségi tömeggel rendelkező top_p tokenek eredményeit veszi figyelembe. Ez azt 0.1 jelenti, hogy csak az első 10% valószínűségi tömeget tartalmazó jogkivonatokat veszi figyelembe. Használhatja vagy TemperatureTopP, de mindkettőt nem. |
| maxTokens |
Választható. Lekéri vagy beállítja a befejezéskor létrehozandó jogkivonatok maximális számát egy alapértelmezett 100sztringként. A parancssor jogkivonatszáma plusz max_tokens nem haladhatja meg a modell környezethosszát. A legtöbb modell környezethossza 2048 token (kivéve a legújabb modelleket, amelyek támogatják a 4096-ot). |
| isReasoningModel |
Választható. Lekéri vagy beállít egy értéket, amely jelzi, hogy a csevegés befejezési modellje érvelési modell-e. Ez a beállítás kísérleti jellegű, és mindaddig az érvelési modellhez van társítva, amíg az összes modell paritásos nem lesz a várt tulajdonságokban, és az alapértelmezett érték a false. |
Használat
A teljes példákért tekintse meg a Példa szakaszt .