CrewaiフローでAIワークフローを合理化します!この強力なフレームワークは、AIエージェント間の相互作用を調整するための構造化されたパターンを提供し、開発者がコーディングタスクとクルーを堅牢なAIオートメーションのシームレスに統合できるようにします。 Crewaiのエージェントフローは、イベント主導のワークフローを提供し、AIアプリケーション内のタスク調整、国家管理、および実行制御を簡素化します。
目次
- 乗組員とは何ですか?
- フローを理解する
- ワークフロー制御とシーケンス
- 効率的な州管理
- 柔軟な入力処理
- イベント駆動型アーキテクチャと動的調整
- タスクルーティングと条件付き実行
- 実際の流れ:映画の推奨の例
- セットアップとインストール
- 警告の処理
- 環境変数の読み込み
- 必要なモジュールのインポート
- エージェントの定義
- タスクの定義
- 各ジャンルの乗組員を作成します
- ジャンルとジェネラステートの定義
-
MovieRecommendationFlow
の構築 - 流れを視覚化します
- 流れを開始します
- 結論
- よくある質問
乗組員とは何ですか?
Crewaiの乗組員は、自動タスクの完了のためにAIエージェントのオーケストレーションを促進します。エージェント間のスムーズなコラボレーションを可能にして、複雑な問題を解決できます。しかし、なぜ「流れる」のでしょうか? Crewaiフローは、これらのエージェントの相互作用を管理するための構造化されたパターンを提供し、エージェントがどのようにコミュニケーションをとり、協力して特定の目標を達成するかを定義するためです。フローは本質的にタスクのシーケンスであり、1つのタスクの出力が次のタスクをトリガーできます。このシステムは、状態と条件付きの実行を管理するための柔軟なメカニズムを提供します。
フローを理解する
フローは、特定のトリガーや条件に反応して、イベント駆動型モデルで動作します。これにより、タスクの実行結果に基づいて動的なワークフロー調整が可能になり、複雑なAIプロセスが合理化されます。
ワークフロー制御とシーケンス
CREWAIフローにより、開発者はタスクシーケンスを構成し、タスク間の情報フローを制御できます。タスクは一緒に連鎖して、操作の論理的な順序を作成できます。以前のタスク出力に基づくタスクの条件付き実行もサポートされています。
効率的な州管理
多くの場合、PydanticのBaseModel
を使用している構造化された状態管理により、タスク間のデータの一貫性と構造が保証されます。これにより、タイプの安全性、検証、および複雑なデータ状態の管理が容易になります。
柔軟な入力処理
フローは、実行中の任意の時点で状態を初期化または更新するための入力を受け入れます。ワークフローのニーズに応じて、入力は、開始時、実行中、または実行後に提供できます。
イベント駆動型アーキテクチャと動的調整
CREWAIフローは、タスクの結果に基づいて動的に調整します。タスクは、前のステップからの出力をリッスンし、以前の出力に基づいて新しいタスクがトリガーされるリアクティブシステムを作成できます。 @listen()
および@router()
デコレーターは、この柔軟性を提供し、条件付きおよび動的タスクのリンクを可能にします。 @start()
デコレーターは、フローの開始点をマークします。
デコレーターと条件付きロジック | 説明 |
@listen() |
特定のイベントまたはタスク出力によってトリガーされるリスナーメソッドを作成します。 |
@router()
|
条件付きルーティングを有効にし、以前のステップ出力に基づいて異なる実行パスを許可します。成功/失敗の結果を管理するのに役立ちます。 |
指定されたすべてのメソッドが出力を発する場合にのみ、リスナーをトリガーします。 |
タスクルーティングと条件付き実行
フローはルーティングを利用して、条件に基づいて実行を制御します。 @router()
デコレーターを使用すると、以前のタスク結果に基づいて実行パスを選択できます。たとえば、メソッドは以前のタスクの出力をチェックし、特定の条件が満たされているかどうかに基づいてパスを選択する場合があります。
実際の流れ:映画の推奨の例
ジャンルに基づいて映画を推奨するために、Crewai Flowsを使用してエージェントシステムを作成しましょう。
セットアップとインストール
<code>!pip install crewai -U !pip install crewai-tools</code>
警告の処理
<code>import warnings warnings.filterwarnings('ignore')</code>
環境変数の読み込み(プレースホルダーを実際のキーに置き換えます)
<code>import os os.environ["OPENAI_API_KEY"] = 'YOUR_OPENAI_API_KEY' os.environ['OPENAI_MODEL_NAME'] = 'gpt-4o-mini-2024-07-18' os.environ["SERPER_API_KEY"]='YOUR_SERPER_API_KEY'</code>
必要なモジュールのインポート
<code>from crewai import Agent, Task, Crew from crewai.flow.flow import listen, start, and_, or_, router from crewai_tools import SerperDevTool from crewai import Flow from pydantic import BaseModel</code>
エージェントの定義
すべてのタスクに単一のエージェントが使用されます。このエージェントはGoogle検索ツールを使用します。
<code>movie_agent = Agent( role="Recommend popular movie specific to the genre", goal="Provide a list of movies based on user preferences", backstory="You are a cinephile, " "you recommend good movies to your friends, " "the movies should be of the same genre", tools=[SerperDevTool()], verbose=True )</code>
タスクの定義
<code>action_task = Task(name="ActionTask", description="Recommends a popular action movie", expected_output="A list of 10 popular movies", agent=movie_agent) comedy_task = Task(name="ComedyTask", description="Recommends a popular comedy movie", expected_output="A list of 10 popular movies", agent=movie_agent) drama_task = Task(name="DramaTask", description="Recommends a popular drama movie", expected_output="A list of 10 popular movies", agent=movie_agent) sci_fi_task = Task(name="SciFiTask", description="Recommends a sci-fi movie", expected_output="A list of 10 popular movies", agent=movie_agent)</code>
各ジャンルの乗組員を作成します
<code>action_crew = Crew(agents=[movie_agent], tasks=[action_task], verbose=True) comedy_crew = Crew(agents=[movie_agent], tasks=[comedy_task], verbose=True) drama_crew = Crew(agents=[movie_agent], tasks=[drama_task], verbose=True) sci_fi_crew = Crew(agents=[movie_agent], tasks=[sci_fi_task], verbose=True)</code>
ジャンルとジェネラステートの定義
<code>GENRES = ["action", "comedy", "drama", "sci-fi"] class GenreState(BaseModel): genre: str = ""</code>
MovieRecommendationFlow
の構築
このクラスは、 Flow
クラスから継承し、状態機能を使用します。
<code>class MovieRecommendationFlow(Flow[GenreState]): @start() def input_genre(self): genre = input("Enter a genre: ") print(f"Genre input received: {genre}") self.state.genre = genre return genre @router(input_genre) def route_to_crew(self): genre = self.state.genre if genre not in GENRES: raise ValueError(f"Invalid genre: {genre}") if genre == "action": return "action" elif genre == "comedy": return "comedy" elif genre == "drama": return "drama" elif genre == "sci-fi": return "sci-fi" @listen("action") def action_movies(self, genre): recommendations = action_crew.kickoff() return recommendations @listen("comedy") def comedy_movies(self, genre): recommendations = comedy_crew.kickoff() return recommendations @listen("drama") def drama_movies(self, genre): recommendations = drama_crew.kickoff() return recommendations @listen("sci-fi") def sci_fi_movies(self, genre): recommendations = sci_fi_crew.kickoff() return recommendations @listen(or_("action_movies", "comedy_movies", "drama_movies", "sci_fi_movies")) def finalize_recommendation(self, recommendations): print("Final movie recommendations:") return recommendations</code>
@listen
、 @router
、 or_
、および@start
デコレーターは、フローの実行を管理します。
流れを視覚化します
<code>flow = MovieRecommendationFlow() flow.plot() #This will generate a file, you'll need to display it separately (eg, using an image display function in your environment)</code>
流れを開始します
<code>recommendations = await flow.kickoff_async()</code>
結論
Crewaiのイベント主導のワークフローは、AIタスクオーケストレーションを簡素化します。 @listen()
、 @router()
、州管理などの機能と組み合わされたCrewaiフローの柔軟で適応的な性質により、効率的で動的なAIアプリケーションを構築するための強力なツールが作成されます。
よくある質問
Q1。入力をフローに渡すにはどうすればよいですか? flow.kickoff(inputs={"counter": 10})
を使用します。
Q2。 @start()
と@listen()
の違いは何ですか? @start()
フローの出発点をマークします。 @listen()
マークメソッドは、タスクの完了によってトリガーされます。
Q3。フローを視覚化するにはどうすればよいですか? flow.plot()
を使用します。
Q4。人間のフィードバックを組み込むことはできますか?はい、Crewai Flowsは人間のループフィードバックをサポートします。
以上がクルワイのエージェントフローとは何ですか? - 分析Vidhyaの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ChatGptはアクセスできませんか?この記事では、さまざまな実用的なソリューションを提供しています!多くのユーザーは、ChatGPTを毎日使用する場合、アクセス不能や応答が遅いなどの問題に遭遇する可能性があります。この記事では、さまざまな状況に基づいてこれらの問題を段階的に解決するように導きます。 ChatGPTのアクセス不能性と予備的なトラブルシューティングの原因 まず、問題がOpenaiサーバー側にあるのか、ユーザー自身のネットワークまたはデバイスの問題にあるのかを判断する必要があります。 以下の手順に従って、トラブルシューティングしてください。 ステップ1:OpenAIの公式ステータスを確認してください OpenAIステータスページ(status.openai.com)にアクセスして、ChatGPTサービスが正常に実行されているかどうかを確認してください。赤または黄色のアラームが表示されている場合、それは開くことを意味します

2025年5月10日、MIT物理学者のMax Tegmarkは、AI Labsが人工的なスーパーインテリジェンスを解放する前にOppenheimerの三位一体計算をエミュレートすべきだとGuardianに語った。 「私の評価では、「コンプトン定数」、競争が

AI Music Creation Technologyは、1日ごとに変化しています。この記事では、ChatGPTなどのAIモデルを例として使用して、AIを使用して音楽の作成を支援し、実際のケースで説明する方法を詳細に説明します。 Sunoai、Hugging Face、PythonのMusic21 Libraryを通じて音楽を作成する方法を紹介します。 これらのテクノロジーを使用すると、誰もがオリジナルの音楽を簡単に作成できます。ただし、AIに生成されたコンテンツの著作権問題は無視できないことに注意する必要があります。使用する際には注意する必要があります。 音楽分野でのAIの無限の可能性を一緒に探りましょう! Openaiの最新のAIエージェント「Openai Deep Research」が紹介します。 [chatgpt] ope

ChATGPT-4の出現により、AIアプリケーションの可能性が大幅に拡大しました。 GPT-3.5と比較して、CHATGPT-4は大幅に改善されました。強力なコンテキスト理解能力を備えており、画像を認識して生成することもできます。普遍的なAIアシスタントです。それは、ビジネス効率の改善や創造の支援など、多くの分野で大きな可能性を示しています。ただし、同時に、その使用における予防策にも注意を払わなければなりません。 この記事では、ChATGPT-4の特性を詳細に説明し、さまざまなシナリオの効果的な使用方法を紹介します。この記事には、最新のAIテクノロジーを最大限に活用するためのスキルが含まれています。参照してください。 Openaiの最新のAIエージェント、「Openai Deep Research」の詳細については、以下のリンクをクリックしてください

ChatGPTアプリ:AIアシスタントで創造性を解き放つ!初心者向けガイド ChatGPTアプリは、文章作成、翻訳、質問応答など、多様なタスクに対応する革新的なAIアシスタントです。創作活動や情報収集にも役立つ、無限の可能性を秘めたツールです。 この記事では、ChatGPTスマホアプリのインストール方法から、音声入力機能やプラグインといったアプリならではの機能、そしてアプリ利用上の注意点まで、初心者にも分かりやすく解説します。プラグインの制限やデバイス間の設定同期についてもしっかりと触れていきま

Chatgpt中国語版:中国語のAIの対話の新しい体験のロックを解除する ChatGptは世界中で人気がありますが、中国語版も提供していることをご存知ですか?この強力なAIツールは、毎日の会話をサポートするだけでなく、プロのコンテンツを処理し、簡素化された伝統的な中国語と互換性があります。中国のユーザーであろうと、中国語を学んでいる友人であろうと、あなたはそれから利益を得ることができます。 この記事では、アカウント設定、中国語の迅速な単語入力、フィルターの使用、さまざまなパッケージの選択を含むChatGpt中国語のバージョンの使用方法を詳細に紹介し、潜在的なリスクと対応戦略を分析します。さらに、ChatGpt中国語版を他の中国のAIツールと比較して、その利点とアプリケーションシナリオをよりよく理解するのに役立ちます。 Openaiの最新のAIインテリジェンス

これらは、生成AIの分野で次の飛躍と考えることができ、ChatGptやその他の大規模なモデルのチャットボットを提供しました。単に質問に答えたり情報を生成したりするのではなく、彼らは私たちに代わって行動を起こすことができます。

ChatGPTを活用した効率的な複数アカウント管理術|ビジネスとプライベートの使い分けも徹底解説! 様々な場面で活用されているChatGPTですが、複数アカウントの管理に頭を悩ませている方もいるのではないでしょうか。この記事では、ChatGPTの複数アカウント作成方法、利用上の注意点、そして安全かつ効率的な運用方法を詳しく解説します。ビジネス利用とプライベート利用の使い分け、OpenAIの利用規約遵守といった重要な点にも触れ、複数アカウントを安全に活用するためのガイドを提供します。 OpenAI


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール
