Megosztás a következőn keresztül:


Azure OpenAI-kódtár TypeScripthez – 2.0.0

Az Azure OpenAI Service fejlett AI-modellekhez biztosít hozzáférést beszélgetési, tartalomlétrehozási és adat-földelési használati esetekhez. A TypeScripthez készült Azure OpenAI-kódtár a JavaScripthivatalos OpenAI-ügyfélkódtárának társa. Az Azure OpenAI-kódtár további, erősen gépelt támogatást nyújt az Azure OpenAI-forgatókönyvekre jellemző kérés- és válaszmodellekhez.

migrálás @azure/openai 1. verziójú tanácsadói⚠️

Az migrálási útmutatójában részletes útmutatást talál arról, hogyan frissítheti az alkalmazáskódot az Azure OpenAI-ügyfélkódtár 1.x verziójáról a openai kódtárra.

Főbb hivatkozások:

Kezdetekhez

Jelenleg támogatott környezetek

  • Node.js LTS-verziói
  • A Safari, a Chrome, az Edge és a Firefox legújabb verziói.

Előfeltételek

Ha Azure OpenAI-erőforrást szeretne használni, rendelkeznie kell egy Azure-előfizetési és Azure OpenAI-hozzáférési. További információ: rövid útmutató: Első lépések szöveg létrehozásához az Azure OpenAI Servicehasználatával.

Telepítse openai és @azure/openai

Telepítse az Azure OpenAI ügyfélkódtárat és a JavaScripthez készült OpenAI-kódtárat a npm:

npm install openai @azure/openai

AzureOpenAI létrehozása és hitelesítése

Az Azure OpenAI szolgáltatással többféleképpen is hitelesíthető, és az ajánlott módszer a Microsoft Entra ID használata a biztonságos, kulcs nélküli hitelesítéshez az Azure Identity-kódtár. Első lépések:

  1. Telepítse a Azure Identity-csomag:

    npm install @azure/identity
    
  2. Hozzon létre egy jogkivonat-szolgáltatót úgy, hogy meghívja a getBearerTokenProvider a kívánt hitelesítőadat-típussal. Például DefaultAzureCredential:

    import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
  3. Hozza létre az ügyfelet a jogkivonat-szolgáltatóban való átadással:

    import { AzureOpenAI } from "openai";
    
    const deployment = "Your deployment name";
    const apiVersion = "2024-10-21";
    const client = new AzureOpenAI({ azureADTokenProvider, deployment, apiVersion });
    

Adjon hozzáférést az Azure OpenAI-erőforráshoz a megbízható entitásoknak a Hogyan konfigurálhatja az Azure OpenAI szolgáltatást a Microsoft Entra ID-hitelesítéssel.

Főbb fogalmak

Asszisztensek

Lásd OpenAI Assistants API áttekintése.

Hangátirat/fordítás és szövegfelolvasás létrehozása

Lásd: OpenAI-képességek: Beszéd szöveggé.

Halom

Lásd OpenAI Batch API-útmutatóját.

Csevegés befejezése

A csevegőmodellek bemenetként az üzenetek listáját veszik fel, és kimenetként egy modell által generált üzenetet adnak vissza. Bár a csevegési formátum úgy lett kialakítva, hogy megkönnyítse a többfordulós beszélgetéseket, az egyfordulós feladatokhoz is hasznos, beszélgetés nélkül.

Lásd OpenAI-képességek: Csevegés befejezése.

Képgenerálás

Lásd OpenAI-képességek: Képgenerálási.

Fájlokat

Lásd OpenAI Files API-referencia.

Szövegbeágyazások

Lásd OpenAI-képességek: Beágyazások.

Példák

Ez a szakasz példákat tartalmaz az Azure OpenAI szolgáltatás funkcióinak használatára. További példákért tekintse meg a mintamappát.

Üzleti adatok elemzése

Ez a TypeScript-példa csevegési válaszokat hoz létre az üzleti adatokkal kapcsolatos csevegési kérdésekre. Az üzleti adatokat egy Azure Cognitive Search-index biztosítja. Az Azure Cognitive Search-index adatforrásként való beállításáról további információt a következő rövid útmutatóban talál: Csevegés Azure OpenAI-modellekkel saját adatokkal.

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();

Tartalomszűrési csevegések befejezései

Az Azure OpenAI Szolgáltatás tartalmaz egy tartalomszűrési rendszert, amely az alapvető modellek mellett működik. Ez a rendszer észleli és műveletet hajt végre a potenciálisan káros tartalom bizonyos kategóriáiban mind a bemeneti kérésekben, mind a kimeneti befejezésekben. Ez a példa bemutatja, hogyan érheti el ezeket a tartalomszűrési eredményeket.

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();

Következő lépések

Hibaelhárítás

Tekintse meg a JavaScripthivatalos OpenAI ügyfélkódtárát.

Hozzájárulás

A OpenAI CONTRIBUTING.md a kódtár létrehozásával, tesztelésével és közreműködésével kapcsolatos részletekért tekintse meg.

Ez a projekt üdvözli a hozzájárulásokat és javaslatokat. A legtöbb hozzájárulás megköveteli, hogy elfogadja a közreműködői licencszerződést (CLA), amely kimondja, hogy önnek joga van a hozzájárulás használatára, és valóban meg kell adnia nekünk a jogosultságokat a hozzájárulás használatára. A részletekért látogasson el a cla.microsoft.com.

A lekéréses kérelem elküldésekor a CLA-robot automatikusan meghatározza, hogy meg kell-e adnia egy CLA-t, és megfelelően kell-e díszítenie a lekéréses kérelmet (például címkét, megjegyzést). Egyszerűen kövesse a robot utasításait. Ezt csak egyszer kell elvégeznie az összes adattárban a CLA használatával.

Ez a projekt elfogadta a Microsoft nyílt forráskódú magatartási kódexének. További információ: magatartási kódex – gyakori kérdések, vagy további kérdésekkel vagy megjegyzésekkel forduljon opencode@microsoft.com.