Crewai -Analytics Vidhyaを使用してAIペアプログラマーを構築します
導入
効率的なソフトウェア開発の需要は、貴重なプログラミングパートナーとして人工知能の採用を促進しています。 AI搭載のコーディングアシスタントは、人間のペアプログラマーのように、コードの書き込み、デバッグ、および最適化を簡素化することにより、開発に革命をもたらしています。この記事では、Crewaiエージェントを使用してAIペアプログラマを構築して、コーディングタスクを合理化し、開発者の生産性を高めます。
概要
このガイドがカバーしています:
- コーディングタスクの支援におけるクルワイの役割を理解する。
- 主要なコンポーネントの識別:エージェント、タスク、ツール、乗組員、およびそれらの相互作用。
- コード生成とレビューのためにAIエージェントを設定する実際の経験。
- 共同コーディング用の複数のAIエージェントの構成。
- Crewaiを利用して、コードの品質を評価および最適化します。
目次
- NVLM 1.0 D 74bの定性的例
- NVLMと他のLLMの比較
- 他のマルチモーダルLLMの制限
- これらの制限に対処します
- NVLM:モデルとトレーニング方法
- トレーニングデータ
- 結果
- NVLM D 72Bへのアクセス
- 必要なライブラリをインポートします
- モデルシャード
- 画像の事前処理
- ダイナミックイメージタイル
- 読み込みおよび前処理画像
- モデルの読み込みと使用
- テキストと画像の会話
- よくある質問
AIペアプログラマ機能
AIペアプログラマーには、いくつかの利点があります。
- コード生成: 1つのAIエージェントを使用して特定の問題のコードを生成し、別のAIエージェントとレビューします。
- コードの改善:指定された基準に基づいて既存のコードを評価します。
- コードの最適化:コメントやdocstringsの追加など、コードの拡張機能を要求します。
- デバッグ:コードエラーを解決するための提案を受け取ります。
- テストケース生成:テスト駆動型開発を含むさまざまなシナリオのテストケースを生成します。
この記事では、最初の2つの機能に焦点を当てています。
クルワイとは何ですか?
Crewaiは、AIエージェントを作成するためのフレームワークです。その重要なコンポーネントは次のとおりです。
- エージェント:エージェントは、大規模な言語モデル(LLM)を使用して、入力プロンプトに基づいて出力を生成します。ツールと対話し、ユーザーの入力を受け入れ、他のエージェントと通信します。
- タスク:説明、エージェント、使用可能なツールなど、エージェントの目的を定義します。
- ツール:エージェントは、Web検索、ファイルの読み取り、コード実行などのタスクにツールを使用します。
- クルー:タスクで協力し、相互作用、情報共有、責任委任を定義するエージェントのグループ。
また読む:Crewaiと共同AIエージェントを構築します
これらの概念を説明するエージェントを構築しましょう。
前提条件
AIペアプログラマを構築する前に、LLMSのAPIキーを取得します。
API経由でLLMにアクセスします
選択したLLMのAPIキーを生成し、プライバシーを維持しながらプロジェクトアクセスのために.env
ファイルに安全に保存します。
例.ENVファイル
サンプル.env
ファイル:
必要なライブラリ
次のライブラリバージョンが使用されます。
- CREWAI - 0.66.0
- CREWAI-TOOLS - 0.12.1
コード作成の自動化
このセクションでは、コード生成とレビューのためにライブラリのインポートとエージェントの定義を示します。
ライブラリのインポート
dotenvインポートload_dotenvから load_dotenv( '/。Env') クルワイ輸入エージェント、タスク、乗組員から
コードライターエージェントの定義
1人のエージェントがコードを生成し、別のエージェントがレビューします。
code_writer_agent = agent(role = "ソフトウェアエンジニア"、 目標= 'docstringsやコメントを含む最適化された保守可能なコードを書き込む'、 backstory = "" "あなたは、docstrings and commentsで最適化され、保守可能なコードを書くソフトウェアエンジニアです。" ""、 llm = 'gpt-4o-mini'、 verbose = true)
説明されたエージェントパラメーター
- 役割:エージェントの関数を定義します。
- 目標:エージェントの目的を指定します。
- バックストーリー:より良い相互作用のためのコンテキストを提供します。
- LLM:使用するLLMを指定します(オプションについてはLitellmドキュメントを参照)。
- Verbose:詳細な入出力ロギングを有効にします。
コードライタータスクの定義
code_writer_task = task(description = '{言語}の問題を解決するためのコードを書き込む問題:{問題}'、 expection_output = 'タイプヒントを備えた順調なコード'、 agent = code_writer_agent)
タスクパラメーターが説明しました
- 説明:変数({言語}、{問題})を使用してタスク目的をクリアします。
- expects_output:希望の出力形式。
- エージェント:タスクに割り当てられたエージェント。
コードレビュー担当者エージェントとタスクの定義
同様に、 code_reviewer_agent
とcode_reviewer_task
を定義します。
code_reviewer_agent = agent(role = "シニアソフトウェアエンジニア"、 目標= 'コードが最適化され、保守可能であることを確認してください'、 Backstory = "" "あなたは、読みやすさ、保守性、パフォーマンスのためのコードをレビューするシニアエンジニアです。" ""、 llm = 'gpt-4o-mini'、 verbose = true) code_reviewer_task = task(description = "" "{言語}の問題に対して記述されたコードのレビュー:問題:{問題}" "" "、 expects_output = 'レビューコード'、 agent = code_reviewer_agent)
乗組員の建設と運営
乗組員を作成して実行します。
クルー=クルー(agents = [code_writer_agent、code_reviewer_agent]、 tasks = [code_writer_task、code_reviewer_task]、 verbose = true) result = crew.kickoff(inputs = {'upprogen': '' tic-tac-toeゲームを作成 '、'言語 ':' python '})
サンプル出力:
結果分析
result
オブジェクトには次のものが含まれます。
result.dict()。keys() >>> dict_keys(['raw'、 'pydantic'、 'json_dict'、 'tasks_output'、 'token_usage'])) #トークンの使用 result.dict()['token_usage'] >>> {'total_tokens':2656、...} #最終出力 印刷(result.raw)
その後、生成されたコードを実行できます。
自動コード評価
このセクションでは、既存のコードの評価について説明します。
評価要件の定義
まず、エージェントを使用して要件を収集し、別のエージェントを使用してそれらの要件に基づいてコードを評価します。
ツールを使用します
FileReadTool
ファイルを読み取ります。ツールはエージェント機能を強化します。ツールは、タスクとエージェントに割り当てることができます。タスクレベルの割り当ては、エージェントレベルの割り当てをオーバーライドします。
要件の設定エージェントとタスクを収集します
crewai_toolsからfilreadtoolをインポートします code_requirements_agent = agent(role = "data科学者"、 目標= '特定の問題のコード要件を定義します。'、 Backstory = "" "あなたは、コードを定義する問題を定義するデータサイエンティストです。問題を解決するためのコードを定義します。 llm = 'gpt-4o-mini'、 verbose = true) code_requirement_task = task(description = 'ステップバイステップ要件を書き込みます。問題:{問題}'、 expects_output = 'フォーマット要件テキスト。'、 agent = code_requirements_agent、 human_input = true)
human_input=True
調整のためにユーザー入力を許可します。
コード評価
この例では、より大きなコンテキストをより適切に処理するために、 FileReadTool
とgpt-4o
を使用しています。
file_read_tool = filereadtool( 'eda.py') code_evaluator_agent = agent(role = "data Science Evaluator"、 目標= '提供された要件に基づいてコードを評価する'、 Backstory = "" "あなたは指定された要件に基づいてコードをレビューするデータサイエンス評価者です。" ""、 llm = 'gpt-4o'、 verbose = true) code_evaluator_task = task(description = "" "要件に基づいてコードファイルを評価します。コードではなく評価のみを提供します。" "" "、 expection_output = '要件に基づく詳細な評価。'、 ツール= [file_read_tool]、 agent = code_evaluator_agent)
評価クルーの構築
乗組員を作成し、問題を定義します。
クルー=クルー(agents = [code_requirements_agent、code_evaluator_agent]、 tasks = [code_requirement_task、code_evaluator_task]、 verbose = true) 問題= "" "NYCタクシー旅行期間データセットでEDAを実行..." ""#(dataset説明 result = crew.kickoff(入力= {'問題':問題})
出力
出力は、人間の入力プロンプトを示しています。
タスク出力は個別にアクセスできます。
print(code_requirement_task.output.raw) 印刷(result.raw)
結論
CREWAIは、AI駆動型のコード生成、レビュー、評価を通じてソフトウェア開発を強化するための強力なフレームワークを提供します。役割、目標、タスクを定義することにより、開発者はワークフローを合理化し、生産性を高めることができます。 AIペアプログラマーとCrewaiを統合すると、効率とコードの品質が向上します。 Crewaiの柔軟性により、シームレスなAIエージェントコラボレーションが促進され、最適化され、保守性があり、エラーのないコードが得られます。 AIが進化するにつれて、Crewaiのペアプログラミング機能は、開発者にとってますます価値が高まるようになります。
よくある質問
Q1。クルワイとソフトウェア開発におけるその役割は何ですか? Crewaiは、コードの作成、レビュー、評価で開発者を支援するAIエージェントフレームワークであり、生産性を高めます。
Q2。 Crewaiの重要なコンポーネントとは何ですか?エージェント、タスク、ツール、および乗組員。エージェントはアクションを実行します。タスクは目的を定義します。ツールはエージェント機能を拡張します。乗組員はエージェントのコラボレーションを可能にします。
Q3。コード生成AIエージェントを設定する方法は?エージェントの役割、目標、バックストーリー、およびLLMを定義し、問題と予想される出力を指定する対応するタスクを作成します。
Q4。 Crewaiエージェントは協力できますか?はい、「クルー」を通じて、エージェントがタスクのさまざまな側面を効率的に処理できるようにします。
Q5。どのツールが利用できますか?さまざまなツールは、ファイルの読み取り、Web検索、コード実行など、エージェント機能を強化します。
以上がCrewai -Analytics Vidhyaを使用してAIペアプログラマーを構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

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

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

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

ホットトピック











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

ねえ、忍者をコーディング!その日はどのようなコーディング関連のタスクを計画していますか?このブログにさらに飛び込む前に、コーディング関連のすべての問題について考えてほしいです。 終わり? - &#8217を見てみましょう

今週のAIの風景:進歩、倫理的考慮、規制の議論の旋風。 Openai、Google、Meta、Microsoftのような主要なプレーヤーは、画期的な新しいモデルからLEの重要な変化まで、アップデートの急流を解き放ちました

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

導入 鮮やかな絵画や彫刻に囲まれたアートギャラリーを歩くことを想像してください。さて、各ピースに質問をして意味のある答えを得ることができたらどうでしょうか?あなたは尋ねるかもしれません、「あなたはどんな話を言っていますか?

導入 Openaiは、待望の「Strawberry」アーキテクチャに基づいて新しいモデルをリリースしました。 O1として知られるこの革新的なモデルは、推論能力を強化し、問題を通じて考えられるようになりました

SQLの変更テーブルステートメント:データベースに列を動的に追加する データ管理では、SQLの適応性が重要です。 その場でデータベース構造を調整する必要がありますか? Alter Tableステートメントはあなたの解決策です。このガイドの詳細は、コルを追加します

私のコラムに新しいかもしれない人のために、具体化されたAI、AI推論、AIのハイテクブレークスルー、AIの迅速なエンジニアリング、AIのトレーニング、AIのフィールディングなどのトピックなど、全面的なAIの最新の進歩を広く探求します。
