Skip to main content

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 ディレクトリ内のコードもご参照ください。

コントリビューション

本プロジェクトへの貢献を歓迎します。

  1. リポジトリをフォークしてください。
  2. 新しいブランチを作成して変更を加えてください。
  3. プルリクエストを作成し、変更内容の説明を記載してください。

詳細は 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

agentsarcadia-0.1.2.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentsarcadia-0.1.2-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

Details for the file agentsarcadia-0.1.2.tar.gz.

File metadata

  • Download URL: agentsarcadia-0.1.2.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for agentsarcadia-0.1.2.tar.gz
Algorithm Hash digest
SHA256 4b1b248ac3d3be5cbec881d4afb83c5a65699c340743778a5cf7485d90acdeb0
MD5 cc802367c21ec47e1d8b5635a0be732f
BLAKE2b-256 6211038b05c27c784e920c2504d757bd48ac0c55db4aa42d817a079f764bb380

See more details on using hashes here.

File details

Details for the file agentsarcadia-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: agentsarcadia-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 3.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for agentsarcadia-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f25e28f3c5a14c2af21564ba397ca0cfbc0e9f5f299a0cef43c3d96a816c494c
MD5 9594c1ebf1c1c433bea8cb877238d864
BLAKE2b-256 07bc6b8312624e1dbf695532fd375af4f69894ae5c4990b90a528b39bd2ad8be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page