Azure OpenAI-bibliotheek voor TypeScript - 2.0.0
De Azure OpenAI-service biedt toegang tot geavanceerde AI-modellen voor het maken van gesprekken, het maken van inhoud en gebruiksvoorbeelden voor gegevensgronding. De Azure OpenAI-bibliotheek voor TypeScript is een aanvulling op de officiële OpenAI-clientbibliotheek voor JavaScript-. De Azure OpenAI-bibliotheek biedt extra sterk getypte ondersteuning voor aanvraag- en antwoordmodellen die specifiek zijn voor Azure OpenAI-scenario's.
Migreren vanuit @azure/openai versie 1⚠ ️
Bekijk de Migratiehandleiding voor gedetailleerde instructies over het bijwerken van uw toepassingscode van versie 1.x van de Azure OpenAI-clientbibliotheek naar de openai
-bibliotheek.
Sleutelkoppelingen:
Slag
Momenteel ondersteunde omgevingen
- LTS-versies van Node.js
- Nieuwste versies van Safari, Chrome, Edge en Firefox.
Voorwaarden
Als u een Azure OpenAI-resource wilt gebruiken, moet u een
Installeer zowel openai
als @azure/openai
Installeer de Azure OpenAI-clientbibliotheek en de OpenAI-bibliotheek voor JavaScript met npm
:
npm install openai @azure/openai
Een AzureOpenAI
maken en verifiëren
Er zijn verschillende manieren om te verifiëren met de Azure OpenAI-service en de aanbevolen manier is om Microsoft Entra-id te gebruiken voor veilige, sleutelloze verificatie via de Azure Identity-bibliotheek. Aan de slag:
Installeer het Azure Identity-pakket:
npm install @azure/identity
Maak een tokenprovider door de
getBearerTokenProvider
aan te roepen met het gewenste referentietype. Bijvoorbeeld: DefaultAzureCredential-:import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity"; const credential = new DefaultAzureCredential(); const scope = "https://cognitiveservices.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope);
Maak de client door de tokenprovider door te geven:
import { AzureOpenAI } from "openai"; const deployment = "Your deployment name"; const apiVersion = "2024-10-21"; const client = new AzureOpenAI({ azureADTokenProvider, deployment, apiVersion });
Ververleent toegang tot uw Azure OpenAI-resource aan uw vertrouwde entiteiten door instructies te volgen in Azure OpenAI-service configureren met Microsoft Entra ID-verificatie.
Sleutelbegrippen
Assistenten
Zie
Audiotranscriptie/vertaling en generatie van tekst-naar-spraak
Zie OpenAI-mogelijkheden: spraak-naar-tekst.
Batch
Zie Batch API-handleiding van OpenAI.
Chatvoltooiing
Chatmodellen nemen een lijst met berichten als invoer en retourneren een door een model gegenereerd bericht als uitvoer. Hoewel de chat-indeling is ontworpen om gesprekken met meerdere paden eenvoudig te maken, is het ook handig voor taken met één draai zonder gesprek.
Zie OpenAI-mogelijkheden: Voltooiing van chat.
Installatiekopieën genereren
Zie OpenAI-mogelijkheden:voor het genereren van installatiekopieën.
Archief
Zie Naslaginformatie over de Bestanden-API van OpenAI.
Tekst insluitingen
Zie OpenAI-mogelijkheden: Insluitingen.
Voorbeelden
In deze sectie vindt u voorbeelden van het gebruik van de functies van de Azure OpenAI-service. Bekijk voor meer voorbeelden de map voorbeelden.
Zakelijke gegevens analyseren
In dit TypeScript-voorbeeld worden chatantwoorden gegenereerd om chatvragen over uw bedrijfsgegevens in te voeren. De bedrijfsgegevens worden verstrekt via een Azure Cognitive Search-index. Zie de quickstart: Chatten met Azure OpenAI-modellen met behulp van uw eigen gegevensvoor meer informatie over het instellen van een Azure Cognitive Search-index als gegevensbron.
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();
Inhoudsfiltering chatvoltooiingen
Azure OpenAI Service bevat een inhoudsfiltersysteem dat naast kernmodellen werkt. Dit systeem detecteert en onderneemt actie op specifieke categorieën van mogelijk schadelijke inhoud in zowel invoerprompts als uitvoervoltooiingen. In dit voorbeeld ziet u hoe u toegang hebt tot deze resultaten voor het filteren van inhoud.
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();
Volgende stappen
Probleemoplossing
Raadpleeg de officiële OpenAI-clientbibliotheek voor JavaScript-.
Bijdragen
Zie de OpenAI-CONTRIBUTING.md voor meer informatie over het bouwen, testen en bijdragen aan deze bibliotheek.
Dit project verwelkomt bijdragen en suggesties. Voor de meeste bijdragen moet u akkoord gaan met een Licentieovereenkomst voor inzenders (CLA) waarin wordt aangegeven dat u het recht hebt om, en daadwerkelijk, ons de rechten te verlenen om uw bijdrage te gebruiken. Ga naar cla.microsoft.comvoor meer informatie.
Wanneer u een pull-aanvraag indient, bepaalt een CLA-bot automatisch of u een CLA moet opgeven en de pull-aanvraag op de juiste wijze moet inrichten (bijvoorbeeld label, opmerking). Volg gewoon de instructies van de bot. U hoeft dit slechts eenmaal te doen voor alle opslagplaatsen met behulp van onze CLA.
Dit project heeft de Microsoft Open Source-gedragscodeaangenomen. Zie de Veelgestelde vragen over gedragscodes of neem contact op met opencode@microsoft.com met aanvullende vragen of opmerkingen voor meer informatie.
Azure SDK for JavaScript