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.
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:
- LTS-versies van Node.js
- Nieuwste versies van Safari, Chrome, Edge en Firefox.
Als u een Azure OpenAI-resource wilt gebruiken, moet u een
Installeer de Azure OpenAI-clientbibliotheek en de OpenAI-bibliotheek voor JavaScript met npm
:
npm install openai @azure/openai
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:
Bashnpm install @azure/identity
Maak een tokenprovider door de
getBearerTokenProvider
aan te roepen met het gewenste referentietype. Bijvoorbeeld: DefaultAzureCredential-:JavaScriptimport { 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:
JavaScriptimport { 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.
Zie
Zie OpenAI-mogelijkheden: spraak-naar-tekst.
Zie Batch API-handleiding van OpenAI.
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.
Zie OpenAI-mogelijkheden:voor het genereren van installatiekopieën.
Zie Naslaginformatie over de Bestanden-API van OpenAI.
Zie OpenAI-mogelijkheden: Insluitingen.
In deze sectie vindt u voorbeelden van het gebruik van de functies van de Azure OpenAI-service. Bekijk voor meer voorbeelden de map voorbeelden.
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();
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();
Raadpleeg de officiële OpenAI-clientbibliotheek voor JavaScript-.
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-feedback
Azure SDK for JavaScript is een open source project. Selecteer een koppeling om feedback te geven: