Die OpenAI API ermöglicht es, Anwendungen zu erstellen, die auf Benutzereingaben basierend Aktionen ausführen können. Dies kann beispielsweise das Durchsuchen des Internets, das Senden von E-Mails oder das Buchen von Tickets umfassen. In diesem Artikel werden wir uns mit der Verwendung der OpenAI API in Kombination mit dem Node.js SDK beschäftigen.
Um diesem Tutorial zu folgen, benötigen Sie einen Code-Editor und einen lokalen Server, wie z.B. VS Code Live Server. Alternativ können Sie auch direkt im Browser über das Code-Playground auf Scrimba arbeiten.
Wir werden eine einfache Anwendung erstellen, die einen Agenten implementiert, der Aktivitäten in Ihrem Bereich findet. Der Agent hat Zugriff auf zwei Funktionen: getLocation() und getCurrentWeather(), die es ihm ermöglichen, Ihre Lage und das aktuelle Wetter zu ermitteln.
Zunächst importieren wir das OpenAI SDK und authentifizieren uns mit unserem API-Schlüssel, der als Umgebungsvariable gespeichert ist.
```javascript import OpenAI from "openai";
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY, dangerouslyAllowBrowser: true, }); ```
Da wir unseren Code in einem Browser-Umgebung ausführen, müssen wir auch dangerouslyAllowBrowser: true setzen, um zu bestätigen, dass wir die Risiken von Client-seitigen API-Anfragen verstehen. Beachten Sie, dass Sie diese Anfragen in einer Produktionsanwendung auf einen Node-Server übertragen sollten.
Als nächstes erstellen wir die zwei Funktionen. Die erste Funktion, getLocation(), verwendet die IP API, um die Lage des Benutzers zu ermitteln.
javascript
async function getLocation() {
const response = await fetch("https://ipapi.co/json/");
const locationData = await response.json();
return locationData;
}
Die zweite Funktion, getCurrentWeather(), verwendet die Open Meteo API, um die aktuellen Wetterdaten zu ermitteln.
javascript
async function getCurrentWeather(latitude, longitude) {
const url = `https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}&hourly=apparent_temperature`;
const response = await fetch(url);
const weatherData = await response.json();
return weatherData;
}
Um OpenAI zu ermöglichen, die Zweckbestimmung unserer Funktionen zu verstehen, müssen wir sie mit einem bestimmten Schema beschreiben. Wir erstellen ein Array namens tools, das ein Objekt pro Funktion enthält. Jedes Objekt hat zwei Schlüssel: type und function, und der function-Schlüssel hat drei Unter-Schlüssel: name, description und parameters.
javascript
const tools = [
{
type: "function",
function: {
name: "getCurrentWeather",
description: "Get the current weather in a given location",
parameters: {
type: "object",
properties: {
latitude: {
type: "string",
},
longitude: {
type: "string",
},
},
required: ["longitude", "latitude"],
},
},
},
{
type: "function",
function: {
name: "getLocation",
description: "Get the user's location based on their IP address",
parameters: {
type: "object",
properties: {},
},
},
},
];
Wir müssen auch ein messages-Array definieren, das alle Nachrichten zwischen unserer Anwendung und OpenAI verfolgt.
javascript
const messages = [
{
role: "system",
content: "You are a helpful assistant. Only use the functions provided.",
},
];
Dies ist ein grundlegender Überblick über die Verwendung der OpenAI API in Kombination mit dem Node.js SDK. Wir haben gesehen, wie wir das SDK importieren, unsere Funktionen erstellen und beschreiben, und wie wir die Kommunikation zwischen unserer Anwendung und OpenAI einrichten.
* KI-Zusammenfassungen können Fehler enthalten. Alle Angaben ohne Gewähr.