Hızlı Başlangıç: Eski tamamlamaLAR API'sini kullanarak metin oluşturmaya başlama
Azure OpenAI'ye ilk çağrılarınızı yapmaya başlamak için bu makaleyi kullanın.
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun.
- Modeli dağıtılan bir Azure OpenAI kaynağı. Model dağıtımı hakkında daha fazla bilgi için bkz. kaynak dağıtım kılavuzu.
Azure AI Foundry'ye gidin
Azure AI Foundry'ye gidin ve Azure OpenAI kaynağınıza erişimi olan kimlik bilgileriyle oturum açın. Oturum açma iş akışı sırasında veya sonrasında uygun dizini, Azure aboneliğini ve Azure OpenAI kaynağını seçin.
Çocuk bahçesi
Tamamlama oyun alanı aracılığıyla kod içermeyen bir yaklaşımla Azure OpenAI özelliklerini keşfetmeye başlayın. Bu, tamamlama oluşturmak için bir istem gönderebileceğiniz bir metin kutusu. Bu sayfadan özellikleri hızla yineleyebilir ve deneyebilirsiniz.
Başlamak için bir dağıtım seçebilir ve önceden yüklenmiş birkaç örnek arasından seçim yapabilirsiniz. Kaynağınızın dağıtımı yoksa Dağıtım oluştur'u seçin ve sihirbaz tarafından sağlanan yönergeleri izleyin. Model dağıtımı hakkında daha fazla bilgi için bkz. kaynak dağıtım kılavuzu.
Görevinizin performansını geliştirmek için sıcaklık ve yanıt öncesi metin gibi yapılandırma ayarlarıyla denemeler yapabilirsiniz. REST API'deki her parametre hakkında daha fazla bilgi edinebilirsiniz.
- Oluştur düğmesi seçildiğinde, girilen metin tamamlanmalar API'sine gönderilir ve sonuçları metin kutusuna geri akışla gönderir.
- Önceki oluşturma çağrısını geri almak için Geri Al düğmesini seçin.
- Geri alma ve oluşturma çağrısını birlikte tamamlamak için Yeniden Oluştur düğmesini seçin.
Azure OpenAI ayrıca istem girişlerinde ve oluşturulan çıkışlarda con çadır modu ration gerçekleştirir. Zararlı içerik algılanırsa istemler veya yanıtlar filtrelenebilir. Daha fazla bilgi için içerik filtresi makalesine bakın.
Tamamlamalar oyun alanında, seçtiğiniz ayarlara göre önceden doldurulmuş Python ve curl kod örneklerini de görüntüleyebilirsiniz. Örnekler açılan listesinin yanındaki Kodu görüntüle'yi seçmeniz gerekir. OpenAI Python SDK'sı, curl veya diğer REST API istemcisiyle aynı görevi tamamlamak için bir uygulama yazabilirsiniz.
Metin özetlemeyi deneyin
Tamamlamalar oyun alanında metin özetleme için Azure OpenAI'yi kullanmak için şu adımları izleyin:
Azure AI Foundry'de oturum açın.
Çalışmak için aboneliği ve OpenAI kaynağını seçin.
Giriş sayfasında Tamamlamalar oyun alanı'nı seçin.
Dağıtımlar açılan listesinden dağıtımınızı seçin. Kaynağınızın dağıtımı yoksa Dağıtım oluştur'u seçin ve bu adımı yeniden ziyaret edin.
Model için bir istem girin.
Generate
öğesini seçin. Azure OpenAI, metnin bağlamını yakalamaya ve kısa bir şekilde yeniden ifade etmeye çalışır. Aşağıdaki metne benzer bir sonuç almanız gerekir:
Yanıtın doğruluğu modele göre farklılık gösterebilir. gpt-35-turbo-instruct
Bu örnekteki temel model bu özetleme türüne çok uygundur, ancak genel olarak tamamlamalar API'sine özellikle uygun olan belirli bir kullanım örneğiniz yoksa alternatif sohbet tamamlama API'sini kullanmanızı öneririz.
Kaynakları temizleme
Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.
Sonraki adımlar
- Tamamlamalarla ilgili nasıl yapılır kılavuzumuzda en iyi tamamlamanın nasıl oluşturulacağı hakkında daha fazla bilgi edinin.
- Daha fazla örnek için Azure OpenAI Örnekleri GitHub deposuna bakın.
Kaynak kod | Paketi (NuGet) | Örnekleri
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- .NET Core'un geçerli sürümü
- Modelin
gpt-35-turbo-instruct
dağıtılacağı bir Azure OpenAI Hizmeti kaynağı. Model dağıtımı hakkında daha fazla bilgi için bkz. kaynak dağıtım kılavuzu.
Ayarlama
Yeni .NET Core uygulaması oluşturma
Bir konsol penceresinde (cmd, PowerShell veya Bash gibi), adlı azure-openai-quickstart
yeni bir konsol uygulaması oluşturmak için komutunu kullanındotnet new
. Bu komut, tek bir C# kaynak dosyasıyla basit bir "Merhaba Dünya" projesi oluşturur: Program.cs.
dotnet new console -n azure-openai-quickstart
Dizininizi yeni oluşturulan uygulama klasörüyle değiştirin. Uygulamayı şu şekilde oluşturabilirsiniz:
dotnet build
Derleme çıkışı hiçbir uyarı veya hata içermemelidir.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
OpenAI .NET istemci kitaplığını şu şekilde yükleyin:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.17
Not
Tamamlamalar API'si yalnızca istemci kitaplığının sürümünde ve önceki sürümlerinde 1.0.0-beta.17
Azure.AI.OpenAI
kullanılabilir. uygulamasının en son 2.0.0
ve daha yüksek sürümü Azure.AI.OpenAI
için tamamlamalar oluşturmak için önerilen yaklaşım sohbet tamamlamaları API'sini kullanmaktır.
Anahtarı ve uç noktayı alma
Azure OpenAI'ye karşı başarılı bir şekilde çağrı yapmak için bir uç nokta ve anahtar gerekir.
Değişken adı | Değer |
---|---|
ENDPOINT |
Hizmet uç noktası, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, uç noktayı Azure AI Foundry portalındaki Dağıtımlar sayfasında bulabilirsiniz. Örnek uç nokta: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. KEY1 veya KEY2 kullanabilirsiniz. |
Azure portalında kaynağınıza gidin. Anahtarlar ve Uç Nokta bölümü Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1
veya KEY2
kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.
Ortam değişkenleri
Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.
Önemli
API anahtarı kullanıyorsanız, bunu Azure Key Vault gibi başka bir yerde güvenli bir şekilde depolayın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Örnek uygulama oluşturma
Proje dizininden program.cs dosyasını açın ve öğesini aşağıdaki kodla değiştirin:
using Azure;
using Azure.AI.OpenAI;
using static System.Environment;
string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string key = GetEnvironmentVariable("AZURE_OPENAI_API_KEY");
var client = new OpenAIClient(
new Uri(endpoint),
new AzureKeyCredential(key));
CompletionsOptions completionsOptions = new()
{
DeploymentName = "gpt-35-turbo-instruct",
Prompts = { "When was Microsoft founded?" },
};
Response<Completions> completionsResponse = client.GetCompletions(completionsOptions);
string completion = completionsResponse.Value.Choices[0].Text;
Console.WriteLine($"Chatbot: {completion}");
Önemli
Üretim için Azure Key Vault gibi kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Kimlik bilgisi güvenliği hakkında daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.
dotnet run program.cs
Çıktı
Chatbot:
Microsoft was founded on April 4, 1975.
Kaynakları temizleme
Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız kaynağı silebilirsiniz. Kaynağı silmeden önce dağıtılan modelleri silmeniz gerekir.
Sonraki adımlar
Kaynak kodu | Paketi (Go)| Örnekleri
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Yerel olarak yüklenen 1.21.0 veya üzeri bir sürüme geçin.
- Modelin
gpt-35-turbo-instuct
dağıtılacağı bir Azure OpenAI Hizmeti kaynağı. Model dağıtımı hakkında daha fazla bilgi için bkz. kaynak dağıtım kılavuzu.
Ayarlama
Anahtarı ve uç noktayı alma
Azure OpenAI'ye karşı başarılı bir şekilde çağrı yapmak için bir uç nokta ve anahtar gerekir.
Değişken adı | Değer |
---|---|
ENDPOINT |
Hizmet uç noktası, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, uç noktayı Azure AI Foundry portalındaki Dağıtımlar sayfasında bulabilirsiniz. Örnek uç nokta: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. KEY1 veya KEY2 kullanabilirsiniz. |
Azure portalında kaynağınıza gidin. Anahtarlar ve Uç Nokta bölümü Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1
veya KEY2
kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.
Ortam değişkenleri
Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.
Önemli
API anahtarı kullanıyorsanız, bunu Azure Key Vault gibi başka bir yerde güvenli bir şekilde depolayın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Örnek uygulama oluşturma
completions.go adlı yeni bir dosya oluşturun. Aşağıdaki kodu completions.go dosyasına kopyalayın.
package main
import (
"context"
"fmt"
"os"
"github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai"
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
)
func main() {
azureOpenAIKey := os.Getenv("AZURE_OPENAI_API_KEY")
modelDeploymentID := "gpt-35-turbo-instruct"
azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
if azureOpenAIKey == "" || modelDeploymentID == "" || azureOpenAIEndpoint == "" {
fmt.Fprintf(os.Stderr, "Skipping example, environment variables missing\n")
return
}
keyCredential := azcore.NewKeyCredential(azureOpenAIKey)
client, err := azopenai.NewClientWithKeyCredential(azureOpenAIEndpoint, keyCredential, nil)
if err != nil {
// TODO: handle error
}
resp, err := client.GetCompletions(context.TODO(), azopenai.CompletionsOptions{
Prompt: []string{"What is Azure OpenAI, in 20 words or less"},
MaxTokens: to.Ptr(int32(2048)),
Temperature: to.Ptr(float32(0.0)),
DeploymentName: &modelDeploymentID,
}, nil)
if err != nil {
// TODO: handle error
}
for _, choice := range resp.Choices {
fmt.Fprintf(os.Stderr, "Result: %s\n", *choice.Text)
}
}
Önemli
Üretim için Azure Key Vault gibi kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Kimlik bilgisi güvenliği hakkında daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.
Şimdi bir komut istemi açın ve şunu çalıştırın:
go mod init completions.go
Sonraki çalıştırma:
go mod tidy
go run completions.go
Çıktı
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Kaynakları temizleme
Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız kaynağı silebilirsiniz. Kaynağı silmeden önce dağıtılan modelleri silmeniz gerekir.
Sonraki adımlar
Kaynak kodu | Yapıtı (Maven) | Örnekleri
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Java Geliştirme Seti'nin (JDK) geçerli sürümü
- Gradle derleme aracı veya başka bir bağımlılık yöneticisi.
- Modelin
gpt-35-turbo-instruct
dağıtılacağı bir Azure OpenAI Hizmeti kaynağı. Model dağıtımı hakkında daha fazla bilgi için bkz. kaynak dağıtım kılavuzu.
Ayarlama
Anahtarı ve uç noktayı alma
Azure OpenAI'ye karşı başarılı bir şekilde çağrı yapmak için bir uç nokta ve anahtar gerekir.
Değişken adı | Değer |
---|---|
ENDPOINT |
Hizmet uç noktası, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, uç noktayı Azure AI Foundry portalındaki Dağıtımlar sayfasında bulabilirsiniz. Örnek uç nokta: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. KEY1 veya KEY2 kullanabilirsiniz. |
Azure portalında kaynağınıza gidin. Anahtarlar ve Uç Nokta bölümü Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1
veya KEY2
kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.
Ortam değişkenleri
Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.
Önemli
API anahtarı kullanıyorsanız, bunu Azure Key Vault gibi başka bir yerde güvenli bir şekilde depolayın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Yeni java uygulaması oluşturma
Yeni bir Gradle projesi oluşturun.
Konsol penceresinde (cmd, PowerShell veya Bash gibi), uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.
mkdir myapp && cd myapp
gradle init
Komutunu çalışma dizininizden çalıştırın. Bu komut, uygulamanızı oluşturmak ve yapılandırmak için çalışma zamanında kullanılan build.gradle.kts de dahil olmak üzere Gradle için temel derleme dosyaları oluşturur.
gradle init --type basic
DSL seçmeniz istendiğinde Kotlin'i seçin.
Java SDK'sını yükleme
Bu hızlı başlangıçta Gradle bağımlılık yöneticisi kullanılır. Maven Central Repository'de diğer bağımlılık yöneticilerinin istemci kitaplığını ve bilgilerini bulabilirsiniz.
build.gradle.kts dosyasını bulun ve tercih ettiğiniz IDE veya metin düzenleyici ile açın. Ardından aşağıdaki derleme yapılandırmasını kopyalayın. Bu yapılandırma, projeyi giriş noktası OpenAIQuickstart sınıfı olan bir Java uygulaması olarak tanımlar. Azure AI Vision kitaplığını içeri aktarır.
plugins {
java
application
}
application {
mainClass.set("GetCompletionsSample")
}
repositories {
mavenCentral()
}
dependencies {
implementation(group = "com.azure", name = "azure-ai-openai", version = "1.0.0-beta.3")
implementation("org.slf4j:slf4j-simple:1.7.9")
}
Örnek uygulama oluşturma
Bir Java dosyası oluşturun.
Çalışma dizininizden aşağıdaki komutu çalıştırarak bir proje kaynak klasörü oluşturun:
mkdir -p src/main/java
Yeni klasöre gidin ve GetCompletionsSample.java adlı bir dosya oluşturun.
tercih ettiğiniz düzenleyicide veya IDE'de GetCompletionsSample.java açın ve aşağıdaki kodu yapıştırın.
package com.azure.ai.openai.usage; import com.azure.ai.openai.OpenAIClient; import com.azure.ai.openai.OpenAIClientBuilder; import com.azure.ai.openai.models.Choice; import com.azure.ai.openai.models.Completions; import com.azure.ai.openai.models.CompletionsOptions; import com.azure.ai.openai.models.CompletionsUsage; import com.azure.core.credential.AzureKeyCredential; import java.util.ArrayList; import java.util.List; public class GetCompletionsSample { public static void main(String[] args) { String azureOpenaiKey = System.getenv("AZURE_OPENAI_API_KEY");; String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT");; String deploymentOrModelId = "gpt-35-turbo-instruct"; OpenAIClient client = new OpenAIClientBuilder() .endpoint(endpoint) .credential(new AzureKeyCredential(azureOpenaiKey)) .buildClient(); List<String> prompt = new ArrayList<>(); prompt.add("When was Microsoft founded?"); Completions completions = client.getCompletions(deploymentOrModelId, new CompletionsOptions(prompt)); System.out.printf("Model ID=%s is created at %s.%n", completions.getId(), completions.getCreatedAt()); for (Choice choice : completions.getChoices()) { System.out.printf("Index: %d, Text: %s.%n", choice.getIndex(), choice.getText()); } CompletionsUsage usage = completions.getUsage(); System.out.printf("Usage: number of prompt token is %d, " + "number of completion token is %d, and number of total tokens in request and response is %d.%n", usage.getPromptTokens(), usage.getCompletionTokens(), usage.getTotalTokens()); } }
Proje kök klasörüne geri dönün ve aşağıdakilerle uygulamayı derleyin:
gradle build
Ardından komutuyla
gradle run
çalıştırın:gradle run
Çıktı
Model ID=cmpl-7JZRbWuEuHX8ozzG3BXC2v37q90mL is created at 1684898835.
Index: 0, Text:
Microsoft was founded on April 4, 1975..
Usage: number of prompt token is 5, number of completion token is 11, and number of total tokens in request and response is 16.
Kaynakları temizleme
Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız kaynağı silebilirsiniz. Kaynağı silmeden önce dağıtılan modelleri silmeniz gerekir.
Sonraki adımlar
Kaynak kodu | Yapıtları (Maven) | Örnek
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Java Geliştirme Seti'nin (JDK) geçerli sürümü
- Spring Boot CLI aracı
- Modelin
gpt-35-turbo
dağıtılacağı bir Azure OpenAI Hizmeti kaynağı. Model dağıtımı hakkında daha fazla bilgi için bkz. kaynak dağıtım kılavuzu.
Ayarlama
Anahtarı ve uç noktayı alma
Azure OpenAI'ye karşı başarılı bir şekilde çağrı yapmak için bir uç nokta ve anahtar gerekir.
Değişken adı | Değer |
---|---|
ENDPOINT |
Hizmet uç noktası, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, uç noktayı Azure AI Foundry portalındaki Dağıtımlar sayfasında bulabilirsiniz. Örnek uç nokta: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. KEY1 veya KEY2 kullanabilirsiniz. |
Azure portalında kaynağınıza gidin. Anahtarlar ve Uç Nokta bölümü Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1
veya KEY2
kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.
Ortam değişkenleri
Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.
Önemli
API anahtarı kullanıyorsanız, bunu Azure Key Vault gibi başka bir yerde güvenli bir şekilde depolayın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.
Not
Spring AI, model adını varsayılan olarak olarak gpt-35-turbo
kullanır. Yalnızca farklı bir ada sahip bir model dağıttıysanız değeri sağlamanız SPRING_AI_AZURE_OPENAI_MODEL
gerekir.
export SPRING_AI_AZURE_OPENAI_API_KEY="REPLACE_WITH_YOUR_KEY_VALUE_HERE"
export SPRING_AI_AZURE_OPENAI_ENDPOINT="REPLACE_WITH_YOUR_ENDPOINT_HERE"
export SPRING_AI_AZURE_OPENAI_MODEL="REPLACE_WITH_YOUR_MODEL_NAME_HERE"
Yeni bir Spring uygulaması oluşturma
Yeni bir Spring projesi oluşturun.
Bash penceresinde uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.
mkdir ai-completion-demo && cd ai-completion-demo
spring init
Komutunu çalışma dizininizden çalıştırın. Bu komut, Spring projeniz için ana Java sınıf kaynak dosyası ve Maven tabanlı projeleri yönetmek için kullanılan pom.xml dosyası da dahil olmak üzere standart bir dizin yapısı oluşturur.
spring init -a ai-completion-demo -n AICompletion --force --build maven -x
Oluşturulan dosya ve klasörler aşağıdaki yapıya benzer:
ai-completion-demo/
|-- pom.xml
|-- mvn
|-- mvn.cmd
|-- HELP.md
|-- src/
|-- main/
| |-- resources/
| | |-- application.properties
| |-- java/
| |-- com/
| |-- example/
| |-- aicompletiondemo/
| |-- AiCompletionApplication.java
|-- test/
|-- java/
|-- com/
|-- example/
|-- aicompletiondemo/
|-- AiCompletionApplicationTests.java
Spring uygulamasını düzenleme
pom.xml dosyasını düzenleyin.
Proje dizininin kökünden, pom.xml dosyasını tercih ettiğiniz düzenleyicide veya IDE'de açın ve aşağıdaki içeriğe sahip dosyanın üzerine yazın:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.0</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>ai-completion-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>AICompletion</name> <description>Demo project for Spring Boot</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.experimental.ai</groupId> <artifactId>spring-ai-azure-openai-spring-boot-starter</artifactId> <version>0.7.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <repositories> <repository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/snapshot</url> <releases> <enabled>false</enabled> </releases> </repository> </repositories> </project>
src/main/java/com/example/aicompletiondemo klasöründen tercih ettiğiniz düzenleyicide veya IDE'de AiCompletionApplication.java açın ve aşağıdaki kodu yapıştırın:
package com.example.aicompletiondemo; import java.util.Collections; import java.util.List; import org.springframework.ai.client.AiClient; import org.springframework.ai.prompt.Prompt; import org.springframework.ai.prompt.messages.Message; import org.springframework.ai.prompt.messages.MessageType; import org.springframework.ai.prompt.messages.UserMessage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class AiCompletionApplication implements CommandLineRunner { private static final String ROLE_INFO_KEY = "role"; @Autowired private AiClient aiClient; public static void main(String[] args) { SpringApplication.run(AiCompletionApplication.class, args); } @Override public void run(String... args) throws Exception { System.out.println(String.format("Sending completion prompt to AI service. One moment please...\r\n")); final List<Message> msgs = Collections.singletonList(new UserMessage("When was Microsoft founded?")); final var resps = aiClient.generate(new Prompt(msgs)); System.out.println(String.format("Prompt created %d generated response(s).", resps.getGenerations().size())); resps.getGenerations().stream() .forEach(gen -> { final var role = gen.getInfo().getOrDefault(ROLE_INFO_KEY, MessageType.ASSISTANT.getValue()); System.out.println(String.format("Generated respose from \"%s\": %s", role, gen.getText())); }); } }
Proje kök klasörüne geri dönün ve aşağıdaki komutu kullanarak uygulamayı çalıştırın:
./mvnw spring-boot:run
Çıktı
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.1.5)
2023-11-07T12:47:46.126-06:00 INFO 98687 --- [ main] c.e.a.AiCompletionApplication : No active profile set, falling back to 1 default profile: "default"
2023-11-07T12:47:46.823-06:00 INFO 98687 --- [ main] c.e.a.AiCompletionApplication : Started AiCompletionApplication in 0.925 seconds (process running for 1.238)
Sending completion prompt to AI service. One moment please...
Prompt created 1 generated response(s).
Generated respose from "assistant": Microsoft was founded on April 4, 1975.
Kaynakları temizleme
Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız kaynağı silebilirsiniz. Kaynağı silmeden önce dağıtılan modelleri silmeniz gerekir.
Sonraki adımlar
Daha fazla örnek için Azure OpenAI Örnekleri GitHub deposuna göz atın
Kaynak kodu | Paketi (npm) | Örnekler
Not
Bu kılavuz, artık Azure OpenAI'yi tam olarak destekleyen en son OpenAI npm paketini kullanır. Eski Azure OpenAI JavaScript SDK'sı için kod örnekleri arıyorsanız, bunlar şu anda bu depoda hala kullanılabilir durumdadır.
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Node.js LTS sürümleri
- Yerel geliştirme ortamında parolasız kimlik doğrulaması için kullanılan Azure CLI , Azure CLI ile oturum açarak gerekli bağlamı oluşturun.
- Modelin
gpt-35-turbo-instruct
dağıtılacağı bir Azure OpenAI Hizmeti kaynağı. Model dağıtımı hakkında daha fazla bilgi için bkz. kaynak dağıtım kılavuzu.
Kaynak bilgilerini alma
Azure OpenAI kaynağınızla uygulamanızın kimliğini doğrulamak için aşağıdaki bilgileri almanız gerekir:
Değişken adı | Değer |
---|---|
AZURE_OPENAI_ENDPOINT |
Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Bu değer, bir modeli dağıtırken dağıtımınız için seçtiğiniz özel ada karşılık gelir. Bu değer, Azure portalındaki Kaynak Yönetimi>Modeli Dağıtımları altında bulunabilir. |
OPENAI_API_VERSION |
API Sürümleri hakkında daha fazla bilgi edinin. |
Anahtarsız kimlik doğrulaması ve ortam değişkenlerini ayarlama hakkında daha fazla bilgi edinin.
Dikkat
SDK ile önerilen anahtarsız kimlik doğrulamasını kullanmak için ortam değişkeninin AZURE_OPENAI_API_KEY
ayarlanmamış olduğundan emin olun.
İstemci kitaplığını yükleme
Konsol penceresinde (cmd, PowerShell veya Bash gibi), uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.
Yeni dizininiz bağlamından npm ile JavaScript için gerekli paketleri yükleyin:
npm install openai @azure/identity
Uygulamanızın package.json dosyası bağımlılıklarla güncelleştirilir.
Örnek uygulama oluşturma
Yeni projeyi oluşturduğunuz bir komut istemi açın ve Completion.js adlı yeni bir dosya oluşturun. Aşağıdaki kodu Completion.js dosyasına kopyalayın.
const { AzureOpenAI } = require("openai");
const {
DefaultAzureCredential,
getBearerTokenProvider
} = require("@azure/identity");
// You will need to set these environment variables or edit the following values
const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";
const apiVersion = "2024-04-01-preview";
const deployment = "gpt-35-turbo-instruct"; //The deployment name for your completions API model. The instruct model is the only new model that supports the legacy API.
// keyless authentication
const credential = new DefaultAzureCredential();
const scope = "https://cognitiveservices.azure.com/.default";
const azureADTokenProvider = getBearerTokenProvider(credential, scope);
const prompt = ["When was Microsoft founded?"];
async function main() {
console.log("== Get completions Sample ==");
const client = new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment });
const result = await client.completions.create({ prompt, model: deployment, max_tokens: 128 });
for (const choice of result.choices) {
console.log(choice.text);
}
}
main().catch((err) => {
console.error("Error occurred:", err);
});
module.exports = { main };
Betiği aşağıdaki komutla çalıştırın:
node.exe Completion.js
Çıktı
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Not
Hata alırsanız: Hata oluştu: OpenAIError: apiKey
ve azureADTokenProvider
bağımsız değişkenleri birbirini dışlar; aynı anda yalnızca bir tane geçirilebilir. API anahtarı için önceden var olan bir ortam değişkenini sisteminizden kaldırmanız gerekebilir. Microsoft Entra Id kod örneği AÇıKÇA API anahtarı ortam değişkenine başvurmasa da, bu örneği yürüten sistemde varsa, bu hata yine de oluşturulur.
Kaynakları temizleme
Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız kaynağı silebilirsiniz. Kaynağı silmeden önce dağıtılan modelleri silmeniz gerekir.
Sonraki adımlar
- Azure OpenAI'ye Genel Bakış
- Daha fazla örnek için Azure OpenAI Örnekleri GitHub deposuna göz atın
Kaynak kodu | Paketi (npm) | Örnekler
Not
Bu kılavuz, artık Azure OpenAI'yi tam olarak destekleyen en son OpenAI npm paketini kullanır. Eski Azure OpenAI JavaScript SDK'sı için kod örnekleri arıyorsanız, bunlar şu anda bu depoda hala kullanılabilir durumdadır.
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Node.js LTS sürümleri
- TypeScript
- Yerel geliştirme ortamında parolasız kimlik doğrulaması için kullanılan Azure CLI , Azure CLI ile oturum açarak gerekli bağlamı oluşturun.
- Modelin
gpt-35-turbo-instruct
dağıtılacağı bir Azure OpenAI Hizmeti kaynağı. Model dağıtımı hakkında daha fazla bilgi için bkz. kaynak dağıtım kılavuzu.
Kaynak bilgilerini alma
Azure OpenAI kaynağınızla uygulamanızın kimliğini doğrulamak için aşağıdaki bilgileri almanız gerekir:
Değişken adı | Değer |
---|---|
AZURE_OPENAI_ENDPOINT |
Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Bu değer, bir modeli dağıtırken dağıtımınız için seçtiğiniz özel ada karşılık gelir. Bu değer, Azure portalındaki Kaynak Yönetimi>Modeli Dağıtımları altında bulunabilir. |
OPENAI_API_VERSION |
API Sürümleri hakkında daha fazla bilgi edinin. |
Anahtarsız kimlik doğrulaması ve ortam değişkenlerini ayarlama hakkında daha fazla bilgi edinin.
Dikkat
SDK ile önerilen anahtarsız kimlik doğrulamasını kullanmak için ortam değişkeninin AZURE_OPENAI_API_KEY
ayarlanmamış olduğundan emin olun.
İstemci kitaplığını yükleme
Konsol penceresinde (cmd, PowerShell veya Bash gibi), uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.
Yeni dizininiz bağlamından npm ile JavaScript için gerekli paketleri yükleyin:
npm install openai @azure/identity
Uygulamanızın package.json dosyası bağımlılıklarla güncelleştirilir.
Örnek uygulama oluşturma
Yeni projeyi oluşturduğunuz bir komut istemi açın ve Completion.ts adlı yeni bir dosya oluşturun. Aşağıdaki kodu Completion.ts dosyasına kopyalayın.
import {
DefaultAzureCredential,
getBearerTokenProvider
} from "@azure/identity";
import { AzureOpenAI } from "openai";
import { type Completion } from "openai/resources/index";
// You will need to set these environment variables or edit the following values
const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";
// Required Azure OpenAI deployment name and API version
const apiVersion = "2024-08-01-preview";
const deploymentName = "gpt-35-turbo-instruct";
// keyless authentication
const credential = new DefaultAzureCredential();
const scope = "https://cognitiveservices.azure.com/.default";
const azureADTokenProvider = getBearerTokenProvider(credential, scope);
// Chat prompt and max tokens
const prompt = ["When was Microsoft founded?"];
const maxTokens = 128;
function getClient(): AzureOpenAI {
return new AzureOpenAI({
endpoint,
azureADTokenProvider,
apiVersion,
deployment: deploymentName,
});
}
async function getCompletion(
client: AzureOpenAI,
prompt: string[],
max_tokens: number
): Promise<Completion> {
return client.completions.create({
prompt,
model: "",
max_tokens,
});
}
async function printChoices(completion: Completion): Promise<void> {
for (const choice of completion.choices) {
console.log(choice.text);
}
}
export async function main() {
console.log("== Get completions Sample ==");
const client = getClient();
const completion = await getCompletion(client, prompt, maxTokens);
await printChoices(completion);
}
main().catch((err) => {
console.error("Error occurred:", err);
});
Betiği aşağıdaki komutla oluşturun:
tsc
Betiği aşağıdaki komutla çalıştırın:
node.exe Completion.js
Çıktı
== Get completions Sample ==
Microsoft was founded on April 4, 1975.
Not
Hata alırsanız: Hata oluştu: OpenAIError: apiKey
ve azureADTokenProvider
bağımsız değişkenleri birbirini dışlar; aynı anda yalnızca bir tane geçirilebilir. API anahtarı için önceden var olan bir ortam değişkenini sisteminizden kaldırmanız gerekebilir. Microsoft Entra Id kod örneği AÇıKÇA API anahtarı ortam değişkenine başvurmasa da, bu örneği yürüten sistemde varsa, bu hata yine de oluşturulur.
Kaynakları temizleme
Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız kaynağı silebilirsiniz. Kaynağı silmeden önce dağıtılan modelleri silmeniz gerekir.
Sonraki adımlar
- Azure OpenAI'ye Genel Bakış
- Daha fazla örnek için Azure OpenAI Örnekleri GitHub deposuna göz atın
Kitaplık kaynak kodu | Paketi (PyPi) |
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Python 3.8 veya üzeri sürüm
- Aşağıdaki Python kitaplıkları: işletim sistemi, istekler, json
- Modeli dağıtılan bir
gpt-35-turbo-instruct
Azure OpenAI Hizmeti kaynağı. Model dağıtımı hakkında daha fazla bilgi için bkz. kaynak dağıtım kılavuzu.
Ayarlama
OpenAI Python istemci kitaplığını şu şekilde yükleyin:
pip install openai
Not
Bu kitaplık OpenAI tarafından korunur. Kitaplığın en son güncelleştirmelerini izlemek için sürüm geçmişine bakın.
Anahtarı ve uç noktayı alma
Azure OpenAI Hizmeti'ne karşı başarılı bir şekilde çağrı yapmak için aşağıdakilere ihtiyacınız vardır:
Değişken adı | Değer |
---|---|
ENDPOINT |
Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Uç noktayı Azure AI Foundry portalındaki Dağıtımlar sayfasından da bulabilirsiniz. Örnek uç nokta: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Bu değer, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. KEY1 veya KEY2 kullanabilirsiniz. |
DEPLOYMENT-NAME |
Bu değer, bir modeli dağıtırken dağıtımınız için seçtiğiniz özel ada karşılık gelir. Bu değer, Azure portalındaki Kaynak Yönetimi>Modeli Dağıtımları altında veya Azure AI Foundry portalındaki Dağıtımlar sayfasında bulunabilir. |
Azure portalında kaynağınıza gidin. Anahtarlar ve Uç Nokta, Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1
veya KEY2
kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.
Ortam değişkenleri
Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.
Önemli
API anahtarı kullanıyorsanız, bunu Azure Key Vault gibi başka bir yerde güvenli bir şekilde depolayın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Yeni Python uygulaması oluşturma
quickstart.py adlı yeni bir Python dosyası oluşturun. Ardından tercih ettiğiniz düzenleyicide veya IDE'de açın.
quickstart.py içeriğini aşağıdaki kodla değiştirin. Anahtarınızı, uç noktanızı ve dağıtım adınızı eklemek için kodu değiştirin:
import os
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-02-01",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
deployment_name='REPLACE_WITH_YOUR_DEPLOYMENT_NAME' #This will correspond to the custom name you chose for your deployment when you deployed a model. Use a gpt-35-turbo-instruct deployment.
# Send a completion call to generate an answer
print('Sending a test completion job')
start_phrase = 'Write a tagline for an ice cream shop. '
response = client.completions.create(model=deployment_name, prompt=start_phrase, max_tokens=10)
print(start_phrase+response.choices[0].text)
Önemli
Üretim için Azure Key Vault gibi kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Kimlik bilgisi güvenliği hakkında daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.
Uygulamayı hızlı başlangıç dosyanızda komutuyla
python
çalıştırın:python quickstart.py
Çıktı
Çıktı, istemin Write a tagline for an ice cream shop.
ardından yanıt metnini içerir. Bu örnekte Azure OpenAI döndürüldü The coldest ice cream in town!
.
Sending a test completion job
Write a tagline for an ice cream shop. The coldest ice cream in town!
Yanıtın her zaman aynı olmayacağından, diğer yanıt türlerini görmek için kodu birkaç kez daha çalıştırın.
Sonuçlarınızı anlama
Örneğimiz Write a tagline for an ice cream shop.
çok az bağlam sağladığından modelin her zaman beklenen sonuçları döndürmemesi normaldir. Yanıt beklenmedik veya kesilmiş gibi görünüyorsa en fazla belirteç sayısını ayarlayabilirsiniz.
Azure OpenAI ayrıca istem girişlerinde ve oluşturulan çıkışlarda con çadır modu ration gerçekleştirir. Zararlı içerik algılanırsa istemler veya yanıtlar filtrelenebilir. Daha fazla bilgi için içerik filtresi makalesine bakın.
Kaynakları temizleme
Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.
Sonraki adımlar
- Tamamlamalarla ilgili nasıl yapılır kılavuzumuzda en iyi tamamlamanın nasıl oluşturulacağı hakkında daha fazla bilgi edinin.
- Daha fazla örnek için Azure OpenAI Örnekleri GitHub deposuna bakın.
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- Python 3.8 veya üzeri sürüm
- Aşağıdaki Python kitaplıkları: işletim sistemi, istekler, json
- Modeli dağıtılan bir Azure OpenAI kaynağı. Model dağıtımı hakkında daha fazla bilgi için bkz. kaynak dağıtım kılavuzu.
Ayarlama
Anahtarı ve uç noktayı alma
Azure OpenAI'ye karşı başarılı bir şekilde çağrı yapmak için aşağıdakilere ihtiyacınız vardır:
Değişken adı | Değer |
---|---|
ENDPOINT |
Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Uç noktayı Azure AI Foundry portalındaki Dağıtımlar sayfasından da bulabilirsiniz. Örnek uç nokta: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. KEY1 veya KEY2 kullanabilirsiniz. |
DEPLOYMENT-NAME |
Bu değer, bir modeli dağıtırken dağıtımınız için seçtiğiniz özel ada karşılık gelir. Bu değer, Azure portalındaki Kaynak Yönetimi>Dağıtımları altında veya Azure AI Foundry portalındaki Dağıtımlar sayfasında bulunabilir. |
Azure portalında kaynağınıza gidin. Uç Nokta ve Anahtarlar Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1
veya KEY2
kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.
Ortam değişkenleri
Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.
Önemli
API anahtarı kullanıyorsanız, bunu Azure Key Vault gibi başka bir yerde güvenli bir şekilde depolayın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
REST API
Bash kabuğunda aşağıdaki komutu çalıştırın. değerini modeli dağıtırken gpt-35-turbo-instruct
seçtiğiniz dağıtım adıyla değiştirmeniz gpt-35-turbo-instruct
gerekir. Temel alınan model adıyla aynı olan bir dağıtım adı seçmediğiniz sürece model adının girilmesi hataya neden olur.
curl $AZURE_OPENAI_ENDPOINT/openai/deployments/gpt-35-turbo-instruct/completions?api-version=2024-02-01 \
-H "Content-Type: application/json" \
-H "api-key: $AZURE_OPENAI_API_KEY" \
-d "{\"prompt\": \"Once upon a time\"}"
Örnek uç nokta içeren komutun ilk satırının biçimi aşağıdaki curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/completions?api-version=2024-02-01 \
gibi görünür. Hatayla karşılaşırsanız, uç noktanız ile /openai/deployments
arasındaki ayrım sırasında iki katına çıkarılmadığınızdan /
emin olmak için iki kez denetleyin.
Bu komutu normal bir Windows komut isteminde çalıştırmak istiyorsanız ve satır sonlarını kaldırmak \
için metni değiştirmeniz gerekir.
Önemli
Üretim için Azure Key Vault gibi kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Kimlik bilgisi güvenliği hakkında daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.
Çıktı
Tamamlamalar API'sinden elde edilecek çıkış aşağıdaki gibi görünür.
{
"id": "ID of your call",
"object": "text_completion",
"created": 1675444965,
"model": "gpt-35-turbo-instruct",
"choices": [
{
"text": " there lived in a little village a woman who was known as the meanest",
"index": 0,
"finish_reason": "length",
"logprobs": null
}
],
"usage": {
"completion_tokens": 16,
"prompt_tokens": 3,
"total_tokens": 19
}
}
Azure OpenAI Hizmeti, istem girişlerinde ve oluşturulan çıkışlarda da con çadır modu ration gerçekleştirir. Zararlı içerik algılanırsa istemler veya yanıtlar filtrelenebilir. Daha fazla bilgi için içerik filtresi makalesine bakın.
Kaynakları temizleme
Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.
Sonraki adımlar
- Tamamlamalarla ilgili nasıl yapılır kılavuzumuzda en iyi tamamlamanın nasıl oluşturulacağı hakkında daha fazla bilgi edinin.
- Daha fazla örnek için Azure OpenAI Örnekleri GitHub deposuna bakın.
Önkoşullar
- Azure aboneliği - Ücretsiz bir abonelik oluşturun
- En son sürümü, PowerShell 7'yi veya Windows PowerShell 5.1'i kullanabilirsiniz.
- Modeli dağıtılan bir Azure OpenAI Hizmeti kaynağı. Model dağıtımı hakkında daha fazla bilgi için bkz. kaynak dağıtım kılavuzu.
Anahtarı ve uç noktayı alma
Azure OpenAI hizmetine karşı başarılı bir şekilde çağrı yapmak için aşağıdakilere ihtiyacınız vardır:
Değişken adı | Değer |
---|---|
ENDPOINT |
Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Uç noktayı Azure AI Foundry portalındaki Dağıtımlar sayfasından da bulabilirsiniz. Örnek uç nokta: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. KEY1 veya KEY2 kullanabilirsiniz. |
DEPLOYMENT-NAME |
Bu değer, bir modeli dağıtırken dağıtımınız için seçtiğiniz özel ada karşılık gelir. Bu değer, Azure portalındaki Kaynak Yönetimi>Dağıtımları altında veya Azure AI Foundry portalındaki Dağıtımlar sayfasında bulunabilir. |
Azure portalında kaynağınıza gidin. Uç Nokta ve Anahtarlar Kaynak Yönetimi bölümünde bulunabilir. Api çağrılarınızın kimliğini doğrulamak için ihtiyacınız olacak şekilde uç noktanızı ve erişim anahtarınızı kopyalayın. KEY1
veya KEY2
kullanabilirsiniz. Her zaman iki anahtara sahip olmak, hizmet kesintisine neden olmadan anahtarları güvenli bir şekilde döndürmenize ve yeniden oluşturmanıza olanak tanır.
Ortam değişkenleri
Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.
Önemli
API anahtarı kullanıyorsanız, bunu Azure Key Vault gibi başka bir yerde güvenli bir şekilde depolayın. API anahtarını doğrudan kodunuzla eklemeyin ve hiçbir zaman herkese açık olarak göndermeyin.
Yapay zeka hizmetleri güvenliği hakkında daha fazla bilgi için bkz . Azure AI hizmetlerine yönelik isteklerin kimliğini doğrulama.
$Env:AZURE_OPENAI_API_KEY = 'YOUR_KEY_VALUE'
$Env:AZURE_OPENAI_ENDPOINT = 'YOUR_ENDPOINT'
Yeni bir PowerShell betiği oluşturma
quickstart.ps1 adlı yeni bir PowerShell dosyası oluşturun. Ardından tercih ettiğiniz düzenleyicide veya IDE'de açın.
quickstart.ps1 dosyasının içeriğini aşağıdaki kodla değiştirin. Anahtarınızı, uç noktanızı ve dağıtım adınızı eklemek için kodu değiştirin:
# Azure OpenAI metadata variables $openai = @{ api_key = $Env:AZURE_OPENAI_API_KEY api_base = $Env:AZURE_OPENAI_ENDPOINT # your endpoint should look like the following https://YOUR_RESOURCE_NAME.openai.azure.com/ api_version = '2024-02-01' # this may change in the future name = 'YOUR-DEPLOYMENT-NAME-HERE' #This will correspond to the custom name you chose for your deployment when you deployed a model. } # Completion text $prompt = 'Once upon a time...' # Header for authentication $headers = [ordered]@{ 'api-key' = $openai.api_key } # Adjust these values to fine-tune completions $body = [ordered]@{ prompt = $prompt max_tokens = 10 temperature = 2 top_p = 0.5 } | ConvertTo-Json # Send a completion call to generate an answer $url = "$($openai.api_base)/openai/deployments/$($openai.name)/completions?api-version=$($openai.api_version)" $response = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json' return "$prompt`n$($response.choices[0].text)"
Önemli
Üretim için Azure Key Vault ile PowerShell Gizli Dizi Yönetimi gibi kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Kimlik bilgisi güvenliği hakkında daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.
Betiği PowerShell kullanarak çalıştırın:
./quickstart.ps1
Çıktı
Çıktı, istemin Once upon a time
ardından yanıt metnini içerir. Bu örnekte Azure OpenAI döndürüldü There was a world beyond the mist...where a
.
Once upon a time...
There was a world beyond the mist...where a
Yanıtın her zaman aynı olmayacağından, diğer yanıt türlerini görmek için kodu birkaç kez daha çalıştırın.
Sonuçlarınızı anlama
Örneğimiz Once upon a time...
çok az bağlam sağladığından modelin her zaman beklenen sonuçları döndürmemesi normaldir. Yanıt beklenmedik veya kesilmiş gibi görünüyorsa en fazla belirteç sayısını ayarlayabilirsiniz.
Azure OpenAI ayrıca istem girişlerinde ve oluşturulan çıkışlarda con çadır modu ration gerçekleştirir. Zararlı içerik algılanırsa istemler veya yanıtlar filtrelenebilir. Daha fazla bilgi için içerik filtresi makalesine bakın.
Kaynakları temizleme
Bir Azure OpenAI kaynağını temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler.
Sonraki adımlar
- Tamamlamalarla ilgili nasıl yapılır kılavuzumuzda en iyi tamamlamanın nasıl oluşturulacağı hakkında daha fazla bilgi edinin.
- Daha fazla örnek için Azure OpenAI Örnekleri GitHub deposuna bakın.