openai-api-rs Rust: Vollständige Anleitung mit Codebeispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

openai-api-rs für Rust: Vollständige Anleitung mit Codebeispielen

Die Bibliothek openai-api-rs ist ein moderner, asynchroner und typsicherer Client für die OpenAI API, geschrieben in Rust. Sie bietet Entwicklern eine komfortable Schnittstelle zur Interaktion mit GPT-Modellen (einschließlich GPT-4, GPT-3.5), DALL-E (Bildgenerierung), Whisper (Spracherkennung) sowie für Embeddings, Content-Moderation und Dateiverwaltung. Die Bibliothek unterstützt vollständig das Streaming von Antworten, was für die Entwicklung interaktiver Chat-Anwendungen und Assistenten mit geringer Latenz unerlässlich ist.

Warum Rust für die OpenAI API nutzen? Rust bietet höchste Leistung und Speichersicherheit ohne Garbage Collector. Das macht openai-api-rs zur idealen Wahl für hochlastige Serveranwendungen, Telegram-/Discord-Bots, Echtzeit-NLP-Systeme und eingebettete Geräte. Dank des strengen Typsystems von Rust werden viele Fehler (z. B. falsches Anfrageformat) bereits zur Kompilierzeit abgefangen, nicht erst zur Laufzeit. Die Bibliothek basiert auf reqwest und tokio, was eine effiziente asynchrone I/O-Verarbeitung gewährleistet.

Auf der Bildungsplattform PythonLib zeigen wir diese Bibliothek, um zu demonstrieren, wie das Rust-Ökosystem für Machine Learning und NLP-Aufgaben eingesetzt werden kann. Selbst wenn Sie in Python entwickeln, hilft Ihnen das Verständnis von Rust-Clients, die interne Funktionsweise von API-Anfragen und die Prinzipien der Stream-Datenverarbeitung besser zu verstehen. Die Bibliothek wird aktiv von der Community gepflegt, verfügt über eine ausführliche Dokumentation und ist umfassend getestet.

Installation

Um die Bibliothek openai-api-rs in Ihr Rust-Projekt zu integrieren, führen Sie folgenden Befehl im Terminal im Stammverzeichnis Ihres Projekts aus:

cargo add openai-api-rs

Dieser Befehl fügt die neueste Version der Bibliothek Ihrer Cargo.toml hinzu. Wenn Sie die manuelle Bearbeitung bevorzugen, fügen Sie folgende Zeile im Abschnitt [dependencies] ein:

[dependencies]
openai-api-rs = "0.2"  # Prüfen Sie die aktuelle Version auf crates.io

Außerdem benötigen Sie eine asynchrone Laufzeitumgebung. Wir empfehlen die Verwendung von tokio:

cargo add tokio --features full

Vergessen Sie nicht, die Umgebungsvariable OPENAI_API_KEY mit Ihrem OpenAI-API-Schlüssel zu setzen. Dies können Sie im Terminal erledigen:

export OPENAI_API_KEY="sk-ihr_schluessel_hier"

Alternativ können Sie den Schlüssel direkt im Code übergeben (für die Produktion nicht empfohlen).

Schnellstart

Ein minimales funktionsfähiges Beispiel: Senden einer einfachen Anfrage an das GPT-3.5-Modell und Ausgabe der Antwort in der Konsole.

use openai_api_rs::v1::api::Client;
use openai_api_rs::v1::chat_completion::{ChatCompletionRequest, Message};
use std::env;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Client erstellen, API-Schlüssel aus Umgebungsvariable
    let client = Client::new(env::var("OPENAI_API_KEY")?);

    // Anfrage erstellen
    let request = ChatCompletionRequest::new(
        "gpt-3.5-turbo".to_string(),
        vec![Message {
            role: "user".to_string(),
            content: "Schreibe ein kurzes Gedicht über Rust".to_string(),
        }],
    );

    // Anfrage senden und Antwort empfangen
    let response = client.chat_completion(request).await?;

    // Antworttext extrahieren
    if let Some(choice) = response.choices.first() {
        println!("Antwort: {}", choice.message.content);
    }

    Ok(())
}

Starten Sie das Programm mit dem Befehl cargo run. Sie sollten ein generiertes Gedicht sehen. Dieses Beispiel zeigt die grundlegende Mechanik: Client-Erstellung, Anfrage-Formulierung und Antwortverarbeitung.

Grundlegende Methoden

Empfehlungen