導入
APIにお金を費やしたくないのですか、それともプライバシーを心配していますか?それとも、LLMSをローカルに実行したいだけですか?心配しないで;このガイドは、完全に無料のローカルLLMを使用して、エージェントとマルチエージェントフレームワークを構築するのに役立ちます。 CrewaiとOllamaを使用してマルチエージェントシステムを構築する方法を探り、Ollamaから利用可能な複数のLLMを調べます。
概要
- このガイドは、CrewaiとOllamaを使用してローカルLLMSを使用して、エージェントフレームワークとマルチエージェントシステムの構築に焦点を当て、コストフリーでプライバシーを提供するソリューションを提供します。
- エージェントの重要な概念と、CrewaiとOllamaとともにマルチエージェントフレームワークを紹介し、さまざまな業界にわたる自律的で協力的な問題解決における彼らの役割を強調しています。
- Crewaiは、エージェント間でタスクを調整するための高度なフレームワークとして強調されています。構造化された役割、目標、およびメモリ管理を使用して、タスクの実行を改善します。
- Ollamaは、LLAMA2、LLAMA3、LLAVAなどの言語モデルをローカルに実行できるようにし、ユーザーがAIタスクのクラウドサービスをバイパスできるようにします。
- この記事には、CrewaiとOllamaを使用した画像分類、説明、情報検索のためのマルチエージェントシステムを構築する実用的な例が含まれています。
- 結論は、特殊なタスクに異なるLLMを使用することの利点を強調し、地元の環境でクルワイとオラマを組み合わせる柔軟性を紹介します。
目次
- 導入
- エージェント、エージェントフレームワーク、およびクルワイ
- エージェントフレームワーク
- CREWAIフレームワーク
- クルワイの重要な強み
- オラマ
- マルチエージェントシステムの構築
- 目的
- コンポーネント
- マルチエージェントシステムを構築しましょう
- 必要なライブラリをインポートします
- エージェントを定義します
- 各エージェントのタスクを定義します
- 乗組員とのエージェントとタスクの管理
- 結論
- よくある質問
エージェント、エージェントフレームワーク、およびクルワイ
生成AIは、基本的な大型言語モデル(LLM)から高度なマルチエージェントシステムに移行しました。理論的には、エージェントは、人間の入力なしで計画、推論、および行動することができる自律システムです。これらのエージェントは、機能を拡大しながら人間の関与を減らすことを目指しています。
また読む:2024年にAIエージェントを構築するためのトップ5フレームワーク
エージェントフレームワーク
これらのフレームワークは、コンサートで作業する複数のエージェントを利用して、シングル使用エージェントの機能を超えるコラボレーション、コミュニケーション、および問題解決を可能にします。これらのフレームワークでは、エージェントは異なる役割と目標を持ち、複雑なタスクを実行できます。 CrewaiやOllamaなどの多目的フレームワークは、大規模、動的、分散型の問題解決に不可欠であり、ロボット工学、金融、ヘルスケアなどの業界で適応可能になります。
エージェントフレームワークの重要なコンポーネント
- エージェントアーキテクチャ:計画、推論、通信プロトコルなど、エージェントの内部構造を定義します。
- 通信プロトコル:メッセージングとデータ交換によるエージェントコラボレーションの方法。
- エージェントインタラクション設計:タスクの割り当てや競合解決を含むエージェントコラボレーションのメカニズム。
- 環境:多くの場合、外部ツールやリソースを含むエージェントが相互作用する設定。
これらのフレームワークは、モジュラーおよびスケーラブルなシステムを有効にし、エージェントを変更または追加して、進化する要件に簡単に適応します。
CREWAIフレームワーク
Crewaiは高度なマルチエージェントフレームワークであり、複数のエージェント(「乗組員」と呼ばれる)をタスクオーケストレーションを通じて協力できるようにします。このフレームワークは、エージェントを、各エージェントの機能を完全に理解する3つの属性(ロール、目標、バックストーリー)に分割します。この構造化されたアプローチは、仕様不足のリスクを軽減し、タスクの定義と実行を改善します。
クルワイの重要な強み
- 明示的なタスク定義:タスクは明確に定義されており、各エージェントが何をするかを明確にします。
- ツールの使用:タスク固有のツールは、エージェントレベルのツールに先行し、より詳細な制御ツールセットを作成します。
- エージェントの相互作用プロセス:Crewaiは、シーケンシャルおよび階層エージェントのコラボレーションプロセスをサポートしています。
- 高度なメモリ管理:フレームワークは、短期的、長期的、エンティティ、およびコンテキストメモリを提供し、洗練された推論と学習を促進します。
また読む:Crewaiと共同AIエージェントを構築します
オラマ
Ollamaは、ローカルマシンで言語モデルを構築および実行するためのフレームワークです。クラウドベースのサービスを必要とせずにデバイスでモデルを直接実行できるため、簡単に使用できます。プライバシーについての心配はありません。
オラマと対話するには:
PIPインストールOllamaコマンドを実行して、OllamaをPythonと統合できます。
これで、オラマプルコマンドを使用してモデルをダウンロードしてモデルをダウンロードできます。
これらを実行しましょう:
Ollama Pull llama2 Ollama Pull llama3 Ollama Pull llava
現在、3つの大手言語モデル(LLM)がローカルにあります。
- Llama 2 :Metaのオープンソースの大規模な言語モデル。
- Llama 3 :MetaのLlamaシリーズの最新のイテレーション、パラメーターのサイズと効率が向上した複雑な言語生成タスクのさらなる改良機能。
- Llava :画像とテキスト理解タスクのために設計されたビジョン言語モデル。
これらのモデルをローカルで使用して、Ollama Run Model-Nameを実行できます。例を示します。
Ctrl Dを押して終了できます。
また読む:OllamaでLLMモデルをローカルに実行する方法は?
マルチエージェントシステムの構築
イメージを入力し、システム内の動物に関するいくつかの興味深い事実を提供するエージェントシステムの構築に取り組みましょう。
目的
- Crewaiを使用して、画像分類、説明、情報検索のためのマルチエージェントシステムを構築します。
- 意思決定を自動化する:エージェントは、画像で動物を識別し、それらを説明し、関連する事実を取得するなどの特定のタスクを実行します。
- タスクシーケンス:段階的なエージェントシステムのタスクを介してエージェントを調整します。
コンポーネント
- 分類器エージェント:入力画像にLLAVA:7Bモデルを使用して動物が含まれているかどうかを識別します。
- 説明エージェント:Llava:7bを搭載した画像内の動物について説明します。
- 情報検索エージェント:llama2を使用して動物に関する追加の事実を取得します。
- タスクの定義:各タスクは特定のエージェントに関連付けられており、アクションを導きます。
- 乗組員の管理:乗組員は、エージェントのアクション、タスクを実行し、入力画像に基づいて結果を集約します
デフォルトでは、タスクはCrewaiで順番に実行されます。タスクマネージャーを追加して、実行順序を制御できます。さらに、Allow_DeLegation機能により、エージェントは、必要に応じて、エージェントに前述のエージェントに応答を再生するように依頼できます。メモリをTrueに設定すると、エージェントが過去の相互作用から学習できるようになり、オプションでタスクを構成して、出力に関する人間のフィードバックを要求できます。
また読む:Crewaiと共同AIエージェントを構築します
マルチエージェントシステムを構築しましょう
開始する前に、必要なすべてのパッケージをインストールしましょう。
ピップインストールCrewai ピップインストール「Crewai [Tools]」 ピップインストールオラマ
必要なライブラリをインポートします
クルワイ輸入エージェント、タスク、乗組員から pkg_resourcesをインポートします #CREWAIのバージョンを入手してください CREWAI_VERSION = PKG_RESOURCES.get_Distribution( "CREWAI")。バージョン 印刷(crewai_version) 0.61.0
エージェントを定義します
ここでは、特定の役割と目標を持つ3つのエージェントを定義します。各エージェントは、画像の分類と説明に関連するタスクを担当します。
- 分類器エージェント:画像に動物が含まれているかどうかを確認し、Llava:7bモデルを使用して動物を分類します。
- 説明エージェント:画像内の動物について説明します。これは、前のエージェントのような同じLlava:7bモデルも使用します。
- 情報検索エージェント:このエージェントは、動物に関する追加情報または興味深い事実を取得します。 LLAMA2を使用してこの情報を提供します。
#1。画像分類器エージェント(画像が動物であるかどうかを確認する) classifier_agent = agent( 役割= "画像分類器エージェント"、 目標= "画像が動物であるかどうかを判断する"、 Backstory = "" " あなたは動物に目を向けています!あなたの仕事は、入力画像が動物のものであるかどうかを特定することです または何か他のもの。 "" "、 LLM = 'Ollama/Llava:7b'#画像関連のタスクのモデル )) #2。動物の説明エージェント(画像内の動物を説明する) description_agent = agent( role = "動物説明agent {image_path}"、 目標= "画像内の動物を説明する"、 Backstory = "" " あなたは自然と動物が大好きです。あなたの仕事は、画像に基づいて動物を説明することです。 "" "、 LLM = 'Ollama/Llava:7b'#画像関連のタスクのモデル )) #3。情報検索エージェント(動物に関する追加情報を取得するため) info_agent = agent( 役割= "情報エージェント"、 目標= "特定の動物についての説得力のある情報を与える"、 Backstory = "" " あなたは興味深い事実を語るのがとても上手です。 あなたがそれを知らないなら、あなたは間違った情報を与えません。 "" "、 LLM = 'Ollama/llama2'#一般知識検索のモデル ))
また読む:生成AIアプリケーションのエージェントフレームワーク
各エージェントのタスクを定義します
各タスクは、エージェントの1つに関連付けられています。タスクは、入力、予想される出力、およびどのエージェントがそれを処理するかを説明しています。
- タスク1 :画像に動物が含まれているかどうかを分類します。
- タスク2 :画像が動物として分類されている場合は、それを説明してください。
- タスク3 :説明に基づいて動物に関する追加情報を提供します。
#タスク1:画像が動物であるかどうかを確認します task1 = task( 説明= "画像({image_path})を分類し、それが動物であるかどうか教えてください。"、 expection_output = "それが動物である場合、「動物」と言います。そうでなければ、「動物ではない」と言います。 agent = classifier_agent )) #タスク2:動物の場合は、説明してください タスク2 =タスク( 説明= "画像内の動物を説明してください。({image_path})"、 expects_output = "動物の詳細な説明をする。"、 エージェント= Description_Agent )) #タスク3:動物に関する詳細情報を提供します task3 = task( 説明= "記載されている動物に関する追加情報を提供します。"、 expection_output = "少なくとも5つの興味深い事実または動物に関する情報を提供します。」 agent = info_agent ))
乗組員とのエージェントとタスクの管理
エージェントとタスクを管理するために乗組員が設置されています。タスクを順番に調整し、エージェントの思考チェーンに基づいて結果を提供します。
#エージェントとタスクを管理するクルー クルー=クルー( Agents = [classifier_agent、description_agent、info_agent]、 tasks = [task1、task2、task3]、 verbose = true )) #提供された画像パスでタスクを実行します result = crew.kickoff(inputs = {'image_path': 'racoon.jpg'})
CrewaiのフレームワークにRacoonの画像を提供しましたが、これが私が得た出力です。
注:画像が作業ディレクトリにあることを確認するか、完全なパスを与えることができます。
出力
#エージェント:画像分類器エージェント<br><br>##タスク:画像(racoon.jpg)を分類し、動物であるかどうかを教えてください。<br><br> #エージェント:画像分類器エージェント<br><br>##最終回答:<br><br>私の分析に基づいて、画像(racoon.jpg)にはアライグマが含まれています。<br> 確かに動物。したがって、最後の答えは「動物」です。<br><br> #エージェント:動物説明エージェントRACOON.jpg<br><br> ##タスク:画像内の動物を説明してください。(racoon.jpg)<br><br> #エージェント:動物説明エージェントRACOON.jpg<br><br> ##最終回答:<br><br>画像(racoon.jpg)はアライグマを備えています。<br> さまざまな環境への俊敏性と適応性。アライグマの特徴があります<br> 目と耳の周りの独特の黒い「マスク」と<br> 顔と足に白いマーキングが付いた灰色がかった茶色がかったコート。彼らは持っている<br> 比較的短い尾と小さな丸い耳。アライグマは雑食です<br> オブジェクトを操作するために使用する非常に器用な前足を持っています。彼らは<br> また、彼らの知性と問題を解決する能力でも知られています。<br> 容器や登山の木を開けます。<br><br> #エージェント:情報エージェント<br><br>##タスク:説明されている動物に関する追加情報を提供します。<br><br> #エージェント:情報エージェント<br><br>##最終回答:<br><br>アライグマに関する5つの魅力的な事実を次に示します。<br><br> 1.アライグマは、前足に例外的な器用さを持っています。<br> 驚くべき精度でオブジェクトを操作します。実際、研究が示しています<br> アライグマがコンテナを開けて、他のタスクを実行できること<br> 人間のそれに匹敵するスキルのレベル!<br><br> 2。彼らのかわいい外観にもかかわらず、アライグマは手ごわいハンターであり、<br> 魚、昆虫、小さな哺乳類など、さまざまな獲物を捕まえます。<br> 彼らの敏感な鼻は、彼らが暗い水域で食べ物を見つけるのを助けるか<br> アンダーブラシ。<br><br> 3.アライグマは非常に適応性があり、さまざまな生息地にあります。<br> 森林から沼地、都市部まで。彼らは木に登ることさえ知られています<br> そして、水で泳ぎます!<br><br> 4。彼らの知性と問題解決スキルに加えて、アライグマ<br> 優れた記憶を持ち、認識して対話することができます<br> 個々の人間や他の動物。彼らはまた、トリックを実行することを学ぶことができます<br> トレーニングによるタスク。<br><br> 5.他の多くの哺乳類とは異なり、アライグマは冬の間は冬眠しません<br> 数ヶ月。代わりに、彼らはトルパーとして知られる休眠状態に入ります。<br> 彼らはエネルギーを節約し、過酷な気象条件に耐えることができます。その間<br> 今回は、彼らの心拍数は劇的に遅くなり、あたり約70〜80ビートから<br> わずか10-20まで!<br><br>これらの興味深い事実が包括的な理解を提供することを願っています<br> 魅力的なアライグマの種!
分類器は、それが動物であることを確認し、その後、Llava:7bモデルのエージェントが動物と画像を説明し、それを連続的に情報エージェントに渡しました。テキストベースのモデルであるLLAMA2を使用している情報エージェントにもかかわらず、前のエージェントのコンテキストを使用して、アライグマに関する情報を提供できます。
また読む:Llama 3.1、Ollama、Langchainでレスポンシブチャットボットを構築する
結論
さまざまなモデルが異なるタスクで優れているため、その強みに応じて複数のLLMを使用することは良いことです。 CrewaiとOllamaを使用してマルチエージェントコラボレーションを紹介し、OllamaのLLMをローカルに使用しました。はい、Ollamaモデルは明らかな理由でクラウドベースのモデルよりも遅いかもしれませんが、どちらも長所と短所を持っています。エージェントフレームワークの有効性は、ワークフローと、結果を最適化するための適切なツールとLLMの使用に依存します。
よくある質問
Q1。 CrewaiのAllow_Delegationとは何ですか?Ans。 Trueに設定すると、このCrewaiパラメーターにより、エージェントはタスクを他の人に割り当て、複雑なタスクフローとコラボレーションを可能にします。
Q2。 CrewaiはPydanticオブジェクトをどのように使用していますか?Ans。 Crewaiは、Pydanticオブジェクトを使用して、タスク入力/出力データ構造を定義および検証し、エージェントが予想される形式でデータを受信および作成します。
Q3。 Crewaiはタスクの流れとエージェントのコラボレーションをどのように管理しますか?Ans。 Crewaiは、エージェントとタスクを「乗組員」オブジェクトに整理し、ユーザー定義の依存関係に基づいて順次タスクを調整することにより、これを管理します。
Q4。 CrewaiとOllamaでカスタムLLMを使用できますか?Ans。はい、どちらもカスタムLLMをサポートしています。 Crewaiの場合、エージェントを作成するときにモデルパス/名前を指定します。 Ollamaについては、ドキュメントに従ってカスタムモデルを構築および実行します。
以上がCrewaiとOllamaでマルチエージェントシステムを構築する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

オンデバイスAIの力を活用:個人的なチャットボットCLIの構築 最近では、個人的なAIアシスタントの概念はサイエンスフィクションのように見えました。 ハイテク愛好家のアレックスを想像して、賢くて地元のAI仲間を夢見ています。

AI4MHの最初の発売は2025年4月15日に開催され、有名な精神科医および神経科学者であるLuminary Dr. Tom Insel博士がキックオフスピーカーを務めました。 Insel博士は、メンタルヘルス研究とテクノでの彼の傑出した仕事で有名です

「私たちは、WNBAが、すべての人、プレイヤー、ファン、企業パートナーが安全であり、大切になり、力を与えられたスペースであることを保証したいと考えています」とエンゲルバートは述べ、女性のスポーツの最も有害な課題の1つになったものに取り組んでいます。 アノ

導入 Pythonは、特にデータサイエンスと生成AIにおいて、プログラミング言語として優れています。 大規模なデータセットを処理する場合、効率的なデータ操作(ストレージ、管理、アクセス)が重要です。 以前に数字とstをカバーしてきました

潜る前に、重要な注意事項:AIパフォーマンスは非決定論的であり、非常にユースケース固有です。簡単に言えば、走行距離は異なる場合があります。この(または他の)記事を最終的な単語として撮影しないでください。これらのモデルを独自のシナリオでテストしないでください

傑出したAI/MLポートフォリオの構築:初心者と専門家向けガイド 説得力のあるポートフォリオを作成することは、人工知能(AI)と機械学習(ML)で役割を確保するために重要です。 このガイドは、ポートフォリオを構築するためのアドバイスを提供します

結果?燃え尽き症候群、非効率性、および検出とアクションの間の隙間が拡大します。これは、サイバーセキュリティで働く人にとってはショックとしてはありません。 しかし、エージェントAIの約束は潜在的なターニングポイントとして浮上しています。この新しいクラス

即時の影響と長期パートナーシップ? 2週間前、Openaiは強力な短期オファーで前進し、2025年5月末までに米国およびカナダの大学生にChatGpt Plusに無料でアクセスできます。このツールにはGPT ‑ 4o、Aが含まれます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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