LangGraphによるワークフロー構築を支援するエージェントツール agentsarcadia
Project description
Agents Arcadia
Agents Arcadia は、LLM(Large Language Model)を活用した柔軟なワークフロー自動化フレームワークです。
本プロジェクトは、LangGraph と langchain-openai を活用し、ユーザーのリクエストに基づいた動的な処理やツール呼び出しを実現します。
例えば、足し算、割り算(ゼロ除算エラーチェック付き)、数値比較といった基本的なツールを組み合わせることで、記事自動投稿やその他自動化シナリオへの応用が可能です。
特徴
-
モジュール化された構成:
nodes,prompts,states,tools,workflowsなどのディレクトリに機能が分割され、拡張性と保守性を向上。 -
LLM による動的判断:
langchain-openai を利用して、ユーザーリクエストに応じたツールの呼び出しや分岐処理を自動化します。 -
ツールの統合:
足し算、割り算、数値比較などのツールを標準装備。各ツールは柔軟に拡張可能です。 -
柔軟なワークフロー設計:
LangGraph を用いた分岐やエラーハンドリングを含む複雑なワークフローの構築が容易です。
インストール
PyPI で公開されている場合、以下のコマンドでインストールできます:
pip install agentsarcadia
使い方
以下は、簡単なワークフローを実行する例です。
この例では、ユーザーリクエストに基づき、LLM の判断を経て適切なツール(例:足し算)が呼び出されます。
import os
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from agentsarcadia.tools.add import add_tool
from agentsarcadia.tools.divide import divide_tool
from agentsarcadia.tools.compare_num import compare_tool
from agentsarcadia.tool_registry import ToolRegistry
from agentsarcadia.workflows.simple_flow import create_simple_workflow
from agentsarcadia.prompts.calculate import get_prompt
# .envファイルから環境変数を読み込む
load_dotenv()
# ChatOpenAIの初期化(temperature=0 で決定的な応答)
# 環境変数からAPIキーを取得
llm = ChatOpenAI(temperature=0, model_name="gpt-4o-mini", api_key=os.environ.get("OPENAI_API_KEY"))
# プロンプトを取得
prompt = get_prompt()
def setup_tools():
"""利用可能なツールを設定する"""
tool_registry = ToolRegistry()
tool_registry.register_tools({
"足し算": add_tool,
"割り算": divide_tool,
"数値比較": compare_tool,
})
return tool_registry
if __name__ == "__main__":
# ユーザーからのリクエスト例
# user_request = "3.11と3.9はどちらが大きいですか?"
# user_request = "3と5を足してください"
user_request = "10と3で割り算してください"
# ツールの設定
tool_registry = setup_tools()
# ワークフローの構築
graph = create_simple_workflow(llm, prompt, tool_registry)
graph.get_graph().draw_mermaid_png(output_file_path="workflow.png")
# 初期状態の作成
initial_state = {"user_request": user_request}
# ワークフローの実行
result = graph.invoke(initial_state)
print("最終結果:", result["result"])
詳細なサンプルコードは、sample ディレクトリ内のコードもご参照ください。
コントリビューション
本プロジェクトへの貢献を歓迎します。
- リポジトリをフォークしてください。
- 新しいブランチを作成して変更を加えてください。
- プルリクエストを作成し、変更内容の説明を記載してください。
詳細は CONTRIBUTING.md をご確認ください。
ライセンス
このプロジェクトは MIT License の下で公開されています。
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentsarcadia-0.1.3.tar.gz.
File metadata
- Download URL: agentsarcadia-0.1.3.tar.gz
- Upload date:
- Size: 9.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42561a3f433f77a87aaa1b807a962088df4c778ae658517c4c2075378cfd3662
|
|
| MD5 |
7ee4658c1f4c37a03e0f0f3bdbf5c74c
|
|
| BLAKE2b-256 |
22e9f7d5be055471c7db336dbc9b396adb9ed4d3a727faeae415a9368a598104
|
File details
Details for the file agentsarcadia-0.1.3-py3-none-any.whl.
File metadata
- Download URL: agentsarcadia-0.1.3-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54d8c2b321ac3991021dde5d7754e01014d2535d4c47780edd0db2774902972e
|
|
| MD5 |
de2f50e25cfded22de21b2f6b6803ad2
|
|
| BLAKE2b-256 |
a56303a2ab627ff9e7f35996e59b47812efa46aee78d42df734e442474efe70a
|