Beschreibung
magentic ist eine Python-Bibliothek, die entwickelt wurde, um die Integration von Large Language Models (LLMs) in Ihre Python-Projekte zu vereinfachen. Sie ermöglicht es Entwicklern, LLM-Interaktionen als Standard-Python-Funktionen zu behandeln und Decorators wie `@prompt` und `@chatprompt` zu nutzen, um Prompts zu definieren und strukturierte Ausgaben zu erhalten. Dieser Ansatz erleichtert die Erstellung hochentwickelter agentischer Systeme, indem LLM-Fähigkeiten nahtlos mit bestehendem Python-Code und externen Tools kombiniert werden.
Weiterlesen
Die Kernfunktionalität von magentic dreht sich um seine Decorators, die Python-Funktionen in LLM-gestützte Operationen umwandeln. Der `@prompt`-Decorator ermöglicht die Erstellung von Funktionen, die Argumente entgegennehmen, diese in eine vordefinierte Prompt-Vorlage einfügen und dann an ein LLM zur Verarbeitung senden. Die Ausgabe des LLM kann eine einfache Zeichenkette oder ein strukturiertes Objekt sein, wie z. B. ein Pydantic-Modell, dank Typ-Annotationen. Der `@chatprompt`-Decorator erweitert dies, indem er die Verwendung von Chat-Nachrichten-Vorlagen ermöglicht, einschließlich Systemnachrichten, Benutzernachrichten und Assistentennachrichten, was besonders nützlich für Few-Shot-Prompting und die Bereitstellung von Kontext ist.
magentic unterstützt erweiterte Funktionen wie Function Calling, bei dem das LLM entscheiden kann, bestimmte Python-Funktionen mit bereitgestellten Argumenten aufzurufen. Der `@prompt_chain`-Decorator verbessert dies weiter, indem er es LLMs ermöglicht, Funktionsaufrufe zu verketten und die Ausgabe eines Aufrufs als Eingabe für den nächsten zu verwenden, bis eine endgültige Antwort erreicht ist. Für Echtzeitanwendungen bietet magentic Streaming-Funktionen für Text- und strukturierte Ausgaben, sodass Entwickler Daten verarbeiten können, sobald sie generiert werden. Asynchrone Programmierung wird ebenfalls gut unterstützt, was gleichzeitige LLM-Abfragen ermöglicht, um die Generierungszeiten erheblich zu beschleunigen.
Die Bibliothek bietet breite Unterstützung für LLM-Anbieter, darunter OpenAI, Anthropic und Ollama, mit Konfigurationen für verschiedene OpenAI-kompatible APIs. Diese Flexibilität ermöglicht es Entwicklern, das LLM zu wählen, das ihren Anforderungen und ihrem Budget am besten entspricht. magentic legt auch Wert auf die Entwicklererfahrung mit Funktionen wie Typ-Annotationen für eine bessere IDE-Integration und Beobachtbarkeit durch OpenTelemetry- und Logfire-Integration. Es wurde für Entwickler entwickelt, die intelligente Anwendungen, KI-Agenten und komplexe Workflows erstellen möchten, die die Leistung von LLMs in einer vertrauten Python-Umgebung nutzen.
- KategorieKI-Agenten-Builder
- PreismodellOpen Source
- BereitstellungCloud
- PlattformenWeb
magentic's Kernfunktionen
LLMs als Python-Funktionen mithilfe von Decorators integrieren.
Prompts mit @prompt und Chat-Nachrichten mit @chatprompt definieren.
Strukturierte Ausgaben mithilfe von Pydantic-Modellen und Python-Typen generieren.
Unterstützung für LLM-gestützte Wiederholungsversuche zur Verbesserung der Einhaltung des Ausgabeschemas.
Beobachtbarkeit mit OpenTelemetry- und Pydantic Logfire-Integration.
Konfigurationsoptionen für mehrere LLM-Anbieter (OpenAI, Anthropic, Ollama).
Function Calling und Chaining für komplexe LLM-Workflows.
Streaming von Text- und strukturierten Ausgaben für die Echtzeitverarbeitung.
Asynchrone Funktionsunterstützung für gleichzeitige LLM-Abfragen.
Typ-Annotationen für verbesserte IDE-Unterstützung und Linting.
Unterstützung für Vision-Fähigkeiten bei LLM-Interaktionen.
Erste Schritte mit magentic
Repository klonen: git clone https://github.com/jackmpcollins/magentic.git
Abhängigkeiten installieren: pip install magentic
LLM API-Schlüssel konfigurieren: Umgebungsvariablen wie OPENAI_API_KEY setzen.
LLM-Funktionen definieren: @prompt oder @chatprompt Decorators verwenden.
LLM-Funktionen ausführen: Die dekorierten Python-Funktionen aufrufen.
Ausgaben integrieren: Strukturierte Ausgaben oder gestreamte Daten in Ihrer Anwendung verwenden.
magentic's Anwendungsfälle
- Entwicklung von KI-Agenten
- Extraktion strukturierter Daten
- Content-Generierung
- Automatisierte Workflows
- Chatbot-Entwicklung
- Tool-Integration
- Unterstützung bei der Datenanalyse








