目录
关键学习目标
目录
用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)

最佳AI艺术生成器(免费付款)创意项目 最佳AI艺术生成器(免费付款)创意项目 Apr 02, 2025 pm 06:10 PM

本文回顾了AI最高的艺术生成器,讨论了他们的功能,对创意项目的适用性和价值。它重点介绍了Midjourney是专业人士的最佳价值,并建议使用Dall-E 2进行高质量的可定制艺术。

开始使用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的重大进步,具有强大的视觉功能和针对移动设备优化的轻量级文本模型。 以成功为基础

最佳AI聊天机器人比较(Chatgpt,Gemini,Claude&更多) 最佳AI聊天机器人比较(Chatgpt,Gemini,Claude&更多) Apr 02, 2025 pm 06:09 PM

本文比较了诸如Chatgpt,Gemini和Claude之类的顶级AI聊天机器人,重点介绍了其独特功能,自定义选项以及自然语言处理和可靠性的性能。

Chatgpt 4 o可用吗? Chatgpt 4 o可用吗? Mar 28, 2025 pm 05:29 PM

Chatgpt 4当前可用并广泛使用,与诸如ChatGpt 3.5(例如ChatGpt 3.5)相比,在理解上下文和产生连贯的响应方面取得了重大改进。未来的发展可能包括更多个性化的间

顶级AI写作助理来增强您的内容创建 顶级AI写作助理来增强您的内容创建 Apr 02, 2025 pm 06:11 PM

文章讨论了Grammarly,Jasper,Copy.ai,Writesonic和Rytr等AI最高的写作助手,重点介绍了其独特的内容创建功能。它认为Jasper在SEO优化方面表现出色,而AI工具有助于保持音调的组成

选择最佳的AI语音生成器:评论的顶级选项 选择最佳的AI语音生成器:评论的顶级选项 Apr 02, 2025 pm 06:12 PM

本文评论了Google Cloud,Amazon Polly,Microsoft Azure,IBM Watson和Discript等高级AI语音生成器,重点介绍其功能,语音质量和满足不同需求的适用性。

构建AI代理的前7个代理抹布系统 构建AI代理的前7个代理抹布系统 Mar 31, 2025 pm 04:25 PM

2024年见证了从简单地使用LLM进行内容生成的转变,转变为了解其内部工作。 这种探索导致了AI代理的发现 - 自主系统处理任务和最少人工干预的决策。 Buildin

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的关键转变

See all articles