在學術研究的動態領域,有效的信息收集,綜合和演示至關重要。文獻綜述的手動過程是耗時的,阻礙了更深入的分析。由Pydantic構建的多機構研究助理系統提供了一個複雜的解決方案:專門的代理商合作,可模塊化地處理複雜的任務。但是,管理多個代理需要仔細考慮數據一致性,驗證和通信。這種基於pydantic的系統通過執行強大的數據模式,改進數據處理並簡化系統複雜性來解決這些挑戰。
本文詳細介紹了使用Pydantic的結構化多代理研究助理的構建,該研究助理整合了Pydantic-AI和Arxiv等工具。我們將提供逐步的代碼解釋和預期結果。
關鍵學習目標
- 掌握在pydantic驅動的多代理研究助理中,對於可靠的代理間溝通中的結構化數據建模的重要性。
- 使用Pydantic定義和實施結構化數據模式,以進行無縫集成,模塊化代理編排和有效的自動化研究工作流程。
- 設計和編排用於特定任務的模塊化代理:查詢細化,數據檢索,關鍵字提取和摘要。
- 通過結構化代理相互作用將外部API(例如ARXIV)集成到自動化工作流中。
- 直接從結構化代理輸出中生成高質量的輸出(例如PDF報告),從而增強了自動化研究工作流的實際實用性。
本文是數據科學博客馬拉鬆的一部分。
目錄
- 用pydantic定義數據模型
- 構建多代理框架
- 使用及時處理器代理來完善查詢
- 紙質檢索代理有效檢索
- 用關鍵字提取代理提取關鍵字
- 用摘要代理簡明摘要
- 編排代理
- 產生專業產出
- 實際例子
- 結論
- 常見問題
用pydantic定義數據模型
定義明確的數據模型在多代理系統中至關重要。代理之間的一致,可預測的數據交換至關重要。 Pydantic通過提供直接定義Python中數據模式,確保數據一致性,減少運行時錯誤並實現無縫驗證的直接方法來優雅地解決此問題。
這是使用Pydantic結構化數據模型的示例:
來自Pydantic Import Basemodel,field 類Papermetadata(basemodel): 標題:str =字段(...,description =“紙質標題”) 摘要:str =字段(...,描述=“紙張摘要”) 作者:列表[str] = field(...,description =“作者列表”) publication_date:str = field(...,description =“出版日期”)
現場解釋
-
title
:紙質標題,可輕鬆參考和組織。 -
abstract
:關鍵字提取和摘要的簡明摘要。 -
authors
:作者列表以進行進一步查詢或引文跟踪。 -
publication_date
:分類和過濾的出版日期。
我們的系統包括五個代理:
- 及時處理器代理
- 紙取回劑
- 關鍵字提取代理
- 摘要代理
- 路由器(編排)代理
這些試劑使用Pydantic定義的模型進行交流,確保可預測和驗證的數據,最大程度地減少錯誤並增強系統魯棒性。
我們將深入研究每個代理的實現,角色和預期輸出。
構建多代理框架
在Pydantic數據模型的基礎上,我們現在檢查了多代理框架。每個代理都有特定的角色,並與他人無縫互動。
代理角色
- 及時處理器代理:完善用戶查詢以提高搜索相關性。
- 紙情況檢索代理:從外部數據庫(如Arxiv)中檢索相關論文。
- 關鍵字提取代理:從紙張摘要中提取關鍵術語。
- 摘要代理:生成紙張摘要的簡明摘要。
- 路由器代理(編排):協調工作流程,管理通信和數據流。
代理相互作用
代理依次相互作用:
- 及時處理器完善了用戶查詢。
- 精製查詢將發送到紙質檢索代理。
- 路由器將摘要發送到關鍵字提取和摘要代理。
- 路由器將結果彙編為最終報告。
這種模塊化設計可確保可維護性和可擴展性。可以獨立改進或更換代理。我們將探索每個代理的實現。
使用及時處理器代理提煉研究查詢
精確查詢對於有效搜索至關重要。及時處理器代理會完善用戶查詢,以提高學術數據庫結果的相關性。
這是及時的處理器代理實施:
@strump_processor_agent.tool 異步DEF PROCESS_PROMPT(CTX:RUNCONTEXT [researchContext],主題:str) - > str:> str: 主題= toble.strip()。下() 如果在主題中“”: 子主題= topic.split('in') main_topic =子主題[0] .STRIP() 上下文=子主題[1] .STRIP() rifined_query = f“ all:{main_topic}和cat:{context.replace('','_'')}” 別的: 精製= f“ ti:\” {topip} \“或abs:\” {topip} \“” 返回精煉_Query
改進的實現使輸入歸一化,解析上下文提示(“在”),構建結構化查詢,並包括有關更廣泛主題的後備處理。這會導致更精確的搜索。
用紙質檢索代理有效地獲取研究論文
論文檢索代理與外部API(如Arxiv)相互作用,以根據精製查詢檢索相關論文。它使用Pydantic模型來一致的數據處理。
@paper_retrieval_agent.tool 異步def fetch_papers(ctx:runcontext [researchContext]) - > list [papermetadata]: 搜索= arxiv.Search(query = ctx.deps.query,max_results = 5,sort_by = arxiv.sortcriterion.submitteddate) 結果= list(search.results()) 論文= [] 結果結果: 如果hasattr(結果,“已發布”)和結果。發布並非沒有其他“未知” paper = papermetadata(title = result.title,abract.sust.summary,authors = [作者in result.authors in result.authors],publication_date = publined_date = publined_str) 論文。附錄(紙) 返回論文
Pydantic確保數據驗證和一致性,從而簡化下游處理。
用關鍵字提取代理提取有價值的關鍵字
關鍵字提取代理從摘要中標識關鍵術語,以幫助研究人員快速評估紙張相關性。
@keyword_extraction_agent.tool 異步def extract_keywords(ctx:runcontext [researchContext],摘要:str) - > keywordresult: 單詞= Abstract.split() sew = set() unique_words = [] 用單詞詞: 歸一化= Word.Strip('。,;:“()')。下() 如果將歸一化和標準化,則不可見: SEED.ADD(歸一化) unique_words.append(歸一化) 如果len(unique_words)> = 5: 休息 返回keywordresult(keywords = unique_words)
這是一個簡化的示例;生產系統將使用更先進的NLP技術。 Pydantic保持結構化的,一致的輸出。
用摘要代理簡化論文
摘要代理生成了摘要的簡潔摘要。
@summary_agent.tool async def summarize_paper(ctx:runcontext [researchContext],摘要:str) - > papersummary: summary_text =摘要[:150] 返回論文(摘要= summary_text)
這是一個基本示例;高級摘要模型可以顯著提高摘要的質量。
將所有內容融合在一起:代理編排
路由器代理協調整個工作流程。
@router_agent.tool 異步def Orchestrate_workflow(ctx:runcontext [researchContext]) - > str: repined_query =等待提示 論文=等待paper_retrieval_agent.run(rupined_query.data,deps = ctx.deps) 響應=“最終報告:\ n” 對於紙張中的紙。 data: 關鍵字=等待關鍵word_extraction_agent.run(paper.abstract,deps = ctx.deps) 摘要=等待summary_agent.run(paper.abstract,deps = ctx.deps) 響應=(( f“ \ ntitle:{paper.title} \ n” f“關鍵字:{keywords.data.keywords} \ n” f“摘要:{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) 使用opent(output_filename,“ wb”)作為result_file: pisa.createpdf(html_text,dest = result_file)
這利用結構化數據可輕鬆轉換為可讀的PDF。
動作中的多代理系統:實踐示例
通過示例證明了系統的有效性。 (此處將包括示例,顯示該系統的不同研究主題的輸出。)
結論
這款由Pydantic構建的多代理研究助理系統有效地自動化了研究工作流程並生成專業報告。 Pydantic的結構化數據處理是系統可靠性和可擴展性的關鍵。
常見問題
(此處將包括常見問題解答,解決有關係統的常見問題。)
(注意:圖像和代碼片段是佔位符。需要單獨提供完整的代碼。)
以上是使用Pydantic構建結構化研究自動化系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

經常使用“ AI-Ready勞動力”一詞,但是在供應鏈行業中確實意味著什麼? 供應鏈管理協會(ASCM)首席執行官安倍·埃什肯納齊(Abe Eshkenazi)表示,它表示能夠評論家的專業人員

分散的AI革命正在悄悄地獲得動力。 本週五在德克薩斯州奧斯汀,Bittensor最終遊戲峰會標誌著一個關鍵時刻,將分散的AI(DEAI)從理論轉變為實際應用。 與閃閃發光的廣告不同

企業AI面臨數據集成挑戰 企業AI的應用面臨一項重大挑戰:構建能夠通過持續學習業務數據來保持準確性和實用性的系統。 NeMo微服務通過創建Nvidia所描述的“數據飛輪”來解決這個問題,允許AI系統通過持續接觸企業信息和用戶互動來保持相關性。 這個新推出的工具包包含五個關鍵微服務: NeMo Customizer 處理大型語言模型的微調,具有更高的訓練吞吐量。 NeMo Evaluator 提供針對自定義基準的AI模型簡化評估。 NeMo Guardrails 實施安全控制,以保持合規性和適當的

AI:藝術與設計的未來畫卷 人工智能(AI)正以前所未有的方式改變藝術與設計領域,其影響已不僅限於業餘愛好者,更深刻地波及專業人士。 AI生成的藝術作品和設計方案正在迅速取代傳統的素材圖片和許多交易性設計活動中的設計師,例如廣告、社交媒體圖片生成和網頁設計。 然而,專業藝術家和設計師也發現AI的實用價值。他們將AI作為輔助工具,探索新的美學可能性,融合不同的風格,創造新穎的視覺效果。 AI幫助藝術家和設計師自動化重複性任務,提出不同的設計元素並提供創意輸入。 AI支持風格遷移,即將一種圖像的風格應用

Zoom最初以其視頻會議平台而聞名,它通過創新使用Agentic AI來引領工作場所革命。 最近與Zoom的CTO XD黃的對話揭示了該公司雄心勃勃的願景。 定義代理AI 黃d

AI會徹底改變教育嗎? 這個問題是促使教育者和利益相關者的認真反思。 AI融入教育既提出了機遇和挑戰。 正如科技Edvocate的馬修·林奇(Matthew Lynch)所指出的那樣

美國科學研究和技術發展或將面臨挑戰,這或許是由於預算削減導致的。據《自然》雜誌報導,2025年1月至3月期間,美國科學家申請海外工作的數量比2024年同期增加了32%。此前一項民意調查顯示,75%的受訪研究人員正在考慮前往歐洲和加拿大尋找工作。 過去幾個月,數百項NIH和NSF的撥款被終止,NIH今年的新撥款減少了約23億美元,下降幅度接近三分之一。洩露的預算提案顯示,特朗普政府正在考慮大幅削減科學機構的預算,削減幅度可能高達50%。 基礎研究領域的動盪也影響了美國的一大優勢:吸引海外人才。 35

Openai推出了強大的GPT-4.1系列:一個專為現實世界應用設計的三種高級語言模型家族。 這種巨大的飛躍提供了更快的響應時間,增強的理解和大幅降低了成本


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能