Share via


Hızlı Başlangıç: Azure OpenAI Service 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.

  • İstenen Azure aboneliğinde Azure OpenAI'ya erişim verilir.

    Şu anda bu hizmete erişim yalnızca uygulama tarafından sağlanmaktadır. adresinden formu https://aka.ms/oai/accesstamamlayarak Azure OpenAI'ye erişim için başvurabilirsiniz. Sorun yaşıyorsanız bizimle iletişime geçmek için bu depoda bir sorun açın.

  • 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.

İpucu

Birden çok Azure AI hizmetindeki özellikleri bir araya getiren yeni birleşik Azure AI Studio'yu (önizleme) deneyin.

Azure OpenAI Studio'ya gidin

adresinden Azure OpenAI Studio'ya https://oai.azure.com/ gidin ve 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.

Azure OpenAI Studio giriş sayfasından daha fazla ilerleyerek hızlı tamamlama örneklerini keşfedin, dağıtımlarınızı ve modellerinizi yönetin ve belgeler ve topluluk forumları gibi öğrenme kaynaklarını bulun.

Azure OpenAI Studio giriş sayfasının ekran görüntüsü.

Deneme ve ince ayar iş akışı için Oyun Alanı'na gidin.

Çocuk bahçesi

GPT-3 Playground 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.

Bölümlerin vurgulandığı Azure OpenAI Studio'nun oyun alanı sayfasının ekran görüntüsü.

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.

GPT-3 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

GPT-3 Playground'da metin özetleme için Azure OpenAI'yi kullanmak için şu adımları izleyin:

  1. Azure OpenAI Studio'da oturum açın.

  2. Çalışmak için aboneliği ve OpenAI kaynağını seçin.

  3. Giriş sayfasının üst kısmındaki GPT-3 Oyun Alanı'nı seçin.

  4. 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.

  5. Örnekler açılan listesinde Metni Özetle'yi seçin.

    Metni Özetle açılan menüsünün görünür olduğu Azure OpenAI Studio oyun alanı sayfasının ekran görüntüsü

  6. 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:

    Tl;dr A neutron star is the collapsed core of a supergiant star. These incredibly dense objects are incredibly fascinating due to their strange properties and their potential for phenomena such as extreme gravitational forces and a strong magnetic field.
    

Yanıtın doğruluğu modele göre farklılık gösterebilir. Bu örnekteki Davinci tabanlı model bu özetleme türüne çok uygundur, ancak Codex tabanlı bir model bu özel görevde de iyi performans göstermez.

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
  • İstenen Azure aboneliğinde Azure OpenAI hizmetine erişim izni verilir. Şu anda bu hizmete erişim yalnızca uygulama tarafından sağlanmaktadır. adresinden formu https://aka.ms/oai/accesstamamlayarak Azure OpenAI Hizmeti'ne erişim için başvurabilirsiniz.
  • .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-quickstartyeni 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 --prerelease

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 Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, değeri Azure OpenAI Studio>Oyun Alanı>Kod Görünümü'nde 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.

Azure portalında uç nokta ve erişim anahtarları konumu kırmızıyla daire içine alınmış bir Azure OpenAI kaynağının genel bakış kullanıcı arabiriminin ekran görüntüsü.

Ortam değişkenleri

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

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

  • Daha fazla örnek için Azure OpenAI Örnekleri GitHub deposuna göz atın

Kaynak kodu | Paketi (Go)| Örnekleri

Önkoşullar

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 Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, değeri Azure OpenAI Studio>Oyun Alanı>Kod Görünümü'nde 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.

Azure portalında uç nokta ve erişim anahtarları konumu kırmızıyla daire içine alınmış bir Azure OpenAI kaynağının genel bakış kullanıcı arabiriminin ekran görüntüsü.

Ortam değişkenleri

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

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/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, err := azopenai.NewKeyCredential(azureOpenAIKey)

	if err != nil {
		// TODO: handle error
	}

	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)),
		Deployment: 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

  • Daha fazla örnek için Azure OpenAI Örnekleri GitHub deposuna göz atın

Kaynak kodu | Yapıtı (Maven) | Örnekleri

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun
  • İstenen Azure aboneliğinde Azure OpenAI hizmetine erişim izni verilir. Şu anda bu hizmete erişim yalnızca uygulama tarafından sağlanmaktadır. adresinden formu https://aka.ms/oai/accesstamamlayarak Azure OpenAI Hizmeti'ne erişim için başvurabilirsiniz.
  • 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 Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, değeri Azure OpenAI Studio>Oyun Alanı>Kod Görünümü'nde 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.

Azure portalında uç nokta ve erişim anahtarları konumu kırmızıyla daire içine alınmış bir Azure OpenAI kaynağının genel bakış kullanıcı arabiriminin ekran görüntüsü.

Ortam değişkenleri

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

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

  1. 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.

  2. 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());
        }
    }
    

    Ö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.

  3. 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

  • Daha fazla örnek için Azure OpenAI Örnekleri GitHub deposuna göz atın

Kaynak kodu | Yapıtları (Maven) | Örnek

Önkoşullar

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 Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, değeri Azure OpenAI Studio>Oyun Alanı>Kod Görünümü'nde 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.

Azure portalında uç nokta ve erişim anahtarları konumu kırmızıyla daire içine alınmış bir Azure OpenAI kaynağının genel bakış kullanıcı arabiriminin ekran görüntüsü.

Ortam değişkenleri

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

Not

Spring AI, model adını varsayılan olarak olarak gpt-35-turbokullanı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

  1. 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>
    
  2. 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()));
              });
        }
    
    }
    

    Ö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.

  3. 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

Önkoşullar

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 Bu değer, Azure portal kaynağınızı incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, değeri Azure OpenAI Studio>Oyun Alanı>Kod Görünümü'nde 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.

Azure portalında uç nokta ve erişim anahtarları konumu kırmızıyla daire içine alınmış bir Azure OpenAI kaynağının genel bakış kullanıcı arabiriminin ekran görüntüsü.

Ortam değişkenleri

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Konsol penceresinde (cmd, PowerShell veya Bash gibi), uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin. Ardından komutunu çalıştırarak npm init package.json dosyasıyla bir düğüm uygulaması oluşturun.

npm init

İstemci kitaplığını yükleme

npm ile JavaScript için Azure OpenAI istemci kitaplığını yükleyin:

npm install @azure/openai

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 { OpenAIClient, AzureKeyCredential } = require("@azure/openai");
const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] ;
const azureApiKey = process.env["AZURE_OPENAI_API_KEY"] ;

const prompt = ["When was Microsoft founded?"];

async function main() {
  console.log("== Get completions Sample ==");

  const client = new OpenAIClient(endpoint, new AzureKeyCredential(azureApiKey));
  const deploymentId = "gpt-35-turbo-instruct";
  const result = await client.getCompletions(deploymentId, prompt);

  for (const choice of result.choices) {
    console.log(choice.text);
  }
}

main().catch((err) => {
  console.error("The sample encountered an error:", err);
});

module.exports = { main };

Ö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.

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.

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

Kitaplık kaynak kodu | Paketi (PyPi) |

Önkoşullar

  • Azure aboneliği - Ücretsiz bir abonelik oluşturun

  • İstenen Azure aboneliğinde Azure OpenAI'ye erişim izni verildi

    Şu anda bu hizmete erişim yalnızca uygulama tarafından sağlanmaktadır. adresinden formu https://aka.ms/oai/accesstamamlayarak Azure OpenAI'ye erişim için başvurabilirsiniz. Sorun yaşıyorsanız bizimle iletişime geçmek için bu depoda bir sorun açın.

  • 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 ve şu anda önizleme aşamasındadır. Kitaplıkta yapılan en son güncelleştirmeleri izlemek için yayın geçmişine veya version.py işleme geçmişine bakın.

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, Kaynağınızı Azure portalından incelerken Anahtarlar ve Uç Nokta bölümünde bulunabilir. Alternatif olarak, değeri Azure OpenAI Studio>Playground>Görünüm kodunda 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 alternatif olarak Azure OpenAI Studio'da Yönetim>Dağıtımları altı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.

Azure portalında uç nokta ve erişim anahtarları konumu kırmızıyla daire içine alınmış bir Azure OpenAI kaynağının genel bakış dikey penceresinin ekran görüntüsü.

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

Ortam değişkenleri

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

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

  1. quickstart.py adlı yeni bir Python dosyası oluşturun. Ardından tercih ettiğiniz düzenleyicide veya IDE'de açın.

  2. 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.

  1. 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

  • İstenen Azure aboneliğinde Azure OpenAI'ye erişim izni verildi

    Şu anda bu hizmete erişim yalnızca uygulama tarafından sağlanmaktadır. şu konumdaki formu https://aka.ms/oai/accesstamamlayarak Azure OpenAI hizmetine erişim için başvurabilirsiniz. Sorun yaşıyorsanız bizimle iletişime geçmek için bu depoda bir sorun açın.

  • 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. Alternatif olarak, değeri Azure OpenAI Studio>Playground>Code View'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 portalda Kaynak Yönetimi>Dağıtımlar altında veya alternatif olarak Azure OpenAI Studio'da Yönetim>Dağıtımlar altı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.

Azure portalında uç nokta ve erişim anahtarları konumu kırmızıyla daire içine alınmış bir Azure OpenAI kaynağının genel bakış dikey penceresinin ekran görüntüsü.

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

Ortam değişkenleri

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

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/deploymentsarası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

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. Alternatif olarak, değeri Azure OpenAI Studio>Playground>Code View'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 portalda Kaynak Yönetimi>Dağıtımlar altında veya alternatif olarak Azure OpenAI Studio'da Yönetim>Dağıtımlar altı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.

Azure portalında uç nokta ve erişim anahtarları konumu kırmızıyla daire içine alınmış bir Azure OpenAI kaynağının genel bakış dikey penceresinin ekran görüntüsü.

Anahtarınız ve uç noktanız için kalıcı ortam değişkenleri oluşturun ve atayın.

Ortam değişkenleri

$Env:AZURE_OPENAI_API_KEY = 'YOUR_KEY_VALUE'
$Env:AZURE_OPENAI_ENDPOINT = 'YOUR_ENDPOINT'

Yeni bir PowerShell betiği oluşturma

  1. quickstart.ps1 adlı yeni bir PowerShell dosyası oluşturun. Ardından tercih ettiğiniz düzenleyicide veya IDE'de açın.

  2. 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.

  3. 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.