Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
L'estensione OpenAI di Azure per Funzioni di Azure è attualmente in anteprima.
L'associazione di input di completamento del testo OpenAI di Azure consente di inserire le API di completamento del testo dei risultati nelle esecuzioni di codice. È possibile definire l'associazione per usare entrambe le richieste predefinite con parametri o passare un'intera richiesta.
Per informazioni sull'installazione e la configurazione dell'estensione OpenAI di Azure, vedere Estensioni OpenAI di Azure per Funzioni di Azure. Per altre informazioni sui completamenti OpenAI di Azure, vedere Informazioni su come generare o modificare il testo.
Annotazioni
I riferimenti e gli esempi vengono forniti solo per il modello Node.js v4.
Annotazioni
I riferimenti e gli esempi vengono forniti solo per il modello Python v2.
Annotazioni
Anche se sono supportati entrambi i modelli di processo C#, vengono forniti solo esempi di modelli di lavoro isolati.
Esempio
Questo esempio illustra il modello di creazione di modelli, in cui la funzione trigger HTTP accetta un name parametro e lo incorpora in un prompt di testo, che viene quindi inviato all'API dei completamenti OpenAI di Azure dall'estensione. La risposta alla richiesta viene restituita nella risposta 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);
}
Questo esempio accetta un prompt come input, lo invia direttamente all'API dei completamenti e restituisce la risposta come output.
[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);
}
Questo esempio illustra il modello di creazione di modelli, in cui la funzione trigger HTTP accetta un name parametro e lo incorpora in un prompt di testo, che viene quindi inviato all'API dei completamenti OpenAI di Azure dall'estensione. La risposta alla richiesta viene restituita nella risposta 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();
}
Questo esempio accetta un prompt come input, lo invia direttamente all'API dei completamenti e restituisce la risposta come output.
@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();
}
Questo esempio illustra il modello di creazione di modelli, in cui la funzione trigger HTTP accetta un name parametro e lo incorpora in un prompt di testo, che viene quindi inviato all'API dei completamenti OpenAI di Azure dall'estensione. La risposta alla richiesta viene restituita nella risposta 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() }
}
});
Questo esempio illustra il modello di creazione di modelli, in cui la funzione trigger HTTP accetta un name parametro e lo incorpora in un prompt di testo, che viene quindi inviato all'API dei completamenti OpenAI di Azure dall'estensione. La risposta alla richiesta viene restituita nella risposta 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() }
}
});
Questo esempio illustra il modello di creazione di modelli, in cui la funzione trigger HTTP accetta un name parametro e lo incorpora in un prompt di testo, che viene quindi inviato all'API dei completamenti OpenAI di Azure dall'estensione. La risposta alla richiesta viene restituita nella risposta HTTP.
Ecco il file function.json per 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%"
}
]
}
Per altre informazioni sulle proprietà dei file function.json, vedere la sezione configurazione.
Il codice restituisce semplicemente il testo dall'API di completamento come risposta:
using namespace System.Net
param($Request, $TriggerMetadata, $TextCompletionResponse)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $TextCompletionResponse.Content
})
Questo esempio illustra il modello di creazione di modelli, in cui la funzione trigger HTTP accetta un name parametro e lo incorpora in un prompt di testo, che viene quindi inviato all'API dei completamenti OpenAI di Azure dall'estensione. La risposta alla richiesta viene restituita nella risposta 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)
Questo esempio accetta un prompt come input, lo invia direttamente all'API dei completamenti e restituisce la risposta come output.
@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)
Attributi
L'attributo specifico applicato per definire un'associazione di input di completamento del testo dipende dalla modalità processo C#.
Nel modello di lavoro isolato applicare TextCompletionInput per definire un'associazione di input di completamento del testo.
L'attributo supporta questi parametri:
| Parametro | Descrizione |
|---|---|
| Suggerimento | Ottiene o imposta il prompt per cui generare i completamenti, codificati come stringa. |
| AIConnectionName | Facoltativo. Ottiene o imposta il nome della sezione di configurazione per le impostazioni di connettività del servizio di intelligenza artificiale. Per Azure OpenAI: se specificato, cerca i valori "Endpoint" e "Key" in questa sezione di configurazione. Se non specificato o la sezione non esiste, esegue il fallback alle variabili di ambiente: AZURE_OPENAI_ENDPOINT e AZURE_OPENAI_KEY. Per l'autenticazione dell'identità gestita assegnata dall'utente, questa proprietà è obbligatoria. Per il servizio OpenAI (non Azure), impostare la variabile di ambiente OPENAI_API_KEY. |
| ChatModel |
Facoltativo. Ottiene o imposta l'ID del modello da utilizzare come stringa, con un valore predefinito .gpt-3.5-turbo |
| Temperatura |
Facoltativo. Ottiene o imposta la temperatura di campionamento da utilizzare, come stringa tra 0 e 2. I valori più elevati (0.8) rendono l'output più casuale, mentre i valori inferiori come (0.2) rendono l'output più mirato e deterministico. È consigliabile usare Temperature o TopP, ma non entrambi. |
| TopP |
Facoltativo. Ottiene o imposta un'alternativa al campionamento con la temperatura, denominata campionamento del nucleo, come stringa. In questo metodo di campionamento, il modello considera i risultati dei token con top_p massa di probabilità. Significa quindi 0.1 che vengono considerati solo i token che comprendono i primi 10% massa di probabilità. È consigliabile usare Temperature o TopP, ma non entrambi. |
| MaxTokens |
Facoltativo. Ottiene o imposta il numero massimo di token da generare nel completamento, come stringa con un valore predefinito .100 Il numero di token della richiesta più max_tokens non può superare la lunghezza del contesto del modello. La maggior parte dei modelli ha una lunghezza di contesto di 2.048 token (ad eccezione dei modelli più recenti, che supportano 4096). |
| IsReasoningModel |
Facoltativo. Ottiene o imposta un valore che indica se il modello di completamento della chat è un modello di ragionamento. Questa opzione è sperimentale e associata al modello di ragionamento fino a quando tutti i modelli non hanno parità nelle proprietà previste, con un valore predefinito di false. |
Annotazioni
L'annotazione TextCompletion consente di definire un'associazione di input di completamento del testo, che supporta questi parametri:
| Elemento | Descrizione |
|---|---|
| nome | Ottiene o imposta il nome del binding di input. |
| richiesta | Ottiene o imposta il prompt per cui generare i completamenti, codificati come stringa. |
| aiConnectionName | Facoltativo. Ottiene o imposta il nome della sezione di configurazione per le impostazioni di connettività del servizio di intelligenza artificiale. Per Azure OpenAI: se specificato, cerca i valori "Endpoint" e "Key" in questa sezione di configurazione. Se non specificato o la sezione non esiste, esegue il fallback alle variabili di ambiente: AZURE_OPENAI_ENDPOINT e AZURE_OPENAI_KEY. Per l'autenticazione dell'identità gestita assegnata dall'utente, questa proprietà è obbligatoria. Per il servizio OpenAI (non Azure), impostare la variabile di ambiente OPENAI_API_KEY. |
| chatModel | Ottiene o imposta l'ID del modello da utilizzare come stringa, con un valore predefinito .gpt-3.5-turbo |
| temperatura |
Facoltativo. Ottiene o imposta la temperatura di campionamento da utilizzare, come stringa tra 0 e 2. I valori più elevati (0.8) rendono l'output più casuale, mentre i valori inferiori come (0.2) rendono l'output più mirato e deterministico. È consigliabile usare Temperature o TopP, ma non entrambi. |
| topP |
Facoltativo. Ottiene o imposta un'alternativa al campionamento con la temperatura, denominata campionamento del nucleo, come stringa. In questo metodo di campionamento, il modello considera i risultati dei token con top_p massa di probabilità. Significa quindi 0.1 che vengono considerati solo i token che comprendono i primi 10% massa di probabilità. È consigliabile usare Temperature o TopP, ma non entrambi. |
| maxTokens |
Facoltativo. Ottiene o imposta il numero massimo di token da generare nel completamento, come stringa con un valore predefinito .100 Il numero di token della richiesta più max_tokens non può superare la lunghezza del contesto del modello. La maggior parte dei modelli ha una lunghezza di contesto di 2.048 token (ad eccezione dei modelli più recenti, che supportano 4096). |
| isReasoningModel |
Facoltativo. Ottiene o imposta un valore che indica se il modello di completamento della chat è un modello di ragionamento. Questa opzione è sperimentale e associata al modello di ragionamento fino a quando tutti i modelli non hanno parità nelle proprietà previste, con un valore predefinito di false. |
Elementi Decorator
Durante l'anteprima, definire l'associazione di input come associazione generic_input_binding di tipo textCompletion, che supporta questi parametri:
| Parametro | Descrizione |
|---|---|
| arg_name | Nome della variabile che rappresenta il parametro di associazione. |
| richiesta | Ottiene o imposta il prompt per cui generare i completamenti, codificati come stringa. |
| ai_connection_name | Facoltativo. Ottiene o imposta il nome della sezione di configurazione per le impostazioni di connettività del servizio di intelligenza artificiale. Per Azure OpenAI: se specificato, cerca i valori "Endpoint" e "Key" in questa sezione di configurazione. Se non specificato o la sezione non esiste, esegue il fallback alle variabili di ambiente: AZURE_OPENAI_ENDPOINT e AZURE_OPENAI_KEY. Per l'autenticazione dell'identità gestita assegnata dall'utente, questa proprietà è obbligatoria. Per il servizio OpenAI (non Azure), impostare la variabile di ambiente OPENAI_API_KEY. |
| chat_model | Ottiene o imposta l'ID del modello da utilizzare come stringa, con un valore predefinito .gpt-3.5-turbo |
| temperatura |
Facoltativo. Ottiene o imposta la temperatura di campionamento da utilizzare, come stringa tra 0 e 2. I valori più elevati (0.8) rendono l'output più casuale, mentre i valori inferiori come (0.2) rendono l'output più mirato e deterministico. È consigliabile usare Temperature o TopP, ma non entrambi. |
| top_p |
Facoltativo. Ottiene o imposta un'alternativa al campionamento con la temperatura, denominata campionamento del nucleo, come stringa. In questo metodo di campionamento, il modello considera i risultati dei token con top_p massa di probabilità. Significa quindi 0.1 che vengono considerati solo i token che comprendono i primi 10% massa di probabilità. È consigliabile usare Temperature o TopP, ma non entrambi. |
| max_tokens |
Facoltativo. Ottiene o imposta il numero massimo di token da generare nel completamento, come stringa con un valore predefinito .100 Il numero di token della richiesta più max_tokens non può superare la lunghezza del contesto del modello. La maggior parte dei modelli ha una lunghezza di contesto di 2.048 token (ad eccezione dei modelli più recenti, che supportano 4096). |
| is_reasoning _model |
Facoltativo. Ottiene o imposta un valore che indica se il modello di completamento della chat è un modello di ragionamento. Questa opzione è sperimentale e associata al modello di ragionamento fino a quando tutti i modelli non hanno parità nelle proprietà previste, con un valore predefinito di false. |
Configurazione
L'associazione supporta queste proprietà di configurazione impostate nel file function.json.
| Proprietà | Descrizione |
|---|---|
| tipo | Deve essere textCompletion. |
| direzione | Deve essere in. |
| nome | Nome dell'associazione di input. |
| richiesta | Ottiene o imposta il prompt per cui generare i completamenti, codificati come stringa. |
| aiConnectionName | Facoltativo. Ottiene o imposta il nome della sezione di configurazione per le impostazioni di connettività del servizio di intelligenza artificiale. Per Azure OpenAI: se specificato, cerca i valori "Endpoint" e "Key" in questa sezione di configurazione. Se non specificato o la sezione non esiste, esegue il fallback alle variabili di ambiente: AZURE_OPENAI_ENDPOINT e AZURE_OPENAI_KEY. Per l'autenticazione dell'identità gestita assegnata dall'utente, questa proprietà è obbligatoria. Per il servizio OpenAI (non Azure), impostare la variabile di ambiente OPENAI_API_KEY. |
| chatModel | Ottiene o imposta l'ID del modello da utilizzare come stringa, con un valore predefinito .gpt-3.5-turbo |
| temperatura |
Facoltativo. Ottiene o imposta la temperatura di campionamento da utilizzare, come stringa tra 0 e 2. I valori più elevati (0.8) rendono l'output più casuale, mentre i valori inferiori come (0.2) rendono l'output più mirato e deterministico. È consigliabile usare Temperature o TopP, ma non entrambi. |
| topP |
Facoltativo. Ottiene o imposta un'alternativa al campionamento con la temperatura, denominata campionamento del nucleo, come stringa. In questo metodo di campionamento, il modello considera i risultati dei token con top_p massa di probabilità. Significa quindi 0.1 che vengono considerati solo i token che comprendono i primi 10% massa di probabilità. È consigliabile usare Temperature o TopP, ma non entrambi. |
| maxTokens |
Facoltativo. Ottiene o imposta il numero massimo di token da generare nel completamento, come stringa con un valore predefinito .100 Il numero di token della richiesta più max_tokens non può superare la lunghezza del contesto del modello. La maggior parte dei modelli ha una lunghezza di contesto di 2.048 token (ad eccezione dei modelli più recenti, che supportano 4096). |
| isReasoningModel |
Facoltativo. Ottiene o imposta un valore che indica se il modello di completamento della chat è un modello di ragionamento. Questa opzione è sperimentale e associata al modello di ragionamento fino a quando tutti i modelli non hanno parità nelle proprietà previste, con un valore predefinito di false. |
Configurazione
Il binding supporta queste proprietà, definite nel codice:
| Proprietà | Descrizione |
|---|---|
| richiesta | Ottiene o imposta il prompt per cui generare i completamenti, codificati come stringa. |
| aiConnectionName | Facoltativo. Ottiene o imposta il nome della sezione di configurazione per le impostazioni di connettività del servizio di intelligenza artificiale. Per Azure OpenAI: se specificato, cerca i valori "Endpoint" e "Key" in questa sezione di configurazione. Se non specificato o la sezione non esiste, esegue il fallback alle variabili di ambiente: AZURE_OPENAI_ENDPOINT e AZURE_OPENAI_KEY. Per l'autenticazione dell'identità gestita assegnata dall'utente, questa proprietà è obbligatoria. Per il servizio OpenAI (non Azure), impostare la variabile di ambiente OPENAI_API_KEY. |
| chatModel | Ottiene o imposta l'ID del modello da utilizzare come stringa, con un valore predefinito .gpt-3.5-turbo |
| temperatura |
Facoltativo. Ottiene o imposta la temperatura di campionamento da utilizzare, come stringa tra 0 e 2. I valori più elevati (0.8) rendono l'output più casuale, mentre i valori inferiori come (0.2) rendono l'output più mirato e deterministico. È consigliabile usare Temperature o TopP, ma non entrambi. |
| topP |
Facoltativo. Ottiene o imposta un'alternativa al campionamento con la temperatura, denominata campionamento del nucleo, come stringa. In questo metodo di campionamento, il modello considera i risultati dei token con top_p massa di probabilità. Significa quindi 0.1 che vengono considerati solo i token che comprendono i primi 10% massa di probabilità. È consigliabile usare Temperature o TopP, ma non entrambi. |
| maxTokens |
Facoltativo. Ottiene o imposta il numero massimo di token da generare nel completamento, come stringa con un valore predefinito .100 Il numero di token della richiesta più max_tokens non può superare la lunghezza del contesto del modello. La maggior parte dei modelli ha una lunghezza di contesto di 2.048 token (ad eccezione dei modelli più recenti, che supportano 4096). |
| isReasoningModel |
Facoltativo. Ottiene o imposta un valore che indica se il modello di completamento della chat è un modello di ragionamento. Questa opzione è sperimentale e associata al modello di ragionamento fino a quando tutti i modelli non hanno parità nelle proprietà previste, con un valore predefinito di false. |
Uso
Per esempi completi, vedere la sezione di esempio.