Mulai cepat: Mulai menggunakan GPT-35-Turbo dan GPT-4 dengan Azure OpenAI Service

Gunakan artikel ini untuk mulai menggunakan Azure OpenAI.

Prasyarat

  • Langganan Azure - Buat langganan gratis.

  • Akses yang diberikan ke Azure OpenAI dalam langganan Azure yang diinginkan.

    Saat ini, akses ke layanan ini hanya diberikan oleh aplikasi. Anda dapat mengajukan permohonan akses ke Azure OpenAI dengan melengkapi formulir di https://aka.ms/oai/access. Buka masalah pada repositori ini untuk menghubungi kami jika Anda mengalami masalah.

  • Sumber daya Azure OpenAI Service dengan gpt-35-turbo model atau yang disebarkan gpt-4 . Untuk informasi selengkapnya tentang penyebaran model, lihat panduan penyebaran sumber daya.

Tip

Cobalah Azure AI Studio terpadu baru (pratinjau) yang menyautkan kemampuan dari beberapa layanan Azure AI.

Buka Azure OpenAI Studio

Buka Azure OpenAI Studio di https://oai.azure.com/ dan masuk dengan kredensial yang memiliki akses ke sumber daya OpenAI Anda. Selama atau setelah alur kerja masuk, pilih direktori, langganan Azure, dan sumber daya Azure OpenAI yang sesuai.

Dari halaman arahan Azure OpenAI Studio, pilih Chat playground.

Cuplikan layar halaman arahan Azure OpenAI Studio dengan playground Obrolan disorot.

Playground

Mulai jelajahi kemampuan OpenAI dengan pendekatan tanpa kode melalui taman bermain Azure OpenAI Studio Chat. Dari halaman ini, Anda dapat dengan cepat melakukan iterasi dan bereksperimen dengan kemampuan.

Cuplikan layar halaman Playground obrolan.

Penyiapan asisten

Anda dapat menggunakan menu dropdown Penyiapan Asisten untuk memilih beberapa contoh pesan Sistem yang telah dimuat sebelumnya untuk memulai.

Pesan sistem memberikan instruksi model tentang bagaimana seharusnya bersifat dan konteks apa pun yang harus dirujuknya saat menghasilkan respons. Anda dapat menjelaskan kepribadian asisten, memberi tahu apa yang harus dan tidak boleh dijawab, dan memberi tahunya cara memformat respons.

Tambahkan contoh beberapa bidikan memungkinkan Anda memberikan contoh percakapan yang digunakan oleh model untuk pembelajaran dalam konteks.

Kapan saja saat menggunakan playground Obrolan, Anda dapat memilih Tampilkan kode untuk melihat sampel kode Python, curl, dan json yang telah diisi sebelumnya berdasarkan pilihan sesi obrolan dan pengaturan Anda saat ini. Anda kemudian dapat mengambil kode ini dan menulis aplikasi untuk menyelesaikan tugas yang sama dengan yang sedang Anda lakukan dengan taman bermain.

Sesi obrolan

Memilih tombol Kirim mengirimkan teks yang dimasukkan ke API penyelesaian dan hasilnya dikembalikan ke kotak teks.

Pilih tombol Hapus obrolan untuk menghapus riwayat percakapan saat ini.

Pengaturan

Nama Keterangan
Penyebaran Nama penyebaran Anda yang terkait dengan model tertentu.
Suhu Mengontrol keacakan. Menurunkan suhu berarti model menghasilkan respons yang lebih berulang dan deterministik. Meningkatkan suhu menghasilkan respons yang lebih tidak terduga atau kreatif. Coba sesuaikan suhu atau P Atas tetapi tidak keduanya.
Panjang maksimum (token) Tetapkan batas jumlah token per respons model. API mendukung maksimum 4096 token yang dibagikan antara perintah (termasuk pesan sistem, contoh, riwayat pesan, dan kueri pengguna) dan respons model. Satu token kira-kira empat karakter untuk teks bahasa Inggris biasa.
Probabilitas teratas Mirip dengan suhu, ini mengontrol keacakan tetapi menggunakan metode yang berbeda. Menurunkan P Atas mempersempit pilihan token model ke token yang lebih mungkin. Meningkatkan Top P memungkinkan model memilih dari token dengan kemungkinan tinggi dan rendah. Coba sesuaikan suhu atau P Atas tetapi tidak keduanya.
Percakapan multi-giliran Pilih jumlah pesan sebelumnya untuk disertakan dalam setiap permintaan API baru. Ini membantu memberikan konteks model untuk kueri pengguna baru. Mengatur angka ini ke 10 menghasilkan lima kueri pengguna dan lima respons sistem.
Hentikan urutan Hentikan urutan membuat model mengakhiri responsnya pada titik yang diinginkan. Respons model berakhir sebelum urutan yang ditentukan, sehingga tidak akan berisi teks urutan berhenti. Untuk GPT-35-Turbo, menggunakan <|im_end|> memastikan bahwa respons model tidak menghasilkan kueri pengguna tindak lanjut. Anda dapat menyertakan sebanyak empat urutan berhenti.

Perlihatkan panel

Secara default ada tiga panel: pengaturan asisten, sesi obrolan, dan pengaturan. Tampilkan panel memungkinkan Anda untuk menambahkan, menghapus, dan mengatur ulang panel. Jika Anda pernah menutup panel dan perlu mendapatkannya kembali, gunakan Tampilkan panel untuk memulihkan panel yang hilang.

Memulai sesi obrolan

  1. Dari menu drop-down penyiapan asisten, pilih agen dukungan pelanggan Xbox

  2. Anda akan diminta menanyakan apakah Anda ingin memperbarui pesan sistem, pilih Lanjutkan.

  3. Di panel sesi obrolan, masukkan pertanyaan berikut: "Saya tertarik untuk membeli Xbox baru", dan pilih Kirim.

  4. Anda akan menerima respons yang mirip dengan:

    Cuplikan layar pertanyaan dan jawaban pertama di taman bermain.

  5. Masukkan pertanyaan tindak lanjut seperti: "model mana yang mendukung 4K?"

    Cuplikan layar pertanyaan dan jawaban tindak lanjut di taman bermain.

  6. Sekarang setelah Anda memiliki percakapan dasar pilih Tampilkan kode dari bawah Penyiapan Asisten dan Anda akan memiliki pemutaran ulang kode di belakang seluruh percakapan sejauh ini:

#Note: The openai-python library support for Azure OpenAI is in preview.
import os
import openai
openai.api_type = "azure"
openai.api_base = "https://docs-test-001.openai.azure.com/"
openai.api_version = "2024-02-01"
openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.ChatCompletion.create(
  engine="gpt-35-turbo", # replace this value with the deployment name you chose when you deployed the associated model.
  messages = [{"role":"system","content":"You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."},{"role":"user","content":"How much is a PS5?"},{"role":"assistant","content":"I apologize, but I do not have information about the prices of other gaming devices such as the PS5. My primary focus is to assist with issues regarding Xbox devices. Is there a specific issue you are having with your Xbox device that I may be able to help with?"},{"role":"user","content":"I am interested in buying an Xbox?"},{"role":"assistant","content":"Great! There are several Xbox models available in the market, including the Xbox Series X, Xbox Series S, and Xbox One. The Xbox Series X is the latest and most powerful console, while the Xbox Series S is a more affordable option that still offers great performance. The Xbox One is the previous generation console, but it still has a large library of games available to play.\n\nBefore purchasing an Xbox, you may want to consider factors such as your budget, the types of games you want to play, and whether you want to play games in 4K resolution. Once you have decided on a console, you can purchase it from a retailer or directly from the Xbox website. Let me know if you have any other questions or concerns!"},{"role":"user","content":"Which models are 4K?"},{"role":"assistant","content":"Both the Xbox Series X and Xbox One X support 4K resolution gaming. The Xbox Series S, on the other hand, supports up to 1440p resolution gaming, but it can upscale games to 4K. It's worth noting that in order to take advantage of 4K gaming, you'll need a 4K TV or monitor that supports HDR (High Dynamic Range) and HDMI 2.0 or higher."}],
  temperature=0,
  max_tokens=350,
  top_p=0.95,
  frequency_penalty=0,
  presence_penalty=0,
  stop=None)

Memahami struktur prompt

Jika Anda memeriksa sampel dari Tampilkan kode , Anda akan melihat beberapa token unik yang bukan bagian dari panggilan penyelesaian GPT umum. GPT-35-Turbo dilatih untuk menggunakan token khusus untuk menggambarkan berbagai bagian prompt. Konten disediakan untuk model di antara <|im_start|> dan <|im_end|> token. Perintah dimulai dengan pesan sistem yang dapat digunakan untuk memandikan model dengan menyertakan konteks atau instruksi untuk model. Setelah itu, perintah berisi serangkaian pesan antara pengguna dan asisten.

Respons asisten terhadap perintah kemudian akan dikembalikan di bawah <|im_start|>assistant token dan akan diakhiri dengan <|im_end|> menunjukkan bahwa asisten telah menyelesaikan responsnya. Anda juga dapat menggunakan tombol Perlihatkan tombol alih sintaks mentah untuk menampilkan token ini di dalam panel sesi obrolan.

Panduan cara GPT-35-Turbo & GPT-4 menyediakan pengenalan mendalam ke dalam struktur prompt baru dan cara menggunakan gpt-35-turbo model secara efektif.

Sebarkan model anda

Setelah puas dengan pengalaman di studio Azure OpenAI, Anda dapat menyebarkan aplikasi web langsung dari Studio dengan memilih tombol Sebarkan ke .

Cuplikan layar memperlihatkan tombol penyebaran model di Azure OpenAI Studio.

Ini memberi Anda opsi untuk menyebarkan ke aplikasi web mandiri, atau salinan di Copilot Studio (pratinjau) jika Anda menggunakan data Anda sendiri pada model.

Sebagai contoh, jika Anda memilih untuk menyebarkan aplikasi web:

Saat pertama kali menyebarkan aplikasi web, Anda harus memilih Buat aplikasi web baru. Pilih nama untuk aplikasi, yang akan menjadi bagian dari URL aplikasi. Contohnya,https://<appname>.azurewebsites.net.

Pilih langganan, grup sumber daya, lokasi, dan paket harga Anda untuk aplikasi yang diterbitkan. Untuk memperbarui aplikasi yang sudah ada, pilih Terbitkan ke aplikasi web yang sudah ada dan pilih nama aplikasi Anda sebelumnya dari menu dropdown.

Jika Anda memilih untuk menyebarkan aplikasi web, lihat pertimbangan penting untuk menggunakannya.

Membersihkan sumber daya

Setelah selesai menguji taman bermain Obrolan, jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus grup sumber daya juga menghapus sumber daya apa pun yang terkait dengannya.

Langkah berikutnya

  • Pelajari selengkapnya tentang cara bekerja dengan model baru gpt-35-turbo dengan panduan cara GPT-35-Turbo & GPT-4.
  • Untuk contoh selengkapnya, lihat repositori GitHub Sampel Azure OpenAI

Templat obrolan perusahaan Paket kode sumber | (NuGet) | Samples| Retrieval Augmented Generation (RAG) |

Prasyarat

  • Langganan Azure - buat langganan gratis
  • Akses yang diberikan ke layanan Azure OpenAI dalam langganan Azure yang diinginkan. Saat ini, akses ke layanan ini hanya diberikan oleh aplikasi. Anda dapat mengajukan permohonan akses ke Layanan Azure OpenAI dengan melengkapi formulir di https://aka.ms/oai/access.
  • .NET 7 SDK
  • Sumber daya Azure OpenAI Service dengan gpt-35-turbo model atau yang disebarkan gpt-4 . Untuk informasi selengkapnya tentang penyebaran model, lihat panduan penyebaran sumber daya.

Penyiapan

Buat aplikasi .NET Core baru

Di jendela konsol (seperti cmd, PowerShell, atau Bash), gunakan perintah dotnet new untuk membuat aplikasi konsol baru dengan nama azure-openai-quickstart. Perintah ini membuat proyek "Halo Dunia" sederhana dengan satu file sumber C#: Program.cs.

dotnet new console -n azure-openai-quickstart

Ubah direktori Anda ke folder aplikasi yang baru dibuat. Anda dapat membangun aplikasi dengan:

dotnet build

Output build tidak boleh berisi peringatan atau kesalahan.

...
Build succeeded.
 0 Warning(s)
 0 Error(s)
...

Instal pustaka klien OpenAI .NET dengan:

dotnet add package Azure.AI.OpenAI --prerelease

Mengambil kunci dan titik akhir

Agar berhasil melakukan panggilan terhadap Azure OpenAI, Anda memerlukan titik akhir dan kunci.

Nama variabel Nilai
ENDPOINT Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Atau, Anda dapat menemukan nilainya di Azure OpenAI Studio>Playground>Tampilan Kode. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/.
API-KEY Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Anda dapat menggunakan KEY1 atau KEY2.

Buka sumber daya Anda di portal Azure. Bagian Kunci & Titik Akhir dapat ditemukan di bagian Manajemen Sumber Daya. Salin titik akhir dan kunci akses Anda karena keduanya diperlukan untuk mengautentikasi panggilan API Anda. Anda dapat menggunakan KEY1 atau KEY2. Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.

Cuplikan layar antarmuka pengguna gambaran umum untuk sumber daya Azure OpenAI di portal Azure dengan titik akhir dan lokasi kunci akses yang dilingkari dengan warna merah.

Variabel lingkungan

Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Membuat aplikasi sampel

Dari direktori proyek, buka file program.cs dan ganti dengan kode berikut:

Tanpa streaming respons

using Azure;
using Azure.AI.OpenAI;
using static System.Environment;

string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string key = GetEnvironmentVariable("AZURE_OPENAI_API_KEY");

OpenAIClient client = new(new Uri(endpoint), new AzureKeyCredential(key));

var chatCompletionsOptions = new ChatCompletionsOptions()
{
    DeploymentName = "gpt-35-turbo", //This must match the custom deployment name you chose for your model
    Messages =
    {
        new ChatRequestSystemMessage("You are a helpful assistant."),
        new ChatRequestUserMessage("Does Azure OpenAI support customer managed keys?"),
        new ChatRequestAssistantMessage("Yes, customer managed keys are supported by Azure OpenAI."),
        new ChatRequestUserMessage("Do other Azure AI services support this too?"),
    },
    MaxTokens = 100
};

Response<ChatCompletions> response = client.GetChatCompletions(chatCompletionsOptions);

Console.WriteLine(response.Value.Choices[0].Message.Content);

Console.WriteLine();

Penting

Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Untuk informasi selengkapnya tentang keamanan kredensial, lihat artikel keamanan layanan Azure AI.

dotnet run program.cs

Output

Yes, many of the Azure AI services support customer managed keys. Some examples include Text Analytics, Speech Services, and Translator. However, it's important to note that not all services support customer managed keys, so it's best to check the documentation for each individual service to see if it is supported.

Ini akan menunggu sampai model menghasilkan seluruh responsnya sebelum mencetak hasilnya. Atau, jika Anda ingin melakukan streaming respons secara asinkron dan mencetak hasilnya, Anda dapat mengganti konten program.cs dengan kode dalam contoh berikutnya.

Asinkron dengan streaming

using Azure;
using Azure.AI.OpenAI;
using static System.Environment;

string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string key = GetEnvironmentVariable("AZURE_OPENAI_API_KEY");

OpenAIClient client = new(new Uri(endpoint), new AzureKeyCredential(key));

var chatCompletionsOptions = new ChatCompletionsOptions()
{
    DeploymentName= "gpt-35-turbo", //This must match the custom deployment name you chose for your model
    Messages =
    {
        new ChatRequestSystemMessage("You are a helpful assistant."),
        new ChatRequestUserMessage("Does Azure OpenAI support customer managed keys?"),
        new ChatRequestAssistantMessage("Yes, customer managed keys are supported by Azure OpenAI."),
        new ChatRequestUserMessage("Do other Azure AI services support this too?"),
    },
    MaxTokens = 100
};

await foreach (StreamingChatCompletionsUpdate chatUpdate in client.GetChatCompletionsStreaming(chatCompletionsOptions))
{
    if (chatUpdate.Role.HasValue)
    {
        Console.Write($"{chatUpdate.Role.Value.ToString().ToUpperInvariant()}: ");
    }
    if (!string.IsNullOrEmpty(chatUpdate.ContentUpdate))
    {
        Console.Write(chatUpdate.ContentUpdate);
    }
}

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya. Sebelum menghapus sumber daya, Anda harus terlebih dahulu menghapus model yang disebarkan.

Langkah berikutnya

Paket kode sumber | (Go)| Sampel

Prasyarat

  • Langganan Azure - buat langganan gratis
  • Akses yang diberikan ke layanan Azure OpenAI dalam langganan Azure yang diinginkan. Saat ini, akses ke layanan ini hanya diberikan oleh aplikasi. Anda dapat mengajukan permohonan akses ke Layanan Azure OpenAI dengan melengkapi formulir di https://aka.ms/oai/access.
  • Go 1.21.0 atau lebih tinggi diinstal secara lokal.
  • Sumber daya Azure OpenAI Service dengan model yang disebarkan gpt-35-turbo . Untuk informasi selengkapnya tentang penyebaran model, lihat panduan penyebaran sumber daya.

Penyiapan

Mengambil kunci dan titik akhir

Agar berhasil melakukan panggilan terhadap Azure OpenAI, Anda memerlukan titik akhir dan kunci.

Nama variabel Nilai
ENDPOINT Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Atau, Anda dapat menemukan nilainya di Azure OpenAI Studio>Playground>Tampilan Kode. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/.
API-KEY Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Anda dapat menggunakan KEY1 atau KEY2.

Buka sumber daya Anda di portal Azure. Bagian Kunci & Titik Akhir dapat ditemukan di bagian Manajemen Sumber Daya. Salin titik akhir dan kunci akses Anda karena keduanya diperlukan untuk mengautentikasi panggilan API Anda. Anda dapat menggunakan KEY1 atau KEY2. Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.

Cuplikan layar antarmuka pengguna gambaran umum untuk sumber daya Azure OpenAI di portal Azure dengan titik akhir dan lokasi kunci akses yang dilingkari dengan warna merah.

Variabel lingkungan

Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Membuat aplikasi sampel

Buat file baru bernama chat_completions.go. Salin kode berikut ke dalam file chat_completions.go .

package main

import (
	"context"
	"fmt"
	"log"
	"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 = deployment name, if model name and deployment name do not match change this value to name chosen when you deployed the model.
	modelDeploymentID := "gpt-35-turbo" 

	// Ex: "https://<your-azure-openai-host>.openai.azure.com"
	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: Update the following line with your application specific error handling logic
		log.Fatalf("ERROR: %s", err)
	}

	client, err := azopenai.NewClientWithKeyCredential(azureOpenAIEndpoint, keyCredential, nil)

	if err != nil {
		//  TODO: Update the following line with your application specific error handling logic
		log.Fatalf("ERROR: %s", err)
	}

	// This is a conversation in progress.
	// NOTE: all messages, regardless of role, count against token usage for this API.
	messages := []azopenai.ChatMessage{
		// You set the tone and rules of the conversation with a prompt as the system role.
		{Role: to.Ptr(azopenai.ChatRoleSystem), Content: to.Ptr("You are a helpful assistant.")},

		// The user asks a question
		{Role: to.Ptr(azopenai.ChatRoleUser), Content: to.Ptr("Does Azure OpenAI support customer managed keys?")},

		// The reply would come back from the Azure OpenAI model. You'd add it to the conversation so we can maintain context.
		{Role: to.Ptr(azopenai.ChatRoleAssistant), Content: to.Ptr("Yes, customer managed keys are supported by Azure OpenAI")},

		// The user answers the question based on the latest reply.
		{Role: to.Ptr(azopenai.ChatRoleUser), Content: to.Ptr("Do other Azure AI services support this too?")},

		// from here you'd keep iterating, sending responses back from the chat completions API
	}

	resp, err := client.GetChatCompletions(context.TODO(), azopenai.ChatCompletionsOptions{
		// This is a conversation in progress.
		// NOTE: all messages count against token usage for this API.
		Messages:   messages,
		Deployment: modelDeploymentID,
	}, nil)

	if err != nil {
		//  TODO: Update the following line with your application specific error handling logic
		log.Fatalf("ERROR: %s", err)
	}

	for _, choice := range resp.Choices {
		fmt.Fprintf(os.Stderr, "Content[%d]: %s\n", *choice.Index, *choice.Message.Content)
	}

}

Penting

Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Untuk informasi selengkapnya tentang keamanan kredensial, lihat artikel keamanan layanan Azure AI.

Sekarang buka perintah dan jalankan:

go mod init chat_completions.go

Berikutnya, jalankan:

go mod tidy
go run chat_completions.go

Output

Content[0]: Yes, many Azure AI services also support customer managed keys. These services enable you to bring your own encryption keys for data at rest, which provides you with more control over the security of your data.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya. Sebelum menghapus sumber daya, Anda harus terlebih dahulu menghapus model yang disebarkan.

Langkah berikutnya

Untuk contoh selengkapnya, lihat repositori GitHub Sampel Azure OpenAI

Artefak kode sumber | (Maven) | Sampel | Templat | obrolan perusahaan Pengambilan Augmented Generation (RAG) IntelliJ IDEA

Prasyarat

  • Langganan Azure - buat langganan gratis
  • Akses yang diberikan ke layanan Azure OpenAI dalam langganan Azure yang diinginkan. Saat ini, akses ke layanan ini hanya diberikan oleh aplikasi. Anda dapat mengajukan permohonan akses ke Layanan Azure OpenAI dengan melengkapi formulir di https://aka.ms/oai/access.
  • Alat build Gradle, atau manajer dependensi lainnya.
  • Sumber daya Azure OpenAI Service dengan gpt-35-turbo model atau yang disebarkan gpt-4 . Untuk informasi selengkapnya tentang penyebaran model, lihat panduan penyebaran sumber daya.

Penyiapan

Mengambil kunci dan titik akhir

Agar berhasil melakukan panggilan terhadap Azure OpenAI, Anda memerlukan titik akhir dan kunci.

Nama variabel Nilai
ENDPOINT Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Atau, Anda dapat menemukan nilainya di Azure OpenAI Studio>Playground>Tampilan Kode. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/.
API-KEY Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Anda dapat menggunakan KEY1 atau KEY2.

Buka sumber daya Anda di portal Azure. Bagian Kunci & Titik Akhir dapat ditemukan di bagian Manajemen Sumber Daya. Salin titik akhir dan kunci akses Anda karena keduanya diperlukan untuk mengautentikasi panggilan API Anda. Anda dapat menggunakan KEY1 atau KEY2. Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.

Cuplikan layar antarmuka pengguna gambaran umum untuk sumber daya Azure OpenAI di portal Azure dengan titik akhir dan lokasi kunci akses yang dilingkari dengan warna merah.

Variabel lingkungan

Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Membuat aplikasi Java baru

Buat proyek Gradle baru.

Di jendela konsol (seperti cmd, PowerShell, atau Bash), buat direktori baru untuk aplikasi Anda, dan buka direktori tersebut.

mkdir myapp && cd myapp

Jalankan perintah gradle init dari direktori yang berfungsi. Perintah ini akan membuat file build penting untuk Gradle, termasuk build.gradle.kts yang digunakan saat runtime bahasa umum untuk membuat dan mengonfigurasi aplikasi Anda.

gradle init --type basic

Saat diminta untuk memilih DSL, pilih Kotlin.

Memasang Java SDK

Mulai cepat ini menggunakan pengelola dependensi Gradle. Anda dapat menemukan pustaka klien dan informasi untuk pengelola dependensi lain di Repositori Pusat Maven.

Temukan build.gradle.kts lalu buka dengan IDE atau editor teks pilihan Anda. Lalu, salin dalam konfigurasi build berikut. Konfigurasi ini mendefinisikan proyek sebagai aplikasi Java yang titik masuknya adalah kelas OpenAIQuickstart. Ini mengimpor pustaka Azure AI Vision.

plugins {
    java
    application
}
application { 
    mainClass.set("OpenAIQuickstart")
}
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")
}

Membuat aplikasi sampel

  1. Buat file Java.

    Dari direktori kerja Anda, jalankan perintah berikut ini untuk membuat folder sumber proyek:

    mkdir -p src/main/java
    

    Navigasikan ke folder baru dan buat file yang disebut OpenAIQuickstart.java.

  2. Buka OpenAIQuickstart.java di editor atau IDE pilihan Anda dan tempelkan kode berikut.

    import com.azure.ai.openai.OpenAIClient;
    import com.azure.ai.openai.OpenAIClientBuilder;
    import com.azure.ai.openai.models.ChatChoice;
    import com.azure.ai.openai.models.ChatCompletions;
    import com.azure.ai.openai.models.ChatCompletionsOptions;
    import com.azure.ai.openai.models.ChatMessage;
    import com.azure.ai.openai.models.ChatRole;
    import com.azure.ai.openai.models.CompletionsUsage;
    import com.azure.core.credential.AzureKeyCredential;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class GetChatCompletionsSample {
    
        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";
    
          OpenAIClient client = new OpenAIClientBuilder()
                .endpoint(endpoint)
                .credential(new AzureKeyCredential(azureOpenaiKey))
                .buildClient();
    
            List<ChatMessage> chatMessages = new ArrayList<>();
            chatMessages.add(new ChatMessage(ChatRole.SYSTEM, "You are a helpful assistant"));
            chatMessages.add(new ChatMessage(ChatRole.USER, "Does Azure OpenAI support customer managed keys?"));
            chatMessages.add(new ChatMessage(ChatRole.ASSISTANT, "Yes, customer managed keys are supported by Azure OpenAI?"));
            chatMessages.add(new ChatMessage(ChatRole.USER, "Do other Azure AI services support this too?"));
    
            ChatCompletions chatCompletions = client.getChatCompletions(deploymentOrModelId, new ChatCompletionsOptions(chatMessages));
    
            System.out.printf("Model ID=%s is created at %s.%n", chatCompletions.getId(), chatCompletions.getCreatedAt());
            for (ChatChoice choice : chatCompletions.getChoices()) {
                ChatMessage message = choice.getMessage();
                System.out.printf("Index: %d, Chat Role: %s.%n", choice.getIndex(), message.getRole());
                System.out.println("Message:");
                System.out.println(message.getContent());
            }
    
            System.out.println();
            CompletionsUsage usage = chatCompletions.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());
        }
    }  
    

    Penting

    Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Untuk informasi selengkapnya tentang keamanan kredensial, lihat artikel keamanan layanan Azure AI.

  3. Kembali ke folder akar proyek, dan bangun aplikasi tersebut dengan:

    gradle build
    

    Kemudian, jalankan dengan perintah gradle run:

    gradle run
    

Output

Model ID=chatcmpl-7JYnyE4zpd5gaIfTRH7hNpeVsvAw4 is created at 1684896378.
Index: 0, Chat Role: assistant.
Message:
Yes, most of the Azure AI services support customer managed keys. However, there may be some exceptions, so it is best to check the documentation of each specific service to confirm.

Usage: number of prompt token is 59, number of completion token is 36, and number of total tokens in request and response is 95.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya. Sebelum menghapus sumber daya, Anda harus terlebih dahulu menghapus model yang disebarkan.

Langkah berikutnya

Artefak kode sumber | (Maven)Sampel |

Prasyarat

  • Langganan Azure - buat langganan gratis
  • Akses yang diberikan ke layanan Azure OpenAI dalam langganan Azure yang diinginkan. Saat ini, akses ke layanan ini hanya diberikan oleh aplikasi. Anda dapat mengajukan permohonan akses ke Layanan Azure OpenAI dengan melengkapi formulir di https://aka.ms/oai/access.
  • Versi terbaru Java Development Kit (JDK)
  • Alat Spring Boot CLI
  • Sumber daya Azure OpenAI Service dengan model yang disebarkan gpt-35-turbo . Untuk informasi selengkapnya tentang penyebaran model, lihat panduan penyebaran sumber daya.

Penyiapan

Mengambil kunci dan titik akhir

Agar berhasil melakukan panggilan terhadap Azure OpenAI, Anda memerlukan titik akhir dan kunci.

Nama variabel Nilai
ENDPOINT Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Atau, Anda dapat menemukan nilainya di Azure OpenAI Studio>Playground>Tampilan Kode. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/.
API-KEY Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Anda dapat menggunakan KEY1 atau KEY2.

Buka sumber daya Anda di portal Azure. Bagian Kunci & Titik Akhir dapat ditemukan di bagian Manajemen Sumber Daya. Salin titik akhir dan kunci akses Anda karena keduanya diperlukan untuk mengautentikasi panggilan API Anda. Anda dapat menggunakan KEY1 atau KEY2. Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.

Cuplikan layar antarmuka pengguna gambaran umum untuk sumber daya Azure OpenAI di portal Azure dengan titik akhir dan lokasi kunci akses yang dilingkari dengan warna merah.

Variabel lingkungan

Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.

Catatan

Spring AI default nama model ke gpt-35-turbo. Anda hanya perlu memberikan SPRING_AI_AZURE_OPENAI_MODEL nilai jika Anda telah menyebarkan model dengan nama yang berbeda.

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"

Membuat aplikasi Spring baru

Buat proyek Spring baru.

Di jendela Bash, buat direktori baru untuk aplikasi Anda, dan navigasikan ke dalamnya.

mkdir ai-chat-demo && cd ai-chat-demo

Jalankan perintah spring init dari direktori yang berfungsi. Perintah ini membuat struktur direktori standar untuk proyek Spring Anda termasuk file sumber kelas Java utama dan file pom.xml yang digunakan untuk mengelola proyek berbasis Maven.

spring init -a ai-chat-demo -n AIChat --force --build maven -x

File dan folder yang dihasilkan menyerupai struktur berikut:

ai-chat-demo/
|-- pom.xml
|-- mvn
|-- mvn.cmd
|-- HELP.md
|-- src/
    |-- main/
    |   |-- resources/
    |   |   |-- application.properties
    |   |-- java/
    |       |-- com/
    |           |-- example/
    |               |-- aichatdemo/
    |                   |-- AiChatApplication.java
    |-- test/
        |-- java/
            |-- com/
                |-- example/
                    |-- aichatdemo/
                        |-- AiChatApplicationTests.java

Edit aplikasi Spring

  1. Edit file pom.xml.

    Dari akar direktori proyek, buka file pom.xml di editor atau IDE pilihan Anda dan timpa file dengan konten berikut:

    <?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-chat-demo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>AIChat</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. Dari folder src/main/java/com/example/aichatdemo, buka AiChatApplication.java di editor atau IDE pilihan Anda dan tempelkan dalam kode berikut:

    package com.example.aichatdemo;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import org.springframework.ai.client.AiClient;
    import org.springframework.ai.prompt.Prompt;
    import org.springframework.ai.prompt.messages.ChatMessage;
    import org.springframework.ai.prompt.messages.Message;
    import org.springframework.ai.prompt.messages.MessageType;
    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 AiChatApplication implements CommandLineRunner
    {
        private static final String ROLE_INFO_KEY = "role";
    
        @Autowired
        private AiClient aiClient;
    
        public static void main(String[] args) {
            SpringApplication.run(AiChatApplication.class, args);
        }
    
        @Override
        public void run(String... args) throws Exception
        {
            System.out.println(String.format("Sending chat prompts to AI service. One moment please...\r\n"));
    
            final List<Message> msgs = new ArrayList<>();
    
            msgs.add(new ChatMessage(MessageType.SYSTEM, "You are a helpful assistant"));
            msgs.add(new ChatMessage(MessageType.USER, "Does Azure OpenAI support customer managed keys?"));
            msgs.add(new ChatMessage(MessageType.ASSISTANT, "Yes, customer managed keys are supported by Azure OpenAI?"));
            msgs.add(new ChatMessage(MessageType.USER, "Do other Azure AI services support this too?"));
    
            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()));
              });
        }
    
    }
    

    Penting

    Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Untuk informasi selengkapnya tentang keamanan kredensial, lihat artikel keamanan layanan Azure AI.

  3. Navigasi kembali ke folder akar proyek, dan jalankan aplikasi dengan menggunakan perintah berikut:

    ./mvnw spring-boot:run
    

Output

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v3.1.5)

2023-11-07T13:31:10.884-06:00  INFO 6248 --- [           main] c.example.aichatdemo.AiChatApplication   : No active profile set, falling back to 1 default profile: "default"
2023-11-07T13:31:11.595-06:00  INFO 6248 --- [           main] c.example.aichatdemo.AiChatApplication   : Started AiChatApplication in 0.994 seconds (process running for 1.28)
Sending chat prompts to AI service. One moment please...

Prompt created 1 generated response(s).
Generated respose from "assistant": Yes, other Azure AI services also support customer managed keys. Azure AI Services, Azure Machine Learning, and other AI services in Azure provide options for customers to manage and control their encryption keys. This allows customers to have greater control over their data and security.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya. Sebelum menghapus sumber daya, Anda harus terlebih dahulu menghapus model yang disebarkan.

Langkah berikutnya

Untuk contoh selengkapnya, lihat repositori GitHub Sampel Azure OpenAI

Templat obrolan perusahaan Paket kode sumber | (npm) | Samples | Retrieval Augmented Generation (RAG)|

Prasyarat

  • Langganan Azure - buat langganan gratis
  • Akses yang diberikan ke layanan Azure OpenAI dalam langganan Azure yang diinginkan. Saat ini, akses ke layanan ini hanya diberikan oleh aplikasi. Anda dapat mengajukan permohonan akses ke Layanan Azure OpenAI dengan melengkapi formulir di https://aka.ms/oai/access.
  • Versi LTS dari Node.js
  • Sumber daya Azure OpenAI Service dengan gpt-35-turbo model atau yang disebarkan gpt-4 . Untuk informasi selengkapnya tentang penyebaran model, lihat panduan penyebaran sumber daya.

Penyiapan

Mengambil kunci dan titik akhir

Agar berhasil melakukan panggilan terhadap Azure OpenAI, Anda memerlukan titik akhir dan kunci.

Nama variabel Nilai
ENDPOINT Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Atau, Anda dapat menemukan nilainya di Azure OpenAI Studio>Playground>Tampilan Kode. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/.
API-KEY Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Anda dapat menggunakan KEY1 atau KEY2.

Buka sumber daya Anda di portal Azure. Bagian Kunci & Titik Akhir dapat ditemukan di bagian Manajemen Sumber Daya. Salin titik akhir dan kunci akses Anda karena keduanya diperlukan untuk mengautentikasi panggilan API Anda. Anda dapat menggunakan KEY1 atau KEY2. Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.

Cuplikan layar antarmuka pengguna gambaran umum untuk sumber daya Azure OpenAI di portal Azure dengan titik akhir dan lokasi kunci akses yang dilingkari dengan warna merah.

Variabel lingkungan

Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Membuat aplikasi Node

Di jendela konsol (seperti cmd, PowerShell, atau Bash), buat direktori baru untuk aplikasi Anda, dan buka direktori tersebut. Kemudian jalankan npm init perintah untuk membuat aplikasi simpul dengan file package.json .

npm init

Memasang pustaka klien

Instal pustaka klien Azure OpenAI untuk JavaScript dengan npm:

npm install @azure/openai

File package.json aplikasi Anda akan diperbarui dengan dependensi.

Membuat aplikasi sampel

Buka prompt perintah tempat Anda menginginkan proyek baru, dan buat file baru bernama ChatCompletion.js. Salin kode berikut ke dalam file ChatCompletion.js.

const { OpenAIClient, AzureKeyCredential } = require("@azure/openai");
const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] ;
const azureApiKey = process.env["AZURE_OPENAI_API_KEY"] ;

const messages = [
  { role: "system", content: "You are a helpful assistant." },
  { role: "user", content: "Does Azure OpenAI support customer managed keys?" },
  { role: "assistant", content: "Yes, customer managed keys are supported by Azure OpenAI" },
  { role: "user", content: "Do other Azure AI services support this too" },
];

async function main() {
  console.log("== Chat Completions Sample ==");

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

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

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

module.exports = { main };

Penting

Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Untuk informasi selengkapnya tentang keamanan kredensial, lihat artikel keamanan layanan Azure AI.

Menjalankan skrip dengan menjalankan perintah berikut:

node.exe ChatCompletion.js

Output

== Chat Completions Sample ==
{
  role: 'assistant',
  content: 'Yes, most Azure AI services support customer managed keys. It is always best to check the specific service documentation to confirm this.'
}

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya. Sebelum menghapus sumber daya, Anda harus terlebih dahulu menghapus model yang disebarkan.

Langkah berikutnya

Paket kode | sumber pustaka (PyPi) | Templat obrolan perusahaan Retrieval Augmented Generation (RAG) |

Prasyarat

  • Langganan Azure - buat langganan gratis
  • Akses yang diberikan ke Azure OpenAI Service dalam langganan Azure yang diinginkan. Saat ini, akses ke layanan ini hanya diberikan oleh aplikasi. Anda dapat mengajukan permohonan akses ke Layanan Azure OpenAI dengan melengkapi formulir di https://aka.ms/oai/access.
  • Python 3.8 atau versi yang lebih baru.
  • Pustaka Python berikut: os.
  • Sumber daya Azure OpenAI Service dengan gpt-35-turbo model atau yang disebarkan gpt-4 . Untuk informasi selengkapnya tentang penyebaran model, lihat panduan penyebaran sumber daya.

Penyiapan

Instal pustaka klien OpenAI Python dengan:

pip install openai

Catatan

Pustaka ini dikelola oleh OpenAI dan saat ini dalam pratinjau. Lihat riwayat rilis atau riwayat penerapan version.py untuk melacak pembaruan terbaru ke pustaka.

Mengambil kunci dan titik akhir

Agar berhasil melakukan panggilan terhadap Azure OpenAI, Anda memerlukan titik akhir dan kunci.

Nama variabel Nilai
ENDPOINT Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Atau, Anda dapat menemukan nilainya di Azure OpenAI Studio>Playground>Tampilan Kode. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/.
API-KEY Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Anda dapat menggunakan KEY1 atau KEY2.

Buka sumber daya Anda di portal Azure. Bagian Kunci & Titik Akhir dapat ditemukan di bagian Manajemen Sumber Daya. Salin titik akhir dan kunci akses Anda karena keduanya diperlukan untuk mengautentikasi panggilan API Anda. Anda dapat menggunakan KEY1 atau KEY2. Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.

Cuplikan layar antarmuka pengguna gambaran umum untuk sumber daya Azure OpenAI di portal Azure dengan titik akhir dan lokasi kunci akses yang dilingkari dengan warna merah.

Variabel lingkungan

Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Membuat aplikasi Python baru

  1. Buat file Python baru yang disebut quickstart.py. Lalu buka file di editor atau IDE pilihan Anda.

  2. Ganti konten dari quickstart.py dengan kode berikut.

Anda perlu mengatur model variabel ke nama penyebaran yang Anda pilih saat menyebarkan model GPT-3.5-Turbo atau GPT-4. Memasukkan nama model akan mengakibatkan kesalahan kecuali Anda memilih nama penyebaran yang identik dengan nama model yang mendasar.

import os
from openai import AzureOpenAI

client = AzureOpenAI(
  azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"), 
  api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
  api_version="2024-02-01"
)

response = client.chat.completions.create(
    model="gpt-35-turbo", # model = "deployment_name".
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
        {"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
        {"role": "user", "content": "Do other Azure AI services support this too?"}
    ]
)

print(response.choices[0].message.content)

Penting

Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Untuk informasi selengkapnya tentang keamanan kredensial, lihat artikel keamanan layanan Azure AI.

  1. Jalankan aplikasi dengan python perintah pada file mulai cepat Anda:

    python quickstart.py
    

Output

{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "message": {
        "content": "Yes, most of the Azure AI services support customer managed keys. However, not all services support it. You can check the documentation of each service to confirm if customer managed keys are supported.",
        "role": "assistant"
      }
    }
  ],
  "created": 1679001781,
  "id": "chatcmpl-6upLpNYYOx2AhoOYxl9UgJvF4aPpR",
  "model": "gpt-3.5-turbo-0301",
  "object": "chat.completion",
  "usage": {
    "completion_tokens": 39,
    "prompt_tokens": 58,
    "total_tokens": 97
  }
}
Yes, most of the Azure AI services support customer managed keys. However, not all services support it. You can check the documentation of each service to confirm if customer managed keys are supported.

Memahami struktur pesan

Model GPT-35-Turbo dan GPT-4 dioptimalkan untuk bekerja dengan input yang diformat sebagai percakapan. Variabel messages melewati array kamus dengan peran yang berbeda dalam percakapan yang digambarkan oleh sistem, pengguna, dan asisten. Pesan sistem dapat digunakan untuk memandikan model dengan menyertakan konteks atau instruksi tentang bagaimana model harus merespons.

Panduan cara GPT-35-Turbo & GPT-4 menyediakan pengenalan mendalam tentang opsi untuk berkomunikasi dengan model baru ini.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya. Sebelum menghapus sumber daya, Anda harus terlebih dahulu menghapus model yang disebarkan.

Langkah berikutnya

  • Pelajari selengkapnya tentang cara bekerja dengan GPT-35-Turbo dan model GPT-4 dengan panduan cara kami.
  • Untuk contoh selengkapnya, lihat repositori GitHub Sampel Azure OpenAI

Spesifikasi REST API |

Prasyarat

  • Langganan Azure - Buat langganan gratis.
  • Akses yang diberikan ke Azure OpenAI Service dalam langganan Azure yang diinginkan. Saat ini, akses ke layanan ini hanya diberikan oleh aplikasi. Anda dapat mengajukan permohonan akses ke Layanan Azure OpenAI dengan melengkapi formulir di https://aka.ms/oai/access.
  • Sumber daya Azure OpenAI Service dengan gpt-35-turbo model atau yang disebarkan gpt-4 . Untuk informasi selengkapnya tentang penyebaran model, lihat panduan penyebaran sumber daya.

Penyiapan

Mengambil kunci dan titik akhir

Agar berhasil melakukan panggilan terhadap Azure OpenAI, Anda memerlukan titik akhir dan kunci.

Nama variabel Nilai
ENDPOINT Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Atau, Anda dapat menemukan nilainya di Azure OpenAI Studio>Playground>Tampilan Kode. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/.
API-KEY Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Anda dapat menggunakan KEY1 atau KEY2.

Buka sumber daya Anda di portal Azure. Bagian Kunci & Titik Akhir dapat ditemukan di bagian Manajemen Sumber Daya. Salin titik akhir dan kunci akses Anda karena keduanya diperlukan untuk mengautentikasi panggilan API Anda. Anda dapat menggunakan KEY1 atau KEY2. Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.

Cuplikan layar antarmuka pengguna gambaran umum untuk sumber daya Azure OpenAI di portal Azure dengan titik akhir dan lokasi kunci akses yang dilingkari dengan warna merah.

Variabel lingkungan

Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

REST API

Di shell bash, jalankan perintah berikut. Anda harus mengganti gpt-35-turbo dengan nama penyebaran yang Anda pilih saat menyebarkan model GPT-35-Turbo atau GPT-4. Memasukkan nama model akan mengakibatkan kesalahan kecuali Anda memilih nama penyebaran yang identik dengan nama model yang mendasar.

curl $AZURE_OPENAI_ENDPOINT/openai/deployments/gpt-35-turbo/chat/completions?api-version=2024-02-01 \
  -H "Content-Type: application/json" \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -d '{"messages":[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},{"role": "user", "content": "Do other Azure AI services support this too?"}]}'

Format baris pertama perintah Anda dengan contoh titik akhir akan muncul sebagai berikut curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/chat/completions?api-version=2024-02-01 \ Jika Anda mengalami pemeriksaan ganda kesalahan untuk memastikan bahwa Anda tidak memiliki dua kali lipat pada / pemisahan antara titik akhir Anda dan /openai/deployments.

Jika Anda ingin menjalankan perintah ini dalam perintah Windows normal, Anda harus mengubah teks untuk menghapus \ hentian baris dan .

Penting

Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Untuk informasi selengkapnya tentang keamanan kredensial, lihat artikel keamanan layanan Azure AI.

Output

{"id":"chatcmpl-6v7mkQj980V1yBec6ETrKPRqFjNw9",
"object":"chat.completion","created":1679072642,
"model":"gpt-35-turbo",
"usage":{"prompt_tokens":58,
"completion_tokens":68,
"total_tokens":126},
"choices":[{"message":{"role":"assistant",
"content":"Yes, other Azure AI services also support customer managed keys. Azure AI services offer multiple options for customers to manage keys, such as using Azure Key Vault, customer-managed keys in Azure Key Vault or customer-managed keys through Azure Storage service. This helps customers ensure that their data is secure and access to their services is controlled."},"finish_reason":"stop","index":0}]}

Pemformatan output yang disesuaikan untuk kemudahan membaca, output aktual adalah satu blok teks tanpa hentian baris.

Memahami struktur pesan

Model GPT-35-Turbo dan GPT-4 dioptimalkan untuk bekerja dengan input yang diformat sebagai percakapan. Variabel messages melewati array kamus dengan peran yang berbeda dalam percakapan yang digambarkan oleh sistem, pengguna, dan asisten. Pesan sistem dapat digunakan untuk memandikan model dengan menyertakan konteks atau instruksi tentang bagaimana model harus merespons.

Panduan cara GPT-35-Turbo & GPT-4 menyediakan pengenalan mendalam tentang opsi untuk berkomunikasi dengan model baru ini.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya. Sebelum menghapus sumber daya, Anda harus terlebih dahulu menghapus model yang disebarkan.

Langkah berikutnya

  • Pelajari selengkapnya tentang cara bekerja dengan GPT-35-Turbo dan model GPT-4 dengan panduan cara kami.
  • Untuk contoh selengkapnya, lihat repositori GitHub Sampel Azure OpenAI

Prasyarat

  • Langganan Azure - buat langganan gratis
  • Akses yang diberikan ke Azure OpenAI Service dalam langganan Azure yang diinginkan. Saat ini, akses ke layanan ini hanya diberikan oleh aplikasi. Anda dapat mengajukan permohonan akses ke Layanan Azure OpenAI dengan melengkapi formulir di https://aka.ms/oai/access.
  • Anda dapat menggunakan versi terbaru, PowerShell 7, atau Windows PowerShell 5.1.
  • Sumber daya Azure OpenAI Service dengan model yang sudah disebarkan. Untuk informasi selengkapnya tentang penyebaran model, lihat panduan penyebaran sumber daya.
  • Sumber daya Azure OpenAI Service dengan gpt-35-turbo model atau yang disebarkan gpt-4 . Untuk informasi selengkapnya tentang penyebaran model, lihat panduan penyebaran sumber daya.

Mengambil kunci dan titik akhir

Agar berhasil melakukan panggilan terhadap Azure OpenAI, Anda memerlukan titik akhir dan kunci.

Nama variabel Nilai
ENDPOINT Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Atau, Anda dapat menemukan nilainya di Azure OpenAI Studio>Playground>Tampilan Kode. Contoh titik akhir adalah: https://docs-test-001.openai.azure.com/.
API-KEY Nilai ini dapat ditemukan di bagian Kunci & Titik Akhir saat memeriksa sumber daya Anda dari portal Microsoft Azure. Anda dapat menggunakan KEY1 atau KEY2.

Buka sumber daya Anda di portal Azure. Titik Akhir dan Kunci dapat ditemukan di bagian Manajemen Sumber Daya. Salin titik akhir dan kunci akses Anda karena keduanya diperlukan untuk mengautentikasi panggilan API Anda. Anda dapat menggunakan KEY1 atau KEY2. Selalu miliki dua kunci untuk memungkinkan Anda memutar dan meregenerasi kunci dengan aman tanpa menyebabkan gangguan layanan.

Cuplikan layar UI gambaran umum untuk sumber daya Azure OpenAI di portal Azure dengan titik akhir & lokasi kunci akses dilingkari dengan warna merah.

Buat dan tetapkan variabel lingkungan persisten untuk kunci dan titik akhir Anda.

Variabel lingkungan

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

Membuat skrip PowerShell baru

  1. Buat file PowerShell baru yang disebut quickstart.ps1. Lalu buka file di editor atau IDE pilihan Anda.

  2. Ganti konten quickstart.ps1 dengan kode berikut. Anda perlu mengatur engine variabel ke nama penyebaran yang Anda pilih saat menyebarkan model GPT-35-Turbo atau GPT-4. Memasukkan nama model akan mengakibatkan kesalahan kecuali Anda memilih nama penyebaran yang identik dengan nama model yang mendasar.

    # 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
    $messages = @()
    $messages += @{
      role = 'system'
      content = 'You are a helpful assistant.'
    }
    $messages += @{
      role = 'user'
      content = 'Does Azure OpenAI support customer managed keys?'
    }
    $messages += @{
      role = 'assistant'
      content = 'Yes, customer managed keys are supported by Azure OpenAI.'
    }
    $messages += @{
      role = 'user'
      content = 'Do other Azure AI services support this too?'
    }
    
    # Header for authentication
    $headers = [ordered]@{
       'api-key' = $openai.api_key
    }
    
    # Adjust these values to fine-tune completions
    $body = [ordered]@{
       messages = $messages
    } | ConvertTo-Json
    
    # Send a request to generate an answer
    $url = "$($openai.api_base)/openai/deployments/$($openai.name)/chat/completions?api-version=$($openai.api_version)"
    
    $response = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json'
    return $response
    

    Penting

    Untuk produksi, gunakan cara aman untuk menyimpan dan mengakses kredensial Anda seperti Manajemen Rahasia PowerShell dengan Azure Key Vault. Untuk informasi selengkapnya tentang keamanan kredensial, lihat artikel keamanan layanan Azure AI.

  3. Jalankan skrip menggunakan PowerShell:

    ./quickstart.ps1
    

Output

# the output of the script will be a .NET object containing the response
id      : chatcmpl-7sdJJRC6fDNGnfHMdfHXvPkYFbaVc
object  : chat.completion
created : 1693255177
model   : gpt-35-turbo
choices : {@{index=0; finish_reason=stop; message=}}
usage   : @{completion_tokens=67; prompt_tokens=55; total_tokens=122}

# convert the output to JSON
./quickstart.ps1 | ConvertTo-Json -Depth 3

# or to view the text returned, select the specific object property
$reponse = ./quickstart.ps1
$response.choices.message.content

Memahami struktur pesan

Model GPT-35-Turbo dan GPT-4 dioptimalkan untuk bekerja dengan input yang diformat sebagai percakapan. Variabel messages melewati array kamus dengan peran yang berbeda dalam percakapan yang digambarkan oleh sistem, pengguna, dan asisten. Pesan sistem dapat digunakan untuk memandikan model dengan menyertakan konteks atau instruksi tentang bagaimana model harus merespons.

Panduan cara GPT-35-Turbo & GPT-4 menyediakan pengenalan mendalam tentang opsi untuk berkomunikasi dengan model baru ini.

Membersihkan sumber daya

Jika Anda ingin membersihkan dan menghapus sumber daya Azure OpenAI, Anda dapat menghapus sumber daya. Sebelum menghapus sumber daya, Anda harus terlebih dahulu menghapus model yang disebarkan.

Langkah berikutnya

  • Pelajari selengkapnya tentang cara bekerja dengan GPT-35-Turbo dan model GPT-4 dengan panduan cara kami.
  • Untuk contoh selengkapnya, lihat repositori GitHub Sampel Azure OpenAI