搜索
首页科技周边人工智能使用Pydantic构建结构化研究自动化系统

在学术研究的动态领域,有效的信息收集,综合和演示至关重要。文献综述的手动过程是耗时的,阻碍了更深入的分析。由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
易于理解的解释如何保存对话历史记录(对话日志)!易于理解的解释如何保存对话历史记录(对话日志)!May 16, 2025 am 05:41 AM

高效保存ChatGPT对话记录的多种方法 您是否曾想过保存ChatGPT生成的对话记录?本文将详细介绍多种保存方法,包括官方功能、Chrome扩展程序和截图等,助您充分利用ChatGPT对话记录。 了解各种方法的特点和步骤,选择最适合您的方式。 [OpenAI最新发布的AI代理“OpenAI Operator”介绍](此处应插入OpenAI Operator的链接) 目录 使用ChatGPT导出功能保存对话记录 官方导出功能的使用步骤 使用Chrome扩展程序保存ChatGPT日志 ChatGP

使用Chatgpt创建时间表!解释可用于创建和调整表的提示使用Chatgpt创建时间表!解释可用于创建和调整表的提示May 16, 2025 am 05:40 AM

现代社会节奏紧凑,高效的日程管理至关重要。工作、生活、学习等任务交织在一起,优先级排序和日程安排常常让人头疼不已。 因此,利用AI技术的智能日程管理方法备受关注。特别是利用ChatGPT强大的自然语言处理能力,可以自动化繁琐的日程安排和任务管理,显着提高生产力。 本文将深入讲解如何利用ChatGPT进行日程管理。我们将结合具体的案例和步骤,展示AI如何提升日常生活和工作效率。 此外,我们还会讨论使用ChatGPT时需要注意的事项,确保安全有效地利用这项技术。 立即体验ChatGPT,让您的日程

如何将chatgpt与电子表格连接!对您可以做什么的详尽解释如何将chatgpt与电子表格连接!对您可以做什么的详尽解释May 16, 2025 am 05:39 AM

我们将解释如何将Google表和Chatgpt联系起来,以提高业务效率。在本文中,我们将详细解释如何使用易于使用的“床单和文档的GPT”附加组件。无需编程知识。 通过CHATGPT和电子表格集成提高业务效率 本文将重点介绍如何使用附加组件将Chatgpt与电子表格连接。附加组件使您可以轻松地将ChatGpt功能集成到电子表格中。 gpt for shee

6个投资者对AI的预测于2025年6个投资者对AI的预测于2025年May 16, 2025 am 05:37 AM

专家们预测AI革命的未来几年,专家们预测专家们都在强调了总体趋势和模式。例如,对数据的需求很大,我们将在后面讨论。此外,对能量的需求是D

使用chatgpt进行写作!提示的提示和示例的详尽说明!使用chatgpt进行写作!提示的提示和示例的详尽说明!May 16, 2025 am 05:36 AM

Chatgpt不仅是文本生成工具,而且是一个真正的合作伙伴,可显着提高作家的创造力。通过在整个写作过程中使用chatgpt,例如初始手稿创建,构思想法和风格变化,您可以同时节省时间并提高质量。本文将详细说明在每个阶段使用Chatgpt的特定方法,以及最大化生产力和创造力的技巧。此外,我们将研究将Chatgpt与语法检查工具和SEO优化工具相结合的协同作用。通过与AI的合作,作家可以通过免费想法创造独创性

如何在chatgpt中创建图形!无需插件,因此也可以用于Excel!如何在chatgpt中创建图形!无需插件,因此也可以用于Excel!May 16, 2025 am 05:35 AM

使用chatgpt的数据可视化:从图创建到数据分析 数据可视化以易于理解的方式传达复杂信息,在现代社会中至关重要。近年来,由于AI技术的进步,使用Chatgpt的图形创建引起了人们的关注。在本文中,我们将解释如何以易于理解的方式使用Chatgpt创建图形,甚至对于初学者。我们将介绍免费版本和付费版本(Chatgpt Plus),特定创建步骤以及如何显示日语标签以及实际示例之间的差异。 使用chatgpt创建图形:从基础到高级使用 chatg

用餐盘推动现代LLM的极限?用餐盘推动现代LLM的极限?May 16, 2025 am 05:34 AM

通常,我们知道AI很大,而且越来越大。快速,越来越快。 但是,具体来说,并不是每个人都熟悉行业中一些最新的硬件和软件方法,以及它们如何促进更好的结果。人民

归档您的Chatgpt对话历史!解释保存的步骤以及如何还原归档您的Chatgpt对话历史!解释保存的步骤以及如何还原May 16, 2025 am 05:33 AM

ChatGPT对话记录管理指南:高效整理,充分利用你的知识宝库! ChatGPT对话记录是创意和知识的源泉,但不断增长的记录如何有效管理呢? 查找重要信息耗时费力?别担心!本文将详细讲解如何有效“归档”(保存和管理)你的ChatGPT对话记录。我们将涵盖官方归档功能、数据导出、共享链接以及数据利用和注意事项。 目录 ChatGPT的“归档”功能详解 ChatGPT归档功能使用方法 ChatGPT归档记录的保存位置和查看方法 ChatGPT归档记录的取消和删除方法 取消归档 删除归档 总结 Ch

See all articles

热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

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

热工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。