Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure OpenAI Service menyediakan akses ke model AI tingkat lanjut untuk kasus percakapan, pembuatan konten, dan penggunaan data grounding. Pustaka Azure OpenAI untuk TypeScript adalah pendamping pustaka klien OpenAI resmi untuk JavaScript. Pustaka Azure OpenAI menyediakan dukungan tambahan yang ditik dengan kuat untuk model permintaan dan respons khusus untuk skenario Azure OpenAI.
Migrasi dari ️ penasihat versi 1
Lihat panduan Migrasi untuk instruksi terperinci tentang cara memperbarui kode aplikasi Anda dari versi 1.x pustaka klien Azure OpenAI ke pustaka openai.
Tautan kunci:
- Kode sumber
- Paket
(NPM) - dokumentasi referensi API
- dokumentasi produk
- Sampel
Persiapan
Lingkungan yang saat ini didukung
- versi LTS Node.js
- Versi terbaru Safari, Chrome, Edge, dan Firefox.
Prasyarat
Jika Anda ingin menggunakan sumber daya Azure OpenAI, Anda harus memiliki langganan Azure
Instal openai dan @azure/openai
Instal pustaka klien Azure OpenAI dan pustaka OpenAI untuk JavaScript dengan npm:
npm install openai @azure/openai
Membuat dan mengautentikasi AzureOpenAI
Ada beberapa cara untuk mengautentikasi dengan layanan Azure OpenAI dan cara yang disarankan adalah dengan menggunakan ID Microsoft Entra untuk autentikasi tanpa kunci yang aman melalui pustaka Azure Identity . Untuk memulai:
-
npm install @azure/identity Buat penyedia token dengan memanggil
getBearerTokenProviderdengan jenis kredensial yang diinginkan. Misalnya, DefaultAzureCredential:import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity"; const credential = new DefaultAzureCredential(); const scope = "https://cognitiveservices.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope);Buat klien dengan meneruskan penyedia token:
import { AzureOpenAI } from "openai"; const deployment = "Your deployment name"; const apiVersion = "2024-10-21"; const client = new AzureOpenAI({ azureADTokenProvider, deployment, apiVersion });
Berikan akses ke sumber daya Azure OpenAI Anda ke entitas tepercaya Anda dengan mengikuti instruksi di Cara mengonfigurasi Layanan Azure OpenAI dengan autentikasi ID Microsoft Entra.
Konsep utama
Asisten
Lihat gambaran umum Assistants API OpenAI .
Transkripsi/terjemahan audio dan pembuatan teks ke ucapan
Lihat Kemampuan OpenAI: Ucapan ke teks.
Batch
Lihatpanduan API Batch OpenAI
Penyelesaian obrolan
Model obrolan mengambil daftar pesan sebagai input dan mengembalikan pesan yang dihasilkan model sebagai output. Meskipun format obrolan dirancang untuk membuat percakapan multi-giliran menjadi mudah, ini juga berguna untuk tugas giliran tunggal tanpa percakapan apa pun.
Lihat Kemampuan OpenAI: Penyelesaian obrolan.
Pembuatan gambar
Lihat Kemampuan OpenAI: Pembuatan gambar.
File
Lihat referensi Files API OpenAI.
Penyematan teks
Lihat kemampuan OpenAI : Penyematan.
Contoh
Bagian ini menyediakan contoh penggunaan fitur Azure OpenAI Service. Untuk contoh tambahan, lihat folder sampel .
Menganalisis Data Bisnis
Contoh TypeScript ini menghasilkan respons obrolan untuk memasukkan pertanyaan obrolan tentang data bisnis Anda. Data bisnis disediakan melalui indeks Azure Cognitive Search. Untuk mempelajari selengkapnya tentang cara menyiapkan indeks Azure Cognitive Search sebagai sumber data, lihat Mulai Cepat: Obrolan dengan model Azure OpenAI menggunakan data Anda sendiri.
import { AzureOpenAI } from "openai";
import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
import "@azure/openai/types";
// Set AZURE_OPENAI_ENDPOINT to the endpoint of your
// Azure OpenAI resource. You can find this in the Azure portal.
import "dotenv/config";
// Your Azure Cognitive Search endpoint, and index name
const azureSearchEndpoint = process.env["AZURE_SEARCH_ENDPOINT"] || "<search endpoint>";
const azureSearchIndexName = process.env["AZURE_SEARCH_INDEX"] || "<search index>";
export async function main() {
console.log("== Azure On Your Data Sample ==");
const scope = "https://cognitiveservices.azure.com/.default";
const azureADTokenProvider = getBearerTokenProvider(new DefaultAzureCredential(), scope);
const deployment = "gpt-4-1106-preview";
const apiVersion = "2024-10-21";
const client = new AzureOpenAI({ azureADTokenProvider, deployment, apiVersion });
const events = await client.chat.completions.create({
stream: true,
messages: [
{
role: "user",
content:
"What's the most common feedback we received from our customers about the product?",
},
],
max_tokens: 128,
model: "",
data_sources: [
{
type: "azure_search",
parameters: {
endpoint: azureSearchEndpoint,
index_name: azureSearchIndexName,
authentication: {
type: "system_assigned_managed_identity",
},
},
},
],
});
for await (const event of events) {
for (const choice of event.choices) {
console.log(choice.delta?.content);
}
}
}
main();
Penyelesaian Obrolan yang difilter konten
Azure OpenAI Service menyertakan sistem pemfilteran konten yang berfungsi bersama model inti. Sistem ini mendeteksi dan mengambil tindakan pada kategori tertentu dari konten yang berpotensi berbahaya dalam perintah input dan penyelesaian output. Contoh ini menunjukkan cara mengakses hasil pemfilteran konten tersebut.
import { AzureOpenAI } from "openai";
import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
import "@azure/openai/types";
// Set AZURE_OPENAI_ENDPOINT to the endpoint of your
// OpenAI resource. You can find this in the Azure portal.
import "dotenv/config";
async function main() {
console.log("== Streaming Chat Completions Sample ==");
const scope = "https://cognitiveservices.azure.com/.default";
const azureADTokenProvider = getBearerTokenProvider(new DefaultAzureCredential(), scope);
const deployment = "gpt-35-turbo";
const apiVersion = "2024-10-21";
const client = new AzureOpenAI({ azureADTokenProvider, deployment, apiVersion });
const events = await client.chat.completions.create({
messages: [
{ role: "system", content: "You are a helpful assistant. You will talk like a pirate." },
{ role: "user", content: "Can you help me?" },
{ role: "assistant", content: "Arrrr! Of course, me hearty! What can I do for ye?" },
{ role: "user", content: "What's the best way to train a parrot?" },
],
model: "",
max_tokens: 128,
stream: true,
});
for await (const event of events) {
for (const choice of event.choices) {
console.log(`Chunk: ${choice.delta?.content}`);
const filterResults = choice.content_filter_results;
if (!filterResults) {
continue;
}
if (filterResults.error) {
console.log(
`\tContent filter ran into an error ${filterResults.error.code}: ${filterResults.error.message}`,
);
} else {
const { hate, sexual, selfHarm, violence } = filterResults;
console.log(
`\tHate category is filtered: ${hate?.filtered}, with ${hate?.severity} severity`,
);
console.log(
`\tSexual category is filtered: ${sexual?.filtered}, with ${sexual?.severity} severity`,
);
console.log(
`\tSelf-harm category is filtered: ${selfHarm?.filtered}, with ${selfHarm?.severity} severity`,
);
console.log(
`\tViolence category is filtered: ${violence?.filtered}, with ${violence?.severity} severity`,
);
}
}
}
}
main();
Langkah berikutnya
Pemecahan masalah
Lihat pustaka klien OpenAI resmi untuk JavaScript.
Berkontribusi
Lihat CONTRIBUTING.md OpenAI untuk detail tentang membangun, menguji, dan berkontribusi pada pustaka ini.
Proyek ini menyambut kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda menyetujui Perjanjian Lisensi Kontributor (CLA) yang menyatakan bahwa Anda memiliki hak untuk, dan benar-benar melakukannya, memberi kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi cla.microsoft.com.
Saat Anda mengirimkan permintaan pull, cla-bot akan secara otomatis menentukan apakah Anda perlu memberikan CLA dan menghias PR dengan tepat (misalnya, label, komentar). Cukup ikuti instruksi yang diberikan oleh bot. Anda hanya perlu melakukan ini sekali di semua repositori menggunakan CLA kami.
Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Kode Etik atau hubungi opencode@microsoft.com dengan pertanyaan atau komentar tambahan apa pun.
Azure SDK for JavaScript