Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Azure İşlevleri için Azure OpenAI uzantısı şu anda önizleme aşamasındadır.
Azure OpenAI metin tamamlama giriş bağlaması, sonuç metin tamamlama API'lerini kod yürütmelerinize getirmenizi sağlar. Bağlamayı, parametrelerle önceden tanımlanmış istemleri kullanacak veya tüm bir istemden geçecek şekilde tanımlayabilirsiniz.
Azure OpenAI uzantısının kurulum ve yapılandırma ayrıntıları hakkında bilgi için bkz. Azure İşlevleri için Azure OpenAI uzantıları. Azure OpenAI tamamlamaları hakkında daha fazla bilgi edinmek için bkz. Metin oluşturmayı veya işlemeyi öğrenin.
Uyarı
Başvurular ve örnekler yalnızca Node.js v4 modeli için sağlanır.
Uyarı
Başvurular ve örnekler yalnızca Python v2 modeli için sağlanır.
Uyarı
Her iki C# işlem modeli de destekleniyor olsa da yalnızca yalıtılmış çalışan modeli örnekleri sağlanır.
Örnek
Bu örnekte, HTTP tetikleyici işlevinin bir parametre aldığı ve bunu bir metin istemine eklediği ve ardından uzantı tarafından Azure OpenAI tamamlamaları API'sine gönderilen name deseni gösterilmektedir. İstem yanıtı HTTP yanıtında döndürülür.
[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);
}
Bu örnek giriş olarak bir istem alır, doğrudan tamamlamalar API'sine gönderir ve yanıtı çıkış olarak döndürür.
[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);
}
Bu örnekte, HTTP tetikleyici işlevinin bir parametre aldığı ve bunu bir metin istemine eklediği ve ardından uzantı tarafından Azure OpenAI tamamlamaları API'sine gönderilen name deseni gösterilmektedir. İstem yanıtı HTTP yanıtında döndürülür.
@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();
}
Bu örnek giriş olarak bir istem alır, doğrudan tamamlamalar API'sine gönderir ve yanıtı çıkış olarak döndürür.
@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();
}
Bu örnekte, HTTP tetikleyici işlevinin bir parametre aldığı ve bunu bir metin istemine eklediği ve ardından uzantı tarafından Azure OpenAI tamamlamaları API'sine gönderilen name deseni gösterilmektedir. İstem yanıtı HTTP yanıtında döndürülür.
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() }
}
});
Bu örnekte, HTTP tetikleyici işlevinin bir parametre aldığı ve bunu bir metin istemine eklediği ve ardından uzantı tarafından Azure OpenAI tamamlamaları API'sine gönderilen name deseni gösterilmektedir. İstem yanıtı HTTP yanıtında döndürülür.
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() }
}
});
Bu örnekte, HTTP tetikleyici işlevinin bir parametre aldığı ve bunu bir metin istemine eklediği ve ardından uzantı tarafından Azure OpenAI tamamlamaları API'sine gönderilen name deseni gösterilmektedir. İstem yanıtı HTTP yanıtında döndürülür.
için function.json dosyası aşağıdadı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%"
}
]
}
function.json dosya özellikleri hakkında daha fazla bilgi için Yapılandırma bölümüne bakın.
Kod yalnızca tamamlama API'sinden gelen metni yanıt olarak döndürür:
using namespace System.Net
param($Request, $TriggerMetadata, $TextCompletionResponse)
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $TextCompletionResponse.Content
})
Bu örnekte, HTTP tetikleyici işlevinin bir parametre aldığı ve bunu bir metin istemine eklediği ve ardından uzantı tarafından Azure OpenAI tamamlamaları API'sine gönderilen name deseni gösterilmektedir. İstem yanıtı HTTP yanıtında döndürülür.
@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)
Bu örnek giriş olarak bir istem alır, doğrudan tamamlamalar API'sine gönderir ve yanıtı çıkış olarak döndürür.
@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)
Özellikler
Metin tamamlama giriş bağlamasını tanımlamak için uyguladığınız belirli öznitelik, C# işlem modunuza bağlıdır.
Yalıtılmış çalışan modelinde, metin tamamlama giriş bağlaması tanımlamak için uygulayınTextCompletionInput.
özniteliği şu parametreleri destekler:
| Parametre | Açıklama |
|---|---|
| İstem | Dize olarak kodlanmış tamamlamaları oluşturmak için istem alır veya ayarlar. |
| AIConnectionName | İsteğe bağlı. Yapay zeka hizmeti bağlantı ayarları için yapılandırma bölümünün adını alır veya ayarlar. Azure OpenAI için: Belirtilirse, bu yapılandırma bölümünde "Uç Nokta" ve "Anahtar" değerlerini arar. Belirtilmezse veya bölüm yoksa ortam değişkenlerine geri döner: AZURE_OPENAI_ENDPOINT ve AZURE_OPENAI_KEY. Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması için bu özellik gereklidir. OpenAI hizmeti (Azure olmayan) için OPENAI_API_KEY ortam değişkenini ayarlayın. |
| ChatModel |
İsteğe bağlı. Varsayılan değeri gpt-3.5-turboolan bir dize olarak kullanılacak modelin kimliğini alır veya ayarlar. |
| Sıcaklık |
İsteğe bağlı. ve 0arasında 2 bir dize olarak kullanılacak örnekleme sıcaklığını alır veya ayarlar. Daha yüksek değerler (0.8) çıkışı daha rastgele hale getirirken (0.2) gibi düşük değerler çıkışı daha odaklanmış ve belirlenimci hale getirir. ya da TemperatureTopPkullanmanız gerekir, ancak ikisini birden kullanmamalısınız. |
| TopP |
İsteğe bağlı. Sıcaklıkla örneklemeye alternatif olarak çekirdek örnekleme adı verilen bir dize alır veya ayarlar. Bu örnekleme yönteminde model, olasılık kütleli belirteçlerin sonuçlarını dikkate alır top_p . Yani 0.1 yalnızca ilk 10% olasılık kütlesinden oluşan belirteçler dikkate alınır. ya da TemperatureTopPkullanmanız gerekir, ancak ikisini birden kullanmamalısınız. |
| MaxTokens |
İsteğe bağlı. Tamamlanmada oluşturulacak en fazla belirteç sayısını varsayılan 100değeri olan bir dize olarak alır veya ayarlar. İsteminizin ve artı max_tokens değerin belirteç sayısı modelin bağlam uzunluğunu aşamaz. Çoğu modelin bağlam uzunluğu 2.048 belirteçtir (4096'yı destekleyen en yeni modeller hariç). |
| IsReasoningModel |
İsteğe bağlı. Sohbet tamamlama modelinin bir akıl yürütme modeli olup olmadığını belirten bir değer alır veya ayarlar. Bu seçenek deneyseldir ve tüm modeller varsayılan değeri olan beklenen özelliklerde eşliğe sahip olana kadar mantık modeliyle ilişkilendirilir false. |
Açıklamalar
Ek TextCompletion açıklama, şu parametreleri destekleyen bir metin tamamlama giriş bağlaması tanımlamanızı sağlar:
| Öğe | Açıklama |
|---|---|
| isim | Giriş bağlamasının adını alır veya ayarlar. |
| komut istemi | Dize olarak kodlanmış tamamlamaları oluşturmak için istem alır veya ayarlar. |
| aiConnectionName | İsteğe bağlı. Yapay zeka hizmeti bağlantı ayarları için yapılandırma bölümünün adını alır veya ayarlar. Azure OpenAI için: Belirtilirse, bu yapılandırma bölümünde "Uç Nokta" ve "Anahtar" değerlerini arar. Belirtilmezse veya bölüm yoksa ortam değişkenlerine geri döner: AZURE_OPENAI_ENDPOINT ve AZURE_OPENAI_KEY. Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması için bu özellik gereklidir. OpenAI hizmeti (Azure olmayan) için OPENAI_API_KEY ortam değişkenini ayarlayın. |
| chatModel | Varsayılan değeri gpt-3.5-turboolan bir dize olarak kullanılacak modelin kimliğini alır veya ayarlar. |
| sıcaklık |
İsteğe bağlı. ve 0arasında 2 bir dize olarak kullanılacak örnekleme sıcaklığını alır veya ayarlar. Daha yüksek değerler (0.8) çıkışı daha rastgele hale getirirken (0.2) gibi düşük değerler çıkışı daha odaklanmış ve belirlenimci hale getirir. ya da TemperatureTopPkullanmanız gerekir, ancak ikisini birden kullanmamalısınız. |
| topP |
İsteğe bağlı. Sıcaklıkla örneklemeye alternatif olarak çekirdek örnekleme adı verilen bir dize alır veya ayarlar. Bu örnekleme yönteminde model, olasılık kütleli belirteçlerin sonuçlarını dikkate alır top_p . Yani 0.1 yalnızca ilk 10% olasılık kütlesinden oluşan belirteçler dikkate alınır. ya da TemperatureTopPkullanmanız gerekir, ancak ikisini birden kullanmamalısınız. |
| maxTokens |
İsteğe bağlı. Tamamlanmada oluşturulacak en fazla belirteç sayısını varsayılan 100değeri olan bir dize olarak alır veya ayarlar. İsteminizin ve artı max_tokens değerin belirteç sayısı modelin bağlam uzunluğunu aşamaz. Çoğu modelin bağlam uzunluğu 2.048 belirteçtir (4096'yı destekleyen en yeni modeller hariç). |
| isReasoningModel |
İsteğe bağlı. Sohbet tamamlama modelinin bir akıl yürütme modeli olup olmadığını belirten bir değer alır veya ayarlar. Bu seçenek deneyseldir ve tüm modeller varsayılan değeri olan beklenen özelliklerde eşliğe sahip olana kadar mantık modeliyle ilişkilendirilir false. |
Dekoratörler
Önizleme sırasında, giriş bağlamasını şu parametreleri destekleyen türündeki generic_input_bindingbir textCompletion bağlama olarak tanımlayın:
| Parametre | Açıklama |
|---|---|
| arg_name | Bağlama parametresini temsil eden değişkenin adı. |
| komut istemi | Dize olarak kodlanmış tamamlamaları oluşturmak için istem alır veya ayarlar. |
| ai_connection_name | İsteğe bağlı. Yapay zeka hizmeti bağlantı ayarları için yapılandırma bölümünün adını alır veya ayarlar. Azure OpenAI için: Belirtilirse, bu yapılandırma bölümünde "Uç Nokta" ve "Anahtar" değerlerini arar. Belirtilmezse veya bölüm yoksa ortam değişkenlerine geri döner: AZURE_OPENAI_ENDPOINT ve AZURE_OPENAI_KEY. Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması için bu özellik gereklidir. OpenAI hizmeti (Azure olmayan) için OPENAI_API_KEY ortam değişkenini ayarlayın. |
| chat_model | Varsayılan değeri gpt-3.5-turboolan bir dize olarak kullanılacak modelin kimliğini alır veya ayarlar. |
| sıcaklık |
İsteğe bağlı. ve 0arasında 2 bir dize olarak kullanılacak örnekleme sıcaklığını alır veya ayarlar. Daha yüksek değerler (0.8) çıkışı daha rastgele hale getirirken (0.2) gibi düşük değerler çıkışı daha odaklanmış ve belirlenimci hale getirir. ya da TemperatureTopPkullanmanız gerekir, ancak ikisini birden kullanmamalısınız. |
| top_p |
İsteğe bağlı. Sıcaklıkla örneklemeye alternatif olarak çekirdek örnekleme adı verilen bir dize alır veya ayarlar. Bu örnekleme yönteminde model, olasılık kütleli belirteçlerin sonuçlarını dikkate alır top_p . Yani 0.1 yalnızca ilk 10% olasılık kütlesinden oluşan belirteçler dikkate alınır. ya da TemperatureTopPkullanmanız gerekir, ancak ikisini birden kullanmamalısınız. |
| max_tokens |
İsteğe bağlı. Tamamlanmada oluşturulacak en fazla belirteç sayısını varsayılan 100değeri olan bir dize olarak alır veya ayarlar. İsteminizin ve artı max_tokens değerin belirteç sayısı modelin bağlam uzunluğunu aşamaz. Çoğu modelin bağlam uzunluğu 2.048 belirteçtir (4096'yı destekleyen en yeni modeller hariç). |
| is_reasoning _model |
İsteğe bağlı. Sohbet tamamlama modelinin bir akıl yürütme modeli olup olmadığını belirten bir değer alır veya ayarlar. Bu seçenek deneyseldir ve tüm modeller varsayılan değeri olan beklenen özelliklerde eşliğe sahip olana kadar mantık modeliyle ilişkilendirilir false. |
Konfigürasyon
Bağlama, function.json dosyasında ayarladığınız bu yapılandırma özelliklerini destekler.
| Mülkiyet | Açıklama |
|---|---|
| türü |
textCompletionolmalıdır. |
| yön |
inolmalıdır. |
| isim | Giriş bağlamasının adı. |
| komut istemi | Dize olarak kodlanmış tamamlamaları oluşturmak için istem alır veya ayarlar. |
| aiConnectionName | İsteğe bağlı. Yapay zeka hizmeti bağlantı ayarları için yapılandırma bölümünün adını alır veya ayarlar. Azure OpenAI için: Belirtilirse, bu yapılandırma bölümünde "Uç Nokta" ve "Anahtar" değerlerini arar. Belirtilmezse veya bölüm yoksa ortam değişkenlerine geri döner: AZURE_OPENAI_ENDPOINT ve AZURE_OPENAI_KEY. Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması için bu özellik gereklidir. OpenAI hizmeti (Azure olmayan) için OPENAI_API_KEY ortam değişkenini ayarlayın. |
| chatModel | Varsayılan değeri gpt-3.5-turboolan bir dize olarak kullanılacak modelin kimliğini alır veya ayarlar. |
| sıcaklık |
İsteğe bağlı. ve 0arasında 2 bir dize olarak kullanılacak örnekleme sıcaklığını alır veya ayarlar. Daha yüksek değerler (0.8) çıkışı daha rastgele hale getirirken (0.2) gibi düşük değerler çıkışı daha odaklanmış ve belirlenimci hale getirir. ya da TemperatureTopPkullanmanız gerekir, ancak ikisini birden kullanmamalısınız. |
| topP |
İsteğe bağlı. Sıcaklıkla örneklemeye alternatif olarak çekirdek örnekleme adı verilen bir dize alır veya ayarlar. Bu örnekleme yönteminde model, olasılık kütleli belirteçlerin sonuçlarını dikkate alır top_p . Yani 0.1 yalnızca ilk 10% olasılık kütlesinden oluşan belirteçler dikkate alınır. ya da TemperatureTopPkullanmanız gerekir, ancak ikisini birden kullanmamalısınız. |
| maxTokens |
İsteğe bağlı. Tamamlanmada oluşturulacak en fazla belirteç sayısını varsayılan 100değeri olan bir dize olarak alır veya ayarlar. İsteminizin ve artı max_tokens değerin belirteç sayısı modelin bağlam uzunluğunu aşamaz. Çoğu modelin bağlam uzunluğu 2.048 belirteçtir (4096'yı destekleyen en yeni modeller hariç). |
| isReasoningModel |
İsteğe bağlı. Sohbet tamamlama modelinin bir akıl yürütme modeli olup olmadığını belirten bir değer alır veya ayarlar. Bu seçenek deneyseldir ve tüm modeller varsayılan değeri olan beklenen özelliklerde eşliğe sahip olana kadar mantık modeliyle ilişkilendirilir false. |
Konfigürasyon
Bağlama, kodunuzda tanımlanan şu özellikleri destekler:
| Mülkiyet | Açıklama |
|---|---|
| komut istemi | Dize olarak kodlanmış tamamlamaları oluşturmak için istem alır veya ayarlar. |
| aiConnectionName | İsteğe bağlı. Yapay zeka hizmeti bağlantı ayarları için yapılandırma bölümünün adını alır veya ayarlar. Azure OpenAI için: Belirtilirse, bu yapılandırma bölümünde "Uç Nokta" ve "Anahtar" değerlerini arar. Belirtilmezse veya bölüm yoksa ortam değişkenlerine geri döner: AZURE_OPENAI_ENDPOINT ve AZURE_OPENAI_KEY. Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulaması için bu özellik gereklidir. OpenAI hizmeti (Azure olmayan) için OPENAI_API_KEY ortam değişkenini ayarlayın. |
| chatModel | Varsayılan değeri gpt-3.5-turboolan bir dize olarak kullanılacak modelin kimliğini alır veya ayarlar. |
| sıcaklık |
İsteğe bağlı. ve 0arasında 2 bir dize olarak kullanılacak örnekleme sıcaklığını alır veya ayarlar. Daha yüksek değerler (0.8) çıkışı daha rastgele hale getirirken (0.2) gibi düşük değerler çıkışı daha odaklanmış ve belirlenimci hale getirir. ya da TemperatureTopPkullanmanız gerekir, ancak ikisini birden kullanmamalısınız. |
| topP |
İsteğe bağlı. Sıcaklıkla örneklemeye alternatif olarak çekirdek örnekleme adı verilen bir dize alır veya ayarlar. Bu örnekleme yönteminde model, olasılık kütleli belirteçlerin sonuçlarını dikkate alır top_p . Yani 0.1 yalnızca ilk 10% olasılık kütlesinden oluşan belirteçler dikkate alınır. ya da TemperatureTopPkullanmanız gerekir, ancak ikisini birden kullanmamalısınız. |
| maxTokens |
İsteğe bağlı. Tamamlanmada oluşturulacak en fazla belirteç sayısını varsayılan 100değeri olan bir dize olarak alır veya ayarlar. İsteminizin ve artı max_tokens değerin belirteç sayısı modelin bağlam uzunluğunu aşamaz. Çoğu modelin bağlam uzunluğu 2.048 belirteçtir (4096'yı destekleyen en yeni modeller hariç). |
| isReasoningModel |
İsteğe bağlı. Sohbet tamamlama modelinin bir akıl yürütme modeli olup olmadığını belirten bir değer alır veya ayarlar. Bu seçenek deneyseldir ve tüm modeller varsayılan değeri olan beklenen özelliklerde eşliğe sahip olana kadar mantık modeliyle ilişkilendirilir false. |
Kullanım
Tam örnekler için Örnek bölümüne bakın.