Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Die Azure OpenAI-Erweiterung für Azure Functions befindet sich derzeit in der Vorschau.
Mit der Eingabebindung für den Abschluss von Azure OpenAI-Texten können Sie die Ergebnistextabschluss-APIs in Ihre Codeausführungen integrieren. Sie können die Bindung definieren, um beide vordefinierten Eingabeaufforderungen mit Parametern zu verwenden oder eine gesamte Eingabeaufforderung zu übergeben.
Informationen zu Einrichtungs- und Konfigurationsdetails der Azure OpenAI-Erweiterung finden Sie unter Azure OpenAI-Erweiterungen für Azure Functions. Weitere Informationen zu Azure OpenAI-Fertigstellungen finden Sie unter "Informationen zum Generieren oder Bearbeiten von Text".
Hinweis
Referenzen und Beispiele werden nur für das Node.js v4-Modell bereitgestellt.
Hinweis
Referenzen und Beispiele werden nur für das Python v2-Modell bereitgestellt.
Hinweis
Während beide C#-Prozessmodelle unterstützt werden, werden nur Isolierte Arbeitsmodellbeispiele bereitgestellt.
Beispiel
This example demonstrates the templating pattern, where the HTTP trigger function takes a name parameter and embeds it into a text prompt, which is then sent to the Azure OpenAI completions API by the extension. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
[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);
}
In diesem Beispiel wird eine Eingabeaufforderung als Eingabe verwendet, direkt an die Fertigstellungs-API gesendet und die Antwort als Ausgabe zurückgegeben.
[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);
}
This example demonstrates the templating pattern, where the HTTP trigger function takes a name parameter and embeds it into a text prompt, which is then sent to the Azure OpenAI completions API by the extension. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
@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();
}
In diesem Beispiel wird eine Eingabeaufforderung als Eingabe verwendet, direkt an die Fertigstellungs-API gesendet und die Antwort als Ausgabe zurückgegeben.
@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();
}
This example demonstrates the templating pattern, where the HTTP trigger function takes a name parameter and embeds it into a text prompt, which is then sent to the Azure OpenAI completions API by the extension. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
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() }
}
});
This example demonstrates the templating pattern, where the HTTP trigger function takes a name parameter and embeds it into a text prompt, which is then sent to the Azure OpenAI completions API by the extension. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
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() }
}
});
This example demonstrates the templating pattern, where the HTTP trigger function takes a name parameter and embeds it into a text prompt, which is then sent to the Azure OpenAI completions API by the extension. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
Hier sehen Sie die Datei function.json für 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%"
}
]
}
Weitere Informationen zu den Dateieigenschaften von function.json finden Sie im Abschnitt Konfiguration.
Der Code gibt einfach den Text aus der Abschluss-API als Antwort zurück:
using namespace System.Net
param($Request, $TriggerMetadata, $TextCompletionResponse)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $TextCompletionResponse.Content
})
This example demonstrates the templating pattern, where the HTTP trigger function takes a name parameter and embeds it into a text prompt, which is then sent to the Azure OpenAI completions API by the extension. Die Antwort auf den Prompt wird in der HTTP-Antwort zurückgegeben.
@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)
In diesem Beispiel wird eine Eingabeaufforderung als Eingabe verwendet, direkt an die Fertigstellungs-API gesendet und die Antwort als Ausgabe zurückgegeben.
@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)
Attribute
Das spezifische Attribut, das Sie zum Definieren einer Eingabebindung für textvervollständigen anwenden, hängt vom C#-Prozessmodus ab.
Wenden Sie sich im isolierten Arbeitsmodell an TextCompletionInput , um eine Textvervollständigen-Eingabebindung zu definieren.
Das Attribut unterstützt die folgenden Parameter:
| Parameter | BESCHREIBUNG |
|---|---|
| Prompt | Dient zum Abrufen oder Festlegen der Eingabeaufforderung zum Generieren von Fertigstellungen, die als Zeichenfolge codiert sind. |
| AIConnectionName | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. For Azure OpenAI: If specified, looks for "Endpoint" and "Key" values in this configuration section. Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
| ChatModel |
Optional. Dient zum Abrufen oder Festlegen der ID des Modells, das als Zeichenfolge verwendet werden soll, mit einem Standardwert von gpt-3.5-turbo. |
| Temperatur |
Optional. Ruft die zu verwendende Samplingtemperatur als Zeichenfolge zwischen 0 und .2 Höhere Werte (0.8) machen die Ausgabe zufälliger, während niedrigere Werte wie (0.2) die Ausgabe fokussierter und deterministisch gestalten. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| TopP |
Optional. Dient zum Abrufen oder Festlegen einer Alternative zur Probenahme mit Temperatur, die als Kernsampling bezeichnet wird, als Zeichenfolge. Bei dieser Samplingmethode berücksichtigt das Modell die Ergebnisse der Token mit top_p Wahrscheinlichkeitsmasse. Bedeutet also 0.1 , dass nur die Token aus den top 10% Wahrscheinlichkeitsmasse berücksichtigt werden. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| MaxTokens |
Optional. Dient zum Abrufen oder Festlegen der maximalen Anzahl von Token, die im Abschluss generiert werden sollen, als Zeichenfolge mit einem Standardwert von 100. Die Tokenanzahl Ihres Prompts plus max_tokens darf die Kontextlänge des Modells nicht überschreiten. Die meisten Modelle haben eine Kontextlänge von 2,048 Token (mit Ausnahme der neuesten Modelle, die 4096 unterstützen). |
| IsReasoningModel |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false. |
Anmerkungen
Mit der TextCompletion Anmerkung können Sie eine Eingabebindung für textvervollständigen definieren, die die folgenden Parameter unterstützt:
| Element | BESCHREIBUNG |
|---|---|
| Name | Ruft den Namen der Eingabebindung ab oder legt ihn fest. |
| Eingabeaufforderung | Dient zum Abrufen oder Festlegen der Eingabeaufforderung zum Generieren von Fertigstellungen, die als Zeichenfolge codiert sind. |
| aiConnectionName | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. For Azure OpenAI: If specified, looks for "Endpoint" and "Key" values in this configuration section. Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
| chatModel | Dient zum Abrufen oder Festlegen der ID des Modells, das als Zeichenfolge verwendet werden soll, mit einem Standardwert von gpt-3.5-turbo. |
| Temperatur |
Optional. Ruft die zu verwendende Samplingtemperatur als Zeichenfolge zwischen 0 und .2 Höhere Werte (0.8) machen die Ausgabe zufälliger, während niedrigere Werte wie (0.2) die Ausgabe fokussierter und deterministisch gestalten. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| topP |
Optional. Dient zum Abrufen oder Festlegen einer Alternative zur Probenahme mit Temperatur, die als Kernsampling bezeichnet wird, als Zeichenfolge. Bei dieser Samplingmethode berücksichtigt das Modell die Ergebnisse der Token mit top_p Wahrscheinlichkeitsmasse. Bedeutet also 0.1 , dass nur die Token aus den top 10% Wahrscheinlichkeitsmasse berücksichtigt werden. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| maxTokens |
Optional. Dient zum Abrufen oder Festlegen der maximalen Anzahl von Token, die im Abschluss generiert werden sollen, als Zeichenfolge mit einem Standardwert von 100. Die Tokenanzahl Ihres Prompts plus max_tokens darf die Kontextlänge des Modells nicht überschreiten. Die meisten Modelle haben eine Kontextlänge von 2,048 Token (mit Ausnahme der neuesten Modelle, die 4096 unterstützen). |
| isReasoningModel |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false. |
Decorator-Elemente
Definieren Sie während der Vorschau die Eingabebindung als generic_input_binding-Bindung vom Typ textCompletion, die diese Parameter unterstützt:
| Parameter | BESCHREIBUNG |
|---|---|
| arg_name | Der Name der Variablen, die den Bindungsparameter darstellt. |
| Eingabeaufforderung | Dient zum Abrufen oder Festlegen der Eingabeaufforderung zum Generieren von Fertigstellungen, die als Zeichenfolge codiert sind. |
| ai_connection_name | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. For Azure OpenAI: If specified, looks for "Endpoint" and "Key" values in this configuration section. Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
| chat_model | Dient zum Abrufen oder Festlegen der ID des Modells, das als Zeichenfolge verwendet werden soll, mit einem Standardwert von gpt-3.5-turbo. |
| Temperatur |
Optional. Ruft die zu verwendende Samplingtemperatur als Zeichenfolge zwischen 0 und .2 Höhere Werte (0.8) machen die Ausgabe zufälliger, während niedrigere Werte wie (0.2) die Ausgabe fokussierter und deterministisch gestalten. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| top_p |
Optional. Dient zum Abrufen oder Festlegen einer Alternative zur Probenahme mit Temperatur, die als Kernsampling bezeichnet wird, als Zeichenfolge. Bei dieser Samplingmethode berücksichtigt das Modell die Ergebnisse der Token mit top_p Wahrscheinlichkeitsmasse. Bedeutet also 0.1 , dass nur die Token aus den top 10% Wahrscheinlichkeitsmasse berücksichtigt werden. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| max_tokens |
Optional. Dient zum Abrufen oder Festlegen der maximalen Anzahl von Token, die im Abschluss generiert werden sollen, als Zeichenfolge mit einem Standardwert von 100. Die Tokenanzahl Ihres Prompts plus max_tokens darf die Kontextlänge des Modells nicht überschreiten. Die meisten Modelle haben eine Kontextlänge von 2,048 Token (mit Ausnahme der neuesten Modelle, die 4096 unterstützen). |
| is_reasoning _model |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false. |
Konfiguration
Die Bindung unterstützt diese Konfigurationseigenschaften, die Sie in der Datei „function.json“ festlegen.
| Eigentum | BESCHREIBUNG |
|---|---|
| Typ | Muss textCompletion sein. |
| Richtung | Muss in sein. |
| Name | Der Name der Eingabebindung. |
| Eingabeaufforderung | Dient zum Abrufen oder Festlegen der Eingabeaufforderung zum Generieren von Fertigstellungen, die als Zeichenfolge codiert sind. |
| aiConnectionName | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. For Azure OpenAI: If specified, looks for "Endpoint" and "Key" values in this configuration section. Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
| chatModel | Dient zum Abrufen oder Festlegen der ID des Modells, das als Zeichenfolge verwendet werden soll, mit einem Standardwert von gpt-3.5-turbo. |
| Temperatur |
Optional. Ruft die zu verwendende Samplingtemperatur als Zeichenfolge zwischen 0 und .2 Höhere Werte (0.8) machen die Ausgabe zufälliger, während niedrigere Werte wie (0.2) die Ausgabe fokussierter und deterministisch gestalten. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| topP |
Optional. Dient zum Abrufen oder Festlegen einer Alternative zur Probenahme mit Temperatur, die als Kernsampling bezeichnet wird, als Zeichenfolge. Bei dieser Samplingmethode berücksichtigt das Modell die Ergebnisse der Token mit top_p Wahrscheinlichkeitsmasse. Bedeutet also 0.1 , dass nur die Token aus den top 10% Wahrscheinlichkeitsmasse berücksichtigt werden. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| maxTokens |
Optional. Dient zum Abrufen oder Festlegen der maximalen Anzahl von Token, die im Abschluss generiert werden sollen, als Zeichenfolge mit einem Standardwert von 100. Die Tokenanzahl Ihres Prompts plus max_tokens darf die Kontextlänge des Modells nicht überschreiten. Die meisten Modelle haben eine Kontextlänge von 2,048 Token (mit Ausnahme der neuesten Modelle, die 4096 unterstützen). |
| isReasoningModel |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false. |
Konfiguration
Die Bindung unterstützt diese Eigenschaften, die in Ihrem Code definiert sind:
| Eigentum | BESCHREIBUNG |
|---|---|
| Eingabeaufforderung | Dient zum Abrufen oder Festlegen der Eingabeaufforderung zum Generieren von Fertigstellungen, die als Zeichenfolge codiert sind. |
| aiConnectionName | Optional. Dient zum Abrufen oder Festlegen des Namens des Konfigurationsabschnitts für AI-Dienstkonnektivitätseinstellungen. For Azure OpenAI: If specified, looks for "Endpoint" and "Key" values in this configuration section. Wenn sie nicht angegeben ist oder der Abschnitt nicht vorhanden ist, kehren Sie auf Umgebungsvariablen zurück: AZURE_OPENAI_ENDPOINT und AZURE_OPENAI_KEY. Für die vom Benutzer zugewiesene verwaltete Identitätsauthentifizierung ist diese Eigenschaft erforderlich. Legen Sie für openAI-Dienst (nicht azure) die OPENAI_API_KEY Umgebungsvariable fest. |
| chatModel | Dient zum Abrufen oder Festlegen der ID des Modells, das als Zeichenfolge verwendet werden soll, mit einem Standardwert von gpt-3.5-turbo. |
| Temperatur |
Optional. Ruft die zu verwendende Samplingtemperatur als Zeichenfolge zwischen 0 und .2 Höhere Werte (0.8) machen die Ausgabe zufälliger, während niedrigere Werte wie (0.2) die Ausgabe fokussierter und deterministisch gestalten. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| topP |
Optional. Dient zum Abrufen oder Festlegen einer Alternative zur Probenahme mit Temperatur, die als Kernsampling bezeichnet wird, als Zeichenfolge. Bei dieser Samplingmethode berücksichtigt das Modell die Ergebnisse der Token mit top_p Wahrscheinlichkeitsmasse. Bedeutet also 0.1 , dass nur die Token aus den top 10% Wahrscheinlichkeitsmasse berücksichtigt werden. Sie sollten entweder Temperature oder TopP, aber nicht beide verwenden. |
| maxTokens |
Optional. Dient zum Abrufen oder Festlegen der maximalen Anzahl von Token, die im Abschluss generiert werden sollen, als Zeichenfolge mit einem Standardwert von 100. Die Tokenanzahl Ihres Prompts plus max_tokens darf die Kontextlänge des Modells nicht überschreiten. Die meisten Modelle haben eine Kontextlänge von 2,048 Token (mit Ausnahme der neuesten Modelle, die 4096 unterstützen). |
| isReasoningModel |
Optional. Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Chatabschlussmodell ein Grundmodell ist. Diese Option ist experimentell und mit dem Begründungsmodell verknüpft, bis alle Modelle die Parität in den erwarteten Eigenschaften haben, mit einem Standardwert von false. |
Verwendung
Vollständige Beispiele finden Sie im Abschnitt Beispiele.