説明
magenticは、Pythonプロジェクトへの大規模言語モデル(LLM)の統合を簡素化するために設計されたPythonライブラリです。開発者は、LLMとの対話を標準的なPython関数として扱い、`@prompt`や`@chatprompt`のようなデコレータを活用してプロンプトを定義し、構造化された出力を受け取ることができます。このアプローチにより、LLMの機能と既存のPythonコードおよび外部ツールをシームレスに融合させ、洗練されたエージェントシステムを作成することが容易になります。
続きを読む
magenticのコア機能は、Python関数をLLMパワーの操作に変換するデコレータを中心に展開しています。`@prompt`デコレータを使用すると、引数を受け取り、それを定義済みのプロンプトテンプレートに挿入し、それをLLMに送信して処理する関数を作成できます。LLMからの出力は、型アノテーションのおかげで、単純な文字列またはPydanticモデルのような構造化されたオブジェクトにすることができます。`@chatprompt`デコレータは、システムメッセージ、ユーザーメッセージ、アシスタントメッセージを含むチャットメッセージテンプレートの使用を可能にすることでこれを拡張しており、これはfew-shotプロンプティングやコンテキストの提供に特に役立ちます。
magenticは、LLMが提供された引数で特定のPython関数を呼び出すことを決定できる関数呼び出しのような高度な機能をサポートしています。`@prompt_chain`デコレータは、LLMが関数呼び出しをチェーン化し、最終的な回答が得られるまで、1つの呼び出しの出力を次の呼び出しの入力として使用できるようにすることで、これをさらに強化します。リアルタイムアプリケーション向けに、magenticはテキストと構造化された出力の両方のストリーミング機能を提供し、開発者は生成されたデータを処理できます。非同期プログラミングも十分にサポートされており、並列LLMクエリを可能にして生成時間を大幅に短縮できます。
このライブラリは、OpenAI、Anthropic、Ollamaを含む幅広いLLMプロバイダーをサポートしており、さまざまなOpenAI互換APIの設定も可能です。この柔軟性により、開発者はニーズと予算に最適なLLMを選択できます。magenticは、IDE統合の向上とOpenTelemetryおよびLogfire統合によるオブザーバビリティのための型アノテーションなどの機能により、開発者エクスペリエンスも重視しています。これは、使い慣れたPython環境内でLLMのパワーを活用するインテリジェントアプリケーション、AIエージェント、および複雑なワークフローを構築したい開発者向けに設計されています。
- カテゴリーAI エージェントビルダー
- 料金モデルオープンソース
- デプロイクラウド
- プラットフォームWeb
magenticの主要機能
デコレータを使用してLLMをPython関数として統合します。
`@prompt`でプロンプトを定義し、`@chatprompt`でチャットメッセージを定義します。
PydanticモデルとPython型を使用して構造化された出力を生成します。
出力スキーマへの準拠を改善するためのLLM支援によるリトライをサポートします。
OpenTelemetryおよびPydantic Logfire統合によるオブザーバビリティ。
複数のLLMプロバイダー(OpenAI、Anthropic、Ollama)の設定オプション。
複雑なLLMワークフローのための関数呼び出しとチェーン化。
リアルタイム処理のためのテキストおよび構造化された出力のストリーミング。
並列LLMクエリのための非同期関数サポート。
IDEサポートとリンティングを強化するための型アノテーション。
LLM対話におけるビジョン機能のサポート。
magenticをはじめる
リポジトリをクローンする: git clone https://github.com/jackmpcollins/magentic.git
依存関係をインストールする: pip install magentic
LLM APIキーを設定する: OPENAI_API_KEYなどの環境変数を設定します。
LLM関数を定義する: `@prompt`または`@chatprompt`デコレータを使用します。
LLM関数を実行する: デコレートされたPython関数を呼び出します。
出力を統合する: アプリケーションで構造化された出力またはストリーミングデータを使用します。
magenticの使用例
- AIエージェント開発
- 構造化データ抽出
- コンテンツ生成
- 自動化ワークフロー
- チャットボット開発
- ツール統合
- データ分析支援








