学術研究の動的な分野では、効率的な情報収集、統合、およびプレゼンテーションが最重要です。文献レビューの手動プロセスは時間がかかり、より深い分析を妨げています。 Pydanticで構築されたマルチエージェントリサーチアシスタントシステムは、洗練されたソリューションを提供します。専門的なエージェントは、複雑なタスクにモジュールかつスケーラブルに取り組むために協力しています。ただし、複数のエージェントを管理するには、データの一貫性、検証、および通信を慎重に検討する必要があります。このPydanticベースのシステムは、堅牢なデータスキーマを実施し、データ処理の改善、システムの複雑さを簡素化することにより、これらの課題に対処します。
この記事では、Pydantic-AiやArxivなどの統合ツールを使用して、構造化されたマルチエージェントリサーチアシスタントの構築について詳しく説明しています。段階的なコードの説明と予想される結果を提供します。
主要な学習目標
- 信頼できるエージェント間コミュニケーションのために、Pydanticを搭載したマルチエージェントリサーチアシスタントにおける構造化データモデリングの重要性を把握します。
- シームレスな統合、モジュラーエージェントオーケストレーション、および効率的な自動研究ワークフローのためにPydanticを使用して、構造化データスキーマを定義および実装します。
- 特定のタスクのモジュラーエージェントを設計および調整する:クエリの改良、データの取得、キーワード抽出、および要約。
- 構造化されたエージェントの相互作用を介して、外部API(Arxivなど)を自動ワークフローに統合します。
- 構造化されたエージェント出力から直接高品質の出力(PDFレポートなど)を生成し、自動研究ワークフローの実用的な有用性を高めます。
この記事は、Data Science Blogathonの一部です。
目次
- Pydanticでデータモデルを定義します
- マルチエージェントフレームワークの構造化
- 迅速なプロセッサエージェントを使用したクエリを精製します
- 紙検索エージェントによる効率的な紙検索
- キーワード抽出エージェントによるキーワード抽出
- 要約エージェントとの簡潔な要約
- 組織化エージェント
- プロの出力を生成します
- 実用的な例
- 結論
- よくある質問
Pydanticでデータモデルを定義します
明確に定義されたデータモデルは、マルチエージェントシステムで重要です。エージェント間の一貫した予測可能なデータ交換が不可欠です。 Pydanticは、Pythonでデータスキーマを定義するための簡単な方法を提供し、データの一貫性を確保し、ランタイムエラーを減らし、シームレスな検証を可能にするための簡単な方法を提供することにより、これにエレガントに対処します。
Pydanticを使用した構造化データモデルの例は次のとおりです。
Pydantic Import Basemodel、Fieldから クラスPapermetadata(Basemodel): タイトル:str = field(...、description = "Paper Title") 要約:str = field(...、description = "Paper Abstract") 著者:list [str] = field(...、description = "著者のリスト") Publication_date:str = field(...、description = "公開日")
フィールドの説明
-
title
:簡単な参照と組織のためのペーパータイトル。 -
abstract
:キーワードの抽出と要約のための簡潔な要約。 -
authors
:さらにクエリまたは引用追跡のための著者リスト。 -
publication_date
:並べ替えとフィルタリングの公開日。
私たちのシステムには5人のエージェントが含まれています。
- プロセッサエージェントの促進
- 紙検索エージェント
- キーワード抽出エージェント
- 要約エージェント
- ルーター(オーケストレーター)エージェント
これらのエージェントは、Pydanticが定義したモデルを使用して通信し、予測可能で検証されたデータを確保し、エラーを最小限に抑え、システムの堅牢性を高めます。
各エージェントの実装、役割、および予想される出力を掘り下げます。
マルチエージェントフレームワークの構造化
Pydantic Data Modelsに基づいて、マルチエージェントフレームワークを検討します。各エージェントには特定の役割があり、他のエージェントとシームレスに対話します。
エージェントの役割
- プロセッサエージェントを促す:検索の関連性が向上するために、ユーザークエリを改良します。
- 紙検索エージェント:外部データベース(ARXIVなど)から関連する論文を取得します。
- キーワード抽出エージェント:紙の要約から重要な用語を抽出します。
- 要約エージェント:紙の要約の簡潔な要約を生成します。
- ルーターエージェント(オーケストレーター):ワークフローの調整、コミュニケーションとデータフローの管理。
エージェントの相互作用
エージェントは順番に対話します:
- プロセッサのプロセッサは、ユーザークエリを改良します。
- 洗練されたクエリは、ペーパー検索エージェントに送信されます。
- ルーターは、キーワード抽出および要約エージェントに要約を送信します。
- ルーターは結果を最終レポートにまとめます。
このモジュラー設計により、保守性とスケーラビリティが保証されます。エージェントは、独立して改善または交換できます。各エージェントの実装を検討します。
迅速なプロセッサエージェントを使用した研究クエリを洗練します
正確なクエリは、効果的な検索に不可欠です。プロセッサエージェントがユーザークエリを改良して、アカデミックデータベースからの結果の関連性を改善します。
これがプロセッサエージェントの迅速な実装です。
@prompt_processor_agent.tool async def process_prompt(ctx:runcontext [researchcontext]、topic:str) - > str: トピック= topic.strip()。lower() トピックの「in」の場合: subtopics = topic.split( 'in') main_topic = subtopics [0] .strip() Context = subtopics [1] .strip() Refined_Query = f "all:{main_topic}およびcat:{context.replace( ''、 '_')}" それ以外: Refined_Query = f "ti:\" {topic} \ "またはabs:\" {トピック} \ "" refined_queryを返します
この改善された実装は、入力を正規化し、コンテキストキュー( "in")を解析し、構造化されたクエリを構築し、より広範なトピックのためのフォールバック処理を含みます。これにより、より正確な検索につながります。
ペーパー検索エージェントで研究論文を効率的に取得します
ペーパー検索エージェントは、外部API(ARXIVなど)と対話して、洗練されたクエリに基づいて関連する論文を取得します。一貫したデータ処理には、Pydanticモデルを使用します。
@paper_retrieval_agent.tool async def fetch_papers(ctx:runcontext [researchcontext]) - > list [papermetadata]: 検索= arxiv.search(query = ctx.deps.query、max_results = 5、sort_by = arxiv.sortcriterion.submitterdate) 結果= list(search.Results()) 論文= [] 結果の結果: published_str = result.published.strftime( "%y-%m-%d")hasattr(result、 "published")およびpublishedは他の「不明」ではない場合。 Paper = papermetadata(title = result.title、abstract = resummary、authors = [author for author in result.authors]、publical_date = published_str) Papers.Append(紙) 返信論文
Pydanticは、データの検証と一貫性を保証し、ダウンストリーム処理を簡素化します。
キーワード抽出エージェントを使用して貴重なキーワードを抽出します
キーワード抽出エージェントは、アブストラクトから重要な用語を特定して、研究者が紙の関連性を迅速に評価できるようにします。
@keyword_extraction_agent.tool async def extract_keywords(ctx:runcontext [researchcontext]、abstract:str) - > keywordResult: words = abstract.split() seed = set() sinque_words = [] 言葉の言葉のために: remarized = word.strip( '。、;: "()')。lower() 正規化され、正規化されていない場合は、見られない場合: seed.add(正規化) inquire_words.append(正規化) Len(sique_words)> = 5の場合: 壊す keywordResultを返す(keywords = sique_words)
これは単純化された例です。生産システムは、より高度なNLP技術を使用します。 Pydanticは、構造化された一貫した出力を維持しています。
要約エージェントと簡潔に論文を要約する
要約エージェントは、要約の簡潔な要約を生成します。
@summary_agent.tool async def summarize_paper(ctx:runcontext [researchcontext]、abstract:str) - > papersummary: summary_text = abstract [:150] "..." if len(要約)> 150 else abstract return papersummary(summary = summary_text)
これは基本的な例です。高度な要約モデルは、要約の品質を大幅に向上させる可能性があります。
すべてをまとめる:エージェントオーケストレーション
ルーターエージェントは、ワークフロー全体を調整します。
@router_agent.tool async def orchestrate_workflow(ctx:runcontext [researchcontext]) - > str: refined_query = await emprive_processor_agent.run(ctx.deps.query、deps = ctx.deps) Papers = await paper_retrieval_agent.run(refined_query.data、deps = ctx.deps) 応答= "最終レポート:\ n" Papers.dataの紙の場合: キーワード= await keyword_extraction_agent.run(paper.abstract、deps = ctx.deps) summary = await summary_agent.run(paper.abstract、deps = ctx.deps) 応答=( f "\ ntitle:{paper.title} \ n" f「キーワード:{keywords.data.keywords} \ n " f "summary:{summary.data.summary} \ n" )) 返信応答
これは、効率のために非同期操作を使用します。構造化されたロギングエイズデバッグ。
構造化されたデータを使用してプロフェッショナル出力を生成します
構造化されたデータは、プロのPDFレポートに変換されます。
def generate_pdf_report(report_text:str、output_filename:str = "final_report.pdf"): インポートMarkDown2 XHTML2PDFからPISAをインポートします html_text = markdown2.markdown(report_text) open(output_filename、 "wb")as result_file: pisa.createpdf(html_text、dest = result_file)
これにより、読みやすいPDFに簡単に変換できるように、構造化されたデータを活用します。
動作中のマルチエージェントシステム:実用的な例
システムの有効性は、例を通じて実証されています。 (例をここに含めて、さまざまな研究トピックに対するシステムの出力を示しています。)
結論
Pydanticで構築されたこのマルチエージェントリサーチアシスタントシステムは、研究ワークフローを効率的に自動化し、専門的なレポートを生成します。 Pydanticの構造化されたデータ処理は、システムの信頼性とスケーラビリティの鍵です。
よくある質問
(FAQはここに含まれ、システムに関する一般的な質問に対処します。)
(注:画像とコードのスニペットはプレースホルダーです。完全なコードを個別に提供する必要があります。)
以上がPydanticを使用した構造化された研究自動化システムの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

AIの急速な統合により悪化した職場での急成長能力の危機は、増分調整を超えて戦略的な変化を要求します。 これは、WTIの調査結果によって強調されています。従業員の68%がワークロードに苦労しており、BURにつながります

ジョン・サールの中国の部屋の議論:AIの理解への挑戦 Searleの思考実験は、人工知能が真に言語を理解できるのか、それとも真の意識を持っているのかを直接疑問に思っています。 チャインを無知な人を想像してください

中国のハイテク大手は、西部のカウンターパートと比較して、AI開発の別のコースを図っています。 技術的なベンチマークとAPI統合のみに焦点を当てるのではなく、「スクリーン認識」AIアシスタントを優先しています。

MCP:AIシステムに外部ツールにアクセスできるようになります モデルコンテキストプロトコル(MCP)により、AIアプリケーションは標準化されたインターフェイスを介して外部ツールとデータソースと対話できます。人類によって開発され、主要なAIプロバイダーによってサポートされているMCPは、言語モデルとエージェントが利用可能なツールを発見し、適切なパラメーターでそれらを呼び出すことができます。ただし、環境紛争、セキュリティの脆弱性、一貫性のないクロスプラットフォーム動作など、MCPサーバーの実装にはいくつかの課題があります。 Forbesの記事「人類のモデルコンテキストプロトコルは、AIエージェントの開発における大きなステップです」著者:Janakiram MSVDockerは、コンテナ化を通じてこれらの問題を解決します。 Docker Hubインフラストラクチャに基づいて構築されたドキュメント

最先端のテクノロジーと巧妙なビジネスの洞察力を活用して、コントロールを維持しながら非常に収益性の高いスケーラブルな企業を作成する先見の明のある起業家によって採用された6つの戦略。このガイドは、建設を目指している起業家向けのためのものです

Google Photosの新しいウルトラHDRツール:画像強化のゲームチェンジャー Google Photosは、強力なウルトラHDR変換ツールを導入し、標準的な写真を活気のある高ダイナミックレンジ画像に変換しました。この強化は写真家に利益をもたらします

技術アーキテクチャは、新たな認証の課題を解決します エージェントアイデンティティハブは、AIエージェントの実装を開始した後にのみ多くの組織が発見した問題に取り組んでいます。

(注:Googleは私の会社であるMoor Insights&Strategyのアドバイザリークライアントです。) AI:実験からエンタープライズ財団まで Google Cloud Next 2025は、実験機能からエンタープライズテクノロジーのコアコンポーネント、ストリームへのAIの進化を紹介しました


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

ホットトピック









