目录
关键学习目标
目录
用pydantic定义数据模型
现场解释
构建多代理框架
代理角色
代理相互作用
使用及时处理器代理提炼研究查询
用纸质检索代理有效地获取研究论文
用关键字提取代理提取有价值的关键字
用摘要代理简化论文
将所有内容融合在一起:代理编排
通过结构化数据生成专业输出
动作中的多代理系统:实践示例
结论
常见问题
首页 科技周边 人工智能 使用Pydantic构建结构化研究自动化系统

使用Pydantic构建结构化研究自动化系统

Apr 24, 2025 am 10:32 AM

在学术研究的动态领域,有效的信息收集,综合和演示至关重要。文献综述的手动过程是耗时的,阻碍了更深入的分析。由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构建结构化研究自动化系统

我们将深入研究每个代理的实现,角色和预期输出。

构建多代理框架

在Pydantic数据模型的基础上,我们现在检查了多代理框架。每个代理都有特定的角色,并与他人无缝互动。

代理角色

  • 及时处理器代理:完善用户查询以提高搜索相关性。
  • 纸情况检索代理:从外部数据库(如Arxiv)中检索相关论文。
  • 关键字提取代理:从纸张摘要中提取关键术语。
  • 摘要代理:生成纸张摘要的简明摘要。
  • 路由器代理(编排):协调工作流程,管理通信和数据流。

代理相互作用

代理依次相互作用:

  1. 及时处理器完善了用户查询。
  2. 精制查询将发送到纸质检索代理。
  3. 路由器将摘要发送到关键字提取和摘要代理。
  4. 路由器将结果汇编为最终报告。

这种模块化设计可确保可维护性和可扩展性。可以独立改进或更换代理。我们将探索每个代理的实现。

使用及时处理器代理提炼研究查询

精确查询对于有效搜索至关重要。及时处理器代理会完善用户查询,以提高学术数据库结果的相关性。

这是及时的处理器代理实施:

 @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:runco​​ntext [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:runco​​ntext [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:runco​​ntext [researchContext],摘要:str) - > papersummary:
    summary_text =摘要[:150]
    返回论文(摘要= summary_text)
登录后复制

这是一个基本示例;高级摘要模型可以显着提高摘要的质量。

将所有内容融合在一起:代理编排

路由器代理协调整个工作流程。

 @router_agent.tool
异步def Orchestrate_workflow(ctx:runco​​ntext [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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1660
14
CakePHP 教程
1416
52
Laravel 教程
1311
25
PHP教程
1261
29
C# 教程
1234
24
开始使用Meta Llama 3.2 -Analytics Vidhya 开始使用Meta Llama 3.2 -Analytics Vidhya Apr 11, 2025 pm 12:04 PM

Meta的Llama 3.2:多模式和移动AI的飞跃 Meta最近公布了Llama 3.2,这是AI的重大进步,具有强大的视觉功能和针对移动设备优化的轻量级文本模型。 以成功为基础

10个生成AI编码扩展,在VS代码中,您必须探索 10个生成AI编码扩展,在VS代码中,您必须探索 Apr 13, 2025 am 01:14 AM

嘿,编码忍者!您当天计划哪些与编码有关的任务?在您进一步研究此博客之前,我希望您考虑所有与编码相关的困境,这是将其列出的。 完毕? - 让&#8217

AV字节:Meta' llama 3.2,Google的双子座1.5等 AV字节:Meta' llama 3.2,Google的双子座1.5等 Apr 11, 2025 pm 12:01 PM

本周的AI景观:进步,道德考虑和监管辩论的旋风。 OpenAI,Google,Meta和Microsoft等主要参与者已经释放了一系列更新,从开创性的新车型到LE的关键转变

向员工出售AI策略:Shopify首席执行官的宣言 向员工出售AI策略:Shopify首席执行官的宣言 Apr 10, 2025 am 11:19 AM

Shopify首席执行官TobiLütke最近的备忘录大胆地宣布AI对每位员工的基本期望是公司内部的重大文化转变。 这不是短暂的趋势。这是整合到P中的新操作范式

GPT-4O vs OpenAI O1:新的Openai模型值得炒作吗? GPT-4O vs OpenAI O1:新的Openai模型值得炒作吗? Apr 13, 2025 am 10:18 AM

介绍 Openai已根据备受期待的“草莓”建筑发布了其新模型。这种称为O1的创新模型增强了推理能力,使其可以通过问题进行思考

视觉语言模型(VLMS)的综合指南 视觉语言模型(VLMS)的综合指南 Apr 12, 2025 am 11:58 AM

介绍 想象一下,穿过​​美术馆,周围是生动的绘画和雕塑。现在,如果您可以向每一部分提出一个问题并获得有意义的答案,该怎么办?您可能会问:“您在讲什么故事?

如何在SQL中添加列? - 分析Vidhya 如何在SQL中添加列? - 分析Vidhya Apr 17, 2025 am 11:43 AM

SQL的Alter表语句:动态地将列添加到数据库 在数据管理中,SQL的适应性至关重要。 需要即时调整数据库结构吗? Alter表语句是您的解决方案。本指南的详细信息添加了Colu

最新的最佳及时工程技术的年度汇编 最新的最佳及时工程技术的年度汇编 Apr 10, 2025 am 11:22 AM

对于那些可能是我专栏新手的人,我广泛探讨了AI的最新进展,包括体现AI,AI推理,AI中的高科技突破,及时的工程,AI培训,AI,AI RE RE等主题

See all articles