目次
目次
データ分析エージェントの動作
Langgraphを使用してデータ分析エージェントを構築します
前提条件
Langgraphを使用してデータ分析エージェントを構築する手順
1.必要なライブラリをインポートします。
2。状態を定義しましょう。
3. LLMとコード実行関数を定義し、関数をLLMに結合します。
4.エージェントが返信する関数を定義し、グラフにノードとして追加します。
5.ツールノードを定義し、グラフに追加します。
6.エージェントとチャットできるようにメモリを追加しましょう。
7.グラフをコンパイルして表示します。
8。これでチャットを開始できます。メモリを追加したので、各会話に一意のスレッド_IDを与え、そのスレッドで会話を開始します。
Crewaiでデータ分析エージェントを構築します
2。コードを生成するための1つのエージェントと、そのコードを実行するための別のエージェントを構築します。
3。コードを実行するには、pythonRepl()を使用します。 Crewaiツールとして定義します。
4。REPLおよびFILEREADTOOL()にアクセスして実行エージェントとタスクを定義します
5.エージェントと対応するタスクの両方で乗組員を構築します。
6.次の入力で乗組員を実行します。
オートゲンを使用したデータ分析エージェントの構築
2。コードエグゼキューターとエージェントを定義して、コードエグゼキューターを使用します。
3.カスタムシステムメッセージを使用してコードを書き込むエージェントを定義します。
4.チャットを解決して開始する問題を定義します。
5.このコードを使用して、当社が尋ねた質問とその回答を印刷することもできます。
Langgraph vs Crewai vs Autogen
結論
よくある質問
ホームページ テクノロジー周辺機器 AI Langchain vs Crewai vs Autogen vs Data分析エージェントを構築する

Langchain vs Crewai vs Autogen vs Data分析エージェントを構築する

Mar 17, 2025 am 09:24 AM

今日のデータ駆動型の世界では、組織はデータアナリストに依存して、複雑なデータセットを解釈し、実用的な洞察を明らかにし、意思決定を推進しています。しかし、AIを使用してこのプロセスの効率とスケーラビリティを向上させることができたらどうでしょうか?データ分析エージェントを入力して、分析タスクを自動化し、コードを実行し、データクエリに適応的に応答します。 Langgraph、Crewai、およびAutogenは、AIエージェントの構築に使用される3つの一般的なフレームワークです。この記事の3つすべてを使用して比較して、簡単なデータ分析エージェントを構築します。

目次

  • データ分析エージェントの動作
  • Langgraphを使用してデータ分析エージェントを構築します
    • 前提条件
  • Langgraphを使用してデータ分析エージェントを構築する手順
    • 1.必要なライブラリをインポートします。
    • 2。状態を定義しましょう。
    • 3. LLMとコード実行関数を定義し、関数をLLMに結合します。
    • 4.エージェントが返信する関数を定義し、グラフにノードとして追加します。
    • 5.ツールノードを定義し、グラフに追加します。
    • 6.エージェントとチャットできるようにメモリを追加しましょう。
    • 7.グラフをコンパイルして表示します。
    • 8。これでチャットを開始できます。メモリを追加したので、各会話に一意のスレッド_IDを与え、そのスレッドで会話を開始します。
  • Crewaiでデータ分析エージェントを構築します
    • 1.必要なライブラリをインポートします。
    • 2。コードを生成するための1つのエージェントと、そのコードを実行するための別のエージェントを構築します。
    • 3。コードを実行するには、pythonRepl()を使用します。 Crewaiツールとして定義します。
    • 4。REPLおよびFILEREADTOOL()にアクセスして実行エージェントとタスクを定義します
    • 5.エージェントと対応するタスクの両方で乗組員を構築します。
    • 6.次の入力で乗組員を実行します。
  • オートゲンを使用したデータ分析エージェントの構築
    • 1.必要なライブラリをインポートします。
    • 2。コードエグゼキューターとエージェントを定義して、コードエグゼキューターを使用します。
    • 3.カスタムシステムメッセージを使用してコードを書き込むエージェントを定義します。
    • 4.チャットを解決して開始する問題を定義します。
    • 5.このコードを使用して、当社が尋ねた質問とその回答を印刷することもできます。
  • Langgraph vs Crewai vs Autogen
  • よくある質問

データ分析エージェントの動作

データ分析エージェントは、最初にユーザーからクエリを取得し、コードを生成してファイルを読み取り、ファイル内のデータを分析します。次に、Python Replツールを使用して生成されたコードが実行されます。コードの結果はエージェントに送り返されます。次に、エージェントはコード実行ツールから受信した結果を分析し、ユーザークエリに返信します。 LLMSは任意のコードを生成できるため、ローカル環境でLLMで生成されたコードを慎重に実行する必要があります。

Langgraphを使用してデータ分析エージェントを構築します

あなたがこのトピックに慣れていない場合、またはLanggraphの知識を磨きたい場合、ここに私がお勧めする記事があります:Langgraphとは何ですか?

前提条件

エージェントを構築する前に、必要なLLMに必要なAPIキーがあることを確認してください。

.ENVファイルに必要なAPIキーをロードします。

 dotenvインポートload_dotenvから

load_dotenv(./ env)
ログイン後にコピー

重要なライブラリが必要です

Langchain - 0.3.7

Langchain-Experimal - 0.3.3

Langgraph - 0.2.52

CREWAI - 0.80.0

CREWAI-TOOLS - 0.14.0

Autogen-AgentChat - 0.2.38

私たちがすべて設定したので、エージェントの構築を始めましょう。

Langgraphを使用してデータ分析エージェントを構築する手順

1.必要なライブラリをインポートします。

 PDとしてパンダをインポートします
ipython.displayからインポート画像、表示
インポートリストの入力から、リテラル、オプション、typeddict、注釈
langchain_core.toolsインポートツールから
langchain_core.messagesからインポートツールメッセージ
langchain_experimental.utilitiesからpythonreplをインポートします
langchain_openaiからChatopenaiをインポートします
langgraph.graphからstategraphをインポートする、開始、終了
langgraph.graph.messageからインポートadd_messagesから
langgraph.prebuiltインポートツールノード、tools_conditionから
langgraph.checkpoint.memoryインポートメモリセーバーから
ログイン後にコピー

2。状態を定義しましょう。

クラス状態(typeddict):
	メッセージ:注釈[リスト、add_messages]
graph_builder = stategraph(state)
ログイン後にコピー

3. LLMとコード実行関数を定義し、関数をLLMに結合します。

 llm = chatopenai(model = "gpt-4o-mini"、温度= 0.1)

@道具
def python_repl(code:annotated [str "filename from" from "]):
    "" "これを使用してファイルから読み取ります。値の出力を確認したい場合は、
    コードを正しく読み取るようにしてください
    「プリント(...)」で印刷する必要があります。これはユーザーに表示されます。 "" "

    試す:
        result = pythonrepl()。run(code)
        print( "結果コード実行:"、result)
    eとしてのbaseexceptionを除く:
        return f "実行に失敗しました。エラー:{repr(e)}"
    return f "exected:\ n```python \ n {code} \ n``` \ nstdout:{result}"

llm_with_tools = llm.bind_tools([python_repl])
ログイン後にコピー

4.エージェントが返信する関数を定義し、グラフにノードとして追加します。

 def chatbot(state:state):
    return {"メッセージ":[llm_with_tools.invoke(state ["messages"])]}
    
graph_builder.add_node( "agent"、chatbot)
ログイン後にコピー

5.ツールノードを定義し、グラフに追加します。

 code_execution = toolnode(tools = [python_repl])

graph_builder.add_node( "tools"、code_execution)
ログイン後にコピー

LLMがツール呼び出しを返す場合、ツールノードにルーティングする必要があります。それ以外の場合は、終了できます。ルーティングの関数を定義しましょう。その後、他のエッジを追加できます。

 def route_tools(state:state、):
    "" "
    最後のメッセージの場合、conditional_EdgeでToolNodeにルーティングするために使用します
    ツール呼び出しがあります。それ以外の場合は、最後までルーティングします。
    "" "
    ISINSTANCE(STATE、LIST)の場合:
        ai_message = state [-1]
    elifメッセージ:= state.get( "messages"、[]):
        ai_message =メッセージ[-1]
    それ以外:
        Raise ValueError(f "入力状態からtool_edge:{state}"にあるメッセージはありません ")
    hasattr(ai_message、 "tool_calls")およびlen(ai_message.tool_calls)> 0の場合:
        「ツール」を返す
    端を返します
    
graph_builder.add_conditional_edges(
    "エージェント"、
    route_tools、
    {"Tools": "Tools"、end:end}、
))

graph_builder.add_edge( "tools"、 "agent")
ログイン後にコピー

6.エージェントとチャットできるようにメモリを追加しましょう。

 Memory = MemorySaver()

graph = graph_builder.compile(checkpointer = memory)
ログイン後にコピー

7.グラフをコンパイルして表示します。

 graph = graph_builder.compile(checkpointer = memory)

display(image(graph.get_graph()。draw_mermaid_png()))
ログイン後にコピー

8。これでチャットを開始できます。メモリを追加したので、各会話に一意のスレッド_IDを与え、そのスレッドで会話を開始します。

 config = {"configureable":{"swreet_id": "1"}}

def stream_graph_updates(user_input:str):
    events = graph.stream(
        {"メッセージ":[( "user"、user_input)]}、config、stream_mode = "values"
    ))
    イベントでのイベントの場合:
        event ["メッセージ"] [-1] .pretty_print()
        
本当です:
    user_input = input( "user:")
    user_input.lower()の場合["quit"、 "exit"、 "q"]:
        印刷( "さようなら!")
        壊す
    stream_graph_updates(user_input)
ログイン後にコピー

ループが実行されている間、ファイルのパスを提供し、データに基づいて質問をすることから始めます。

出力は次のとおりです。

Langchain vs Crewai vs Autogen vs Data分析エージェントを構築する

メモリが含まれているため、チャットのデータセットに関する質問をすることができます。エージェントは必要なコードを生成すると、コードが実行されます。コード実行結果はLLMに送信されます。例を以下に示します。

Langchain vs Crewai vs Autogen vs Data分析エージェントを構築する

また読む:Langgraphでパーソナライズされたニュースダイジェストエージェントを作成する方法

Crewaiでデータ分析エージェントを構築します

次に、データ分析タスクにCrewaiを使用します。

1.必要なライブラリをインポートします。

クルワイ輸入エージェント、タスク、乗組員から
CREWAI.TOOLSインポートツールから
CREWAI_TOOLSからImport DirectoryReadTool、FileReadToolから
langchain_experimental.utilitiesからpythonreplをインポートします
ログイン後にコピー

2。コードを生成するための1つのエージェントと、そのコードを実行するための別のエージェントを構築します。

 coding_agent = agent(
	役割= "Python開発者"、
	goal = "指定された問題に答えるためのよく設計された考え方のあるコード」、
	Backstory = "" "あなたはソフトウェアとそのベストプラクティスで豊富な経験を持つシニアPython開発者です。
            	クリーンで効率的でスケーラブルなコードを書くことに関する専門知識があります。 "" "、
	llm = 'gpt-4o'、
	human_input = true、
))
coding_task = task(
	説明= "" "指定された問題に答えるためのコードを書き込みます
                	コード出力を「結果」変数に割り当てます
                    	問題:{問題}、
                    	"" "、
	expected_output = "問題の結果を取得するコード。コードの出力は「結果」変数に割り当てる必要があります。
	agent = coding_agent
))
ログイン後にコピー

3。コードを実行するには、pythonRepl()を使用します。 Crewaiツールとして定義します。

 @tool( "REPL")
def Repl(code:str) - > str:
	"" "Pythonコードの実行に役立つ" ""
	pythonrepl()。run(command = code)を返します
ログイン後にコピー

4。REPLおよびFILEREADTOOL()にアクセスして実行エージェントとタスクを定義します

execting_agent = agent(
	role = "python executor"、
	目標= "受信したコードを実行して指定された問題に答える"、
	Backstory = "" "あなたはソフトウェアとそのベストプラクティスで豊富な経験を持つPython開発者です。
            	「コードを実行し、デバッグし、Pythonソリューションを効果的に最適化できます。」 ""、
	llm = 'gpt-4o-mini'、
	human_input = true、
	ツール= [REPL、fileReadTool()]
))
execting_task = task(
	説明= "" "コードを実行して、指定された問題に応答します
                	コード出力を「結果」変数に割り当てます
                    	問題:{問題}、
                    	"" "、
	expects_output = '問題の結果'、
	agent = execting_agent
))
ログイン後にコピー

5.エージェントと対応するタスクの両方で乗組員を構築します。

 Analysis_Crew = Crew(
	エージェント= [coding_agent、execting_agent]、
	tasks = [coding_task、executing_task]、
	verbose = true
))
ログイン後にコピー

6.次の入力で乗組員を実行します。

入力= {'問題': "" "このファイルを読んで列名を返して平均年齢を見つけます
   "/home/santhosh/projects/code/langgraph/gym_members_excise_tracking.csv" ""、}

result = Analysis_crew.kickoff(inputs = inputs)

印刷(result.raw)
ログイン後にコピー

出力がどのように見えるかは次のとおりです。

Langchain vs Crewai vs Autogen vs Data分析エージェントを構築する

また読む:CREWAIとコードなしでLLMエージェントを飛行中にビルドする

オートゲンを使用したデータ分析エージェントの構築

1.必要なライブラリをインポートします。

 Autogen Import ConversableAgentから
autogen.coding Import localcommandlinecodeexecutor、dockercommandlinecodeexecutorから
ログイン後にコピー

2。コードエグゼキューターとエージェントを定義して、コードエグゼキューターを使用します。

 executor = localcommandlinecodeexecutor(
	Timeout = 10、#各コード実行のタイムアウトは数秒で。
	work_dir = '。/data'、#ディレクトリを使用してコードファイルを保存します。
))
code_executor_agent = conventableagent(
	「code_executor_agent」、
	llm_config = false、
	code_execution_config = {"executor":executor}、
	human_input_mode = "Always"、
))
ログイン後にコピー

3.カスタムシステムメッセージを使用してコードを書き込むエージェントを定義します。

https://microsoft.github.io/autogen/0.2/docs/tutorial/code-executors/からcode_writerシステムメッセージを受け取ります


code_writer_agent = conventableagent(
    「code_writer_agent」、
    System_message = code_writer_system_message、
    llm_config = {"config_list":[{"model": "gpt-4o-mini"}]}、
    code_execution_config = false、
))
ログイン後にコピー

4.チャットを解決して開始する問題を定義します。

問題= "" "パスでファイルを読む '/home/santhosh/projects/code/langgraph/gym_members_exercise_tracking.csv'
        	そして、人々の平均年齢を印刷します。 "" "

chat_result = code_executor_agent.initiate_chat(
	code_writer_agent、
	メッセージ=問題、
))
ログイン後にコピー

チャットが始まると、上記のデータセットに関する後続の質問をすることもできます。コードがエラーに遭遇した場合、コードの変更を求めることができます。コードが問題ない場合は、「Enter」を押してコードを実行し続けることができます。

5.このコードを使用して、当社が尋ねた質問とその回答を印刷することもできます。

 chat_result.chat_historyのメッセージについて:
    メッセージ['role'] == 'アシスタント'の場合:
        「exitcode」がメッセージ['content']にない場合:
            print(message ['content'])
            印刷( '\ n')
            
    それ以外:
        メッセージ['content']で「終了」する場合:        
            print(message ['content'])
            print( "------------------------------------------")
ログイン後にコピー

これが結果です:

Langchain vs Crewai vs Autogen vs Data分析エージェントを構築する

また読む:オートゲンを使用したマルチエージェントチャットボットを構築するための実践ガイド

Langgraph vs Crewai vs Autogen

3つのフレームワークすべてを使用してデータ分析エージェントを構築することを学んだので、コード実行に関しては、それらの違いを調べてみましょう。

フレームワーク 重要な機能 強み に最適です
ランググラフ - グラフベースの構造(ノードはエージェント/ツールを表し、エッジは相互作用を定義します)
- PythonReplとのシームレスな統合
- 構造化されたマルチステップワークフローを作成するのに非常に柔軟です
- タスク全体でメモリ保存を伴う安全で効率的なコード実行
明確でカスタマイズ可能なワークフローを必要とする複雑でプロセス駆動型の分析タスク
クルワイ - コラボレーション中心
- 事前定義された役割と並行して作業する複数のエージェント
- Langchainツールと統合します
- タスク指向のデザイン
- チームワークと役割の専門化に最適です
- PythonReplで安全で信頼できるコード実行をサポートします
共同データ分析、コードレビューのセットアップ、タスク分解、およびロールベースの実行
オートゲン - 動的および反復コードの実行
- インタラクティブな実行とデバッグのための会話可能なエージェント
- 組み込みチャット機能
- アダプティブおよび会話のワークフロー
- 動的な相互作用とデバッグに焦点を当てます
- 迅速なプロトタイピングとトラブルシューティングに最適です
迅速なプロトタイピング、トラブルシューティング、およびタスクと要件が頻繁に進化する環境

結論

この記事では、Langgraph、Crewai、およびAutogenを使用してデータ分析エージェントを構築する方法を示しました。これらのフレームワークにより、エージェントはコードを生成、実行、分析して、データクエリを効率的に対処できます。繰り返しタスクを自動化することにより、これらのツールはデータ分析をより速く、よりスケーラブルにします。モジュラー設計により、特定のニーズに合わせてカスタマイズが可能になり、データの専門家にとって価値があります。これらのエージェントは、ワークフローを簡素化し、データから洞察を簡単に抽出するAIの可能性を示しています。

AIエージェントの詳細については、排他的なエージェントAIパイオニアプログラムをチェックアウトしてください!

よくある質問

Q1。データ分析のためにLanggraph、Crewai、AutogenなどのAIフレームワークを使用することの重要な利点は何ですか?

A.これらのフレームワークは、コード生成と実行を自動化し、データの処理と洞察を高速化することを可能にします。ワークフローを合理化し、手動の努力を減らし、データ駆動型タスクの生産性を高めます。

Q2。これらのデータ分析エージェントは、複数のデータセットまたは複雑なクエリを処理できますか?

A.はい、エージェントは、適切なツールを統合してワークフローを調整することにより、多様なデータセットと複雑な分析クエリを処理するようにカスタマイズできます。

Q3。 LLMで生成されたコードを実行するときに、どのような予防策を講じるべきですか?

A. LLM生成コードには、エラーまたは危険な操作が含まれる場合があります。実行前に正確性とセキュリティを確保するために、制御された環境のコードを常に検証してください。

Q4。メモリ統合はこれらのデータ分析エージェントをどのように強化しますか?

A.メモリ統合により、エージェントは過去の相互作用のコンテキストを保持し、複雑またはマルチステップクエリで適応的な応答と連続性を可能にします。

Q5。これらのデータ分析エージェントはどのような種類のタスクを自動化できますか?

A.これらのエージェントは、ファイルの読み取り、データクリーニングの実行、概要の生成、統計分析の実行、データに関するユーザークエリへの回答などのタスクを自動化できます。

以上がLangchain vs Crewai vs Autogen vs Data分析エージェントを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

クリエイティブプロジェクトのための最高のAIアートジェネレーター(無料&有料) クリエイティブプロジェクトのための最高のAIアートジェネレーター(無料&有料) Apr 02, 2025 pm 06:10 PM

この記事では、トップAIアートジェネレーターをレビューし、その機能、創造的なプロジェクトへの適合性、価値について説明します。 Midjourneyを専門家にとって最高の価値として強調し、高品質でカスタマイズ可能なアートにDall-E 2を推奨しています。

Meta Llama 3.2を始めましょう - 分析Vidhya Meta Llama 3.2を始めましょう - 分析Vidhya Apr 11, 2025 pm 12:04 PM

メタのラマ3.2:マルチモーダルとモバイルAIの前進 メタは最近、ラマ3.2を発表しました。これは、モバイルデバイス向けに最適化された強力なビジョン機能と軽量テキストモデルを特徴とするAIの大幅な進歩です。 成功に基づいてo

ベストAIチャットボットが比較されました(chatgpt、gemini、claude& more) ベストAIチャットボットが比較されました(chatgpt、gemini、claude& more) Apr 02, 2025 pm 06:09 PM

この記事では、ChatGpt、Gemini、ClaudeなどのトップAIチャットボットを比較し、自然言語の処理と信頼性における独自の機能、カスタマイズオプション、パフォーマンスに焦点を当てています。

ChatGpt 4 oは利用できますか? ChatGpt 4 oは利用できますか? Mar 28, 2025 pm 05:29 PM

CHATGPT 4は現在利用可能で広く使用されており、CHATGPT 3.5のような前任者と比較して、コンテキストを理解し、一貫した応答を生成することに大幅な改善を示しています。将来の開発には、よりパーソナライズされたインターが含まれる場合があります

トップAIライティングアシスタントは、コンテンツの作成を後押しします トップAIライティングアシスタントは、コンテンツの作成を後押しします Apr 02, 2025 pm 06:11 PM

この記事では、Grammarly、Jasper、Copy.ai、Writesonic、RytrなどのトップAIライティングアシスタントについて説明し、コンテンツ作成のためのユニークな機能に焦点を当てています。 JasperがSEOの最適化に優れているのに対し、AIツールはトーンの維持に役立つと主張します

AIエージェントを構築するためのトップ7エージェントRAGシステム AIエージェントを構築するためのトップ7エージェントRAGシステム Mar 31, 2025 pm 04:25 PM

2024年は、コンテンツ生成にLLMSを使用することから、内部の仕組みを理解することへの移行を目撃しました。 この調査は、AIエージェントの発見につながりました。これは、最小限の人間の介入でタスクと決定を処理する自律システムを処理しました。 buildin

最高のAI音声ジェネレーターの選択:レビューされたトップオプション 最高のAI音声ジェネレーターの選択:レビューされたトップオプション Apr 02, 2025 pm 06:12 PM

この記事では、Google Cloud、Amazon Polly、Microsoft Azure、IBM Watson、DecriptなどのトップAI音声ジェネレーターをレビューし、機能、音声品質、さまざまなニーズへの適合性に焦点を当てています。

従業員へのAI戦略の販売:Shopify CEOのマニフェスト 従業員へのAI戦略の販売:Shopify CEOのマニフェスト Apr 10, 2025 am 11:19 AM

Shopify CEOのTobiLütkeの最近のメモは、AIの能力がすべての従業員にとって基本的な期待であると大胆に宣言し、会社内の重大な文化的変化を示しています。 これはつかの間の傾向ではありません。これは、pに統合された新しい運用パラダイムです

See all articles