Heim >Backend-Entwicklung >Python-Tutorial >AISuite: Vereinfachte GenAI-Integration über mehrere LLM-Anbieter hinweg

AISuite: Vereinfachte GenAI-Integration über mehrere LLM-Anbieter hinweg

Susan Sarandon
Susan SarandonOriginal
2024-12-18 07:26:181016Durchsuche

Generative KI (Gen AI) verändert Branchen mit ihrem Potenzial für Kreativität, Problemlösung und Automatisierung. Allerdings stehen Entwickler bei der Integration großer Sprachmodelle (LLMs) verschiedener Anbieter aufgrund fragmentierter APIs und Konfigurationen oft vor großen Herausforderungen. Dieser Mangel an Interoperabilität verkompliziert Arbeitsabläufe, verlängert die Entwicklungszeiten und behindert die Erstellung effektiver Gen-AI-Anwendungen.

Um dieses Problem anzugehen, hat das Team von Andrew Ng AISuite eingeführt, eine Open-Source-Python-Bibliothek, die die Integration von LLMs über Anbieter wie OpenAI, Anthropic und Ollama hinweg optimiert. Mit AISuite können Entwickler mit einer einfachen „provider:model“-Zeichenfolge (z. B. openai:gpt-4o oder anthropic:claude-3-5) zwischen Modellen wechseln, sodass keine umfangreichen Code-Umschreibungen erforderlich sind. Durch die Bereitstellung einer einheitlichen Schnittstelle reduziert AISuite die Komplexität erheblich, beschleunigt die Entwicklung und eröffnet neue Möglichkeiten für die Erstellung vielseitiger Gen-AI-Anwendungen.

In diesem Artikel werden wir die Funktionsweise von AISuite, seine praktischen Anwendungen und seine Wirksamkeit bei der Bewältigung der Herausforderungen bei der Arbeit mit verschiedenen LLMs untersuchen.

Erste Schritte

Inhaltsverzeichnis

  • Was ist AISuite
  • Warum ist AISuite wichtig?
  • Experimentieren mit AISuite
  • Erstellen eines Chat-Abschlusses
  • Erstellen einer generischen Funktion zum Abfragen

Was ist AISuite?

AISuite ist eine Open-Source-Python-Bibliothek, die vom Team von Andrew Ng entwickelt wurde, um die Integration und Verwaltung großer Sprachmodelle (LLMs) mehrerer Anbieter zu vereinfachen. Es abstrahiert die Komplexität der Arbeit mit verschiedenen APIs, Konfigurationen und Datenformaten und bietet Entwicklern ein einheitliches Framework zur Optimierung ihrer Arbeitsabläufe.

Hauptmerkmale von AISuite:

  • Einfache Schnittstelle: AISuite bietet eine einfache und konsistente Schnittstelle für die Verwaltung verschiedener LLMs. Entwickler können Modelle mit nur wenigen Codezeilen in ihre Anwendungen integrieren und so die Eintrittsbarrieren für Gen-AI-Projekte deutlich senken.
  • Unified Framework: Durch die Abstraktion der Unterschiede zwischen mehreren APIs verarbeitet AISuite nahtlos verschiedene Arten von Anfragen und Antworten. Dies reduziert den Entwicklungsaufwand und beschleunigt Prototyping und Bereitstellung.
  • Einfacher Modellwechsel: Mit AISuite ist der Wechsel zwischen Modellen so einfach wie das Ändern einer einzelnen Zeichenfolge im Code. Entwickler können beispielsweise eine „Anbieter:Modell“-Kombination wie openai:gpt-4o oder anthropic:claude-3-5 angeben, ohne wesentliche Teile ihrer Anwendung neu zu schreiben.
  • Erweiterbarkeit: AISuite ist so konzipiert, dass es sich an die sich entwickelnde Generation-KI-Landschaft anpasst. Entwickler können neue Modelle und Anbieter hinzufügen, sobald diese verfügbar sind, und so sicherstellen, dass Anwendungen mit den neuesten KI-Funktionen auf dem neuesten Stand bleiben.

Warum ist AISuite wichtig?

AISuite behebt einen kritischen Schwachpunkt im Ökosystem der Gen-KI: die mangelnde Interoperabilität zwischen LLMs verschiedener Anbieter. Durch die Bereitstellung einer einheitlichen Schnittstelle wird der Entwicklungsprozess vereinfacht, wodurch Zeit gespart und Kosten gesenkt werden. Diese Flexibilität ermöglicht es Teams, die Leistung zu optimieren, indem sie das beste Modell für bestimmte Aufgaben auswählen.

Erste Benchmarks und Community-Feedback unterstreichen die Fähigkeit von AISuite, die Integrationszeit für Anwendungen mit mehreren Modellen zu verkürzen und so die Effizienz und Produktivität der Entwickler zu verbessern. Während das Gen AI-Ökosystem wächst, senkt AISuite die Hürden für das Experimentieren, Erstellen und Skalieren von KI-gestützten Lösungen.

Experimentieren mit AISuite

Beginnen wir mit der Erkundung von AISuite, indem wir die erforderlichen Abhängigkeiten installieren.

Abhängigkeiten installieren

  • Erstellen und aktivieren Sie eine virtuelle Umgebung, indem Sie den folgenden Befehl ausführen.
python -m venv venv
source venv/bin/activate #for ubuntu
venv/Scripts/activate #for windows
  • Installieren Sie die Bibliotheken aisuite, openai und python-dotenv mit pip.
pip install aisuite[all] openai python-dotenv

AISuite: Simplifying GenAI integration across multiple LLM providers

Umgebung und Anmeldeinformationen einrichten

Erstellen Sie eine Datei mit dem Namen .env. In dieser Datei werden Ihre Umgebungsvariablen gespeichert, einschließlich des OpenAI-Schlüssels.

  • Öffnen Sie die .env-Datei und fügen Sie den folgenden Code hinzu, um Ihren OpenAI-API-Schlüssel anzugeben:
OPENAI_API_KEY=sk-proj-7XyPjkdaG_gDl0_...
GROQ_API_KEY=gsk_8NIgj24k2P0J5RwrwoOBW...
  • Fügen Sie API-Schlüssel zu den Umgebungsvariablen hinzu.
import os
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')
os.environ['ANTHROPIC_API_KEY'] = getpass('Enter your ANTHROPIC API key: ')

Initialisieren Sie den AISuite-Client

Erstellen Sie eine Instanz des AISuite-Clients und ermöglichen Sie so eine standardisierte Interaktion mit mehreren LLMs.

python -m venv venv
source venv/bin/activate #for ubuntu
venv/Scripts/activate #for windows

Abfrage des Modells

Der Benutzer kann das Modell mit AISuite wie folgt abfragen.

pip install aisuite[all] openai python-dotenv
  • model="openai:gpt-4o": Gibt Typ und Version des Modells an.
  • messages=messages: Sendet die zuvor definierte Eingabeaufforderung an das Modell.
  • Temperatur=0,75: Passt die Zufälligkeit der Antwort an. Höhere Werte fördern kreative Ergebnisse, während niedrigere Werte deterministischere Ergebnisse liefern.
  • response.choices[0].message.content: Ruft den Textinhalt aus der Antwort des Modells ab.

Erstellen eines Chat-Abschlusses

Erstellen wir einen Chat-Abschlusscode mithilfe des OpenAI-Modells.

OPENAI_API_KEY=sk-proj-7XyPjkdaG_gDl0_...
GROQ_API_KEY=gsk_8NIgj24k2P0J5RwrwoOBW...
  • Führen Sie die App mit dem folgenden Befehl aus.
import os
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')
os.environ['ANTHROPIC_API_KEY'] = getpass('Enter your ANTHROPIC API key: ')

Sie erhalten die folgende Ausgabe:

AISuite: Simplifying GenAI integration across multiple LLM providers

Erstellen einer generischen Funktion zum Abfragen

Anstatt separaten Code zum Aufrufen verschiedener Modelle zu schreiben, erstellen wir eine generische Funktion, um Codewiederholungen zu vermeiden und die Effizienz zu verbessern.

client = ai.Client()
Defining the prompt
The prompt syntax closely resembles OpenAI’s structure, incorporating roles and content.

messages = [
   {"role": "system", "content": "You are a helpful assistant."},
   {"role": "user", "content": "Tell a joke in 1 line."}
]

Die Ask-Funktion ist ein wiederverwendbares Dienstprogramm zum Senden von Abfragen an ein KI-Modell. Es akzeptiert die folgenden Parameter:

  • Nachricht: Die Anfrage oder Eingabeaufforderung des Benutzers. sys_message (optional): Eine Anweisung auf Systemebene, um das Verhalten des Modells zu steuern.
  • Modell: Gibt das zu verwendende KI-Modell an. Die Funktion verarbeitet die Eingabeparameter, sendet sie an das angegebene Modell und gibt die Antwort der KI zurück, was sie zu einem vielseitigen Werkzeug für die Interaktion mit verschiedenen Modellen macht.

Unten finden Sie den vollständigen Code für die Interaktion mit dem OpenAI-Modell mithilfe der generischen Ask-Funktion.

# openai model
response = client.chat.completions.create(model="openai:gpt-4o", messages=messages, temperature=0.75)
# ollama model
response = client.chat.completions.create(model="ollama:llama3.1:8b", messages=messages, temperature=0.75)
# anthropic model
response = client.chat.completions.create(model="anthropic:claude-3-5-sonnet-20241022", messages=messages, temperature=0.75)
# groq model
response = client.chat.completions.create(model="groq:llama-3.2-3b-preview", messages=messages, temperature=0.75)
print(response.choices[0].message.content)

Das Ausführen des Codes erzeugt die folgende Ausgabe.

AISuite: Simplifying GenAI integration across multiple LLM providers

Interaktion mit mehreren APIs

Lassen Sie uns die Interaktion mit mehreren Modellen mithilfe von AISuite anhand des folgenden Codes untersuchen.

import os
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')

import aisuite as ai

client = ai.Client()

provider = "openai"
model_id = "gpt-4o"

messages = [
    {"role": "system", "content": "You are a helpful assistant"},
    {"role": "user", "content": "Provide an overview of the latest trends in AI"},
]

response = client.chat.completions.create(
    model = f"{provider}:{model_id}",
    messages = messages,
)

print(response.choices[0].message.content)

Bei der Interaktion mit Anbietern wie Anthropic oder Groq kann es zu Herausforderungen kommen. Hoffentlich geht das AISuite-Team diese Probleme aktiv an, um eine nahtlose Integration und Funktionalität sicherzustellen.

AISuite ist ein leistungsstarkes Tool zum Navigieren in der Landschaft großer Sprachmodelle. Es ermöglicht Benutzern, die Stärken mehrerer KI-Anbieter zu nutzen und gleichzeitig die Entwicklung zu rationalisieren und Innovationen zu fördern. Mit seiner Open-Source-Basis und dem intuitiven Design ist AISuite ein Eckpfeiler für die moderne KI-Anwendungsentwicklung.

Vielen Dank für das Lesen dieses Artikels!!

Vielen Dank an Gowri M Bhatt für die Überprüfung des Inhalts.

Wenn Ihnen dieser Artikel gefallen hat, klicken Sie bitte auf den Herz-Button ♥ und teilen Sie ihn, damit andere ihn finden können!

Den vollständigen Quellcode für dieses Tutorial finden Sie hier,

GitHub – codemaker2015/aisuite-examples: github.com

Ressourcen

GitHub – andrewyng/aisuite: Einfache, einheitliche Schnittstelle zu mehreren Anbietern generativer KI: github.com

Das obige ist der detaillierte Inhalt vonAISuite: Vereinfachte GenAI-Integration über mehrere LLM-Anbieter hinweg. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn