
RPA工作流自动化低代码桌面应用后端前端企业应用【免费下载链接】astron-rpaEnterprise-grade desktop RPA client with a pluggable library of atomic capabilities, policy‑friendly packaging, and CI/CD‑friendly CLI. Integrates with leading Agent platforms and LLMs for end‑to‑end desktop/web automation. 这是一个镜像仓库有issue、pr欢迎去github提交。项目地址https://gitcode.com/ifly_opensource/astron-rpa点击查看免费下载导读本文聚焦 astron-rpa 仓库中backend/ai-serviceAI Service 智能服务平台的文档摘要能力。AI Service 内置了「文档分析师」预设 Promptdocument_summary_prompt.md用于让大模型对任意文档执行结构化摘要先给出 3~5 点核心要点再提取关键信息最后点出重要数据或结论。读完本文你将掌握该模板的完整设计思路、它与prompt_dict注册机制的关系以及如何通过POST /v1/chat/prompt接口、curl命令和 SDK 调用它并了解其底层在 app/utils/prompt.py 中如何被渲染为真实请求。一、模板全文与设计意图document_summary_prompt.md是 AI Service「预设 Prompt」家族中的一员完整内容如下位于 backend/ai-service/app/prompts/document_summary_prompt.md你是一个专业的文档分析师请仔细阅读以下文档内容并提供简洁明了的摘要 文档类型$doc_type 文档内容 $content 请提供 1. 核心要点摘要3-5点 2. 关键信息提取 3. 如果有的话提及重要的数据或结论 请用简洁的中文回复。这份模板虽然篇幅不长却定义了一个完整的文档摘要任务规范包含四个关键要素要素内容作用角色设定「你是一个专业的文档分析师」约束模型以专业分析视角阅读文档避免泛泛而谈输入参数$doc_type文档类型、$content文档内容告知模型「读什么」并允许按类型调整分析侧重输出结构核心要点摘要3-5 点→ 关键信息提取 → 重要数据或结论强制结构化输出保证摘要质量稳定、可消费语言约束「请用简洁的中文回复」统一输出语言便于下游直接使用模板刻意要求「简洁明了」并结合「3-5 点」的量化约束目的是控制模型输出长度与粒度让摘要结果更适合被后续程序如积分计费后的业务逻辑、RPA 流程中的文档入库直接消费。二、模板在 AI Service 中的注册与渲染机制2.1 prompt_dict 注册表该模板通过 app/utils/prompt.py 中的prompt_dict注册为document_summary类型prompt_dict { # 主要原子能力 translate: translate_prompt.md, code_review: code_review_prompt.md, document_summary: document_summary_prompt.md, sql_generator: sql_generator_prompt.md, business_analysis: business_analysis_prompt.md, email_writer: email_writer_prompt.md, # 招聘相关 recruit_keywords: recruit/recruit_keywords_prompt.md, ... }从源码结构看document_summary与translate、code_review、sql_generator等并列属于 AI Service 的「主要原子能力」之一同类型的预设模板还有招聘recruit/、合同contract/、智能组件smart/等子目录体现出「一个业务场景一个模板文件」的组织方式。2.2 format_prompt 渲染函数format_promptapp/utils/prompt.py负责把模板文件渲染成最终发送给大模型的提示词核心逻辑如下def format_prompt(prompt_type: str, params: dict {}) - str: 格式化prompt模板 from string import Template template_file_name prompt_dict.get(prompt_type) if not template_file_name: raise ValueError(fUnknown prompt type: {prompt_type}) template_file_path PROMPTS_DIR / template_file_name if not template_file_path.exists(): raise FileNotFoundError(fPrompt template not found: {template_file_path}) # 读取文件 content template_file_path.read_text(encodingutf-8) template Template(content) return template.safe_substitute(**params)关键点PROMPTS_DIR定义为Path(__file__).parent.parent / prompts即app/prompts/目录所有模板统一存放于此Template.safe_substitute采用 Python 标准库string.Template的$占位符语法对应模板中的$doc_type、$content。使用safe_substitute而非substitute的好处是当某个占位符没有对应参数时不会抛异常而是保留原样对缺失参数更宽容错误处理未知的prompt_type抛出ValueError模板文件缺失抛出FileNotFoundError这两个异常都会在路由层被转换为 400 响应。get_available_prompts()app/utils/prompt.py则返回所有已注册的 prompt 类型列表供接口层做合法性校验和提示。三、通过 /v1/chat/prompt 调用文档摘要3.1 请求参数定义调用文档摘要的入口是POST /v1/chat/prompt请求体由 app/schemas/chat.py 中的ChatPromptParam定义class ChatPromptParam(BaseModel): model: str Field(DEFAULT_MODEL, examples[DEFAULT_MODEL]) stream: bool Field(False, examples[True]) prompt_type: str Field( ..., examples[translate, code_review, document_summary, sql_generator, business_analysis, email_writer], description预设prompt类型, ) params: Optional[dict] Field( None, examples[ ... {doc_type: 技术文档, content: 这是一个关于API的文档...}, # document_summary ... ], descriptionprompt模板参数, )针对document_summary类型params需要提供两个键参数类型说明doc_typestring文档类型例如「技术文档」「需求说明书」「会议纪要」用于引导模型按类型分析contentstring待摘要的文档全文内容model字段默认值为maas/deepseek-v3.2见 app/schemas/chat.py 的DEFAULT_MODELstream默认falsetemperature取值范围为0.0 ~ 2.0max_tokens示例为 4096。3.2 服务端处理流程/v1/chat/prompt路由实现在 app/routers/v1/chat.py处理链路为积分校验通过PointChecker依赖app/dependencies/points.py检查用户积分积分不足时返回 403每次成功调用按AICHAT_POINTS_COST默认 100 积分/次见 app/config.py扣费类型校验若prompt_type不在prompt_dict中返回 400 并附带可用类型列表模板渲染调用format_prompt(params.prompt_type, params.params or {})将$doc_type、$content替换为实际内容生成完整提示词构造消息以{role: user, content: formatted_prompt}构造消息体连同model、stream组成请求数据通过ChatCompletionParam.model_validate(data)校验后转发给上游大模型上游转发最终由 app/services/chat.py 的chat_completions调用 OpenAI 兼容格式的/chat/completions接口AICHAT_BASE_URLAICHAT_API_KEY由环境变量配置支持流式text/event-stream与非流式两种模式成功扣费并返回非流式场景下服务端解析上游 JSON把choices[0].message.content封装进StandardResponsecode、msg、data三段结构见 app/schemas/init.py返回。3.3 curl 调用示例curl -X POST http://localhost:8010/v1/chat/prompt \ -H Content-Type: application/json \ -H X-User-Id: 123 \ -d { model: maas/deepseek-v3.2, stream: false, prompt_type: document_summary, params: { doc_type: 技术文档, content: astron-rpa 是一个企业级桌面 RPA 客户端提供可插拔的原子能力库、策略友好的打包方式与 CI/CD 友好的命令行工具并与主流 Agent 平台和 LLM 集成实现端到端的桌面/网页自动化。 } }说明请求头X-User-Id或user_id用于标识调用用户服务端据此做积分校验与扣减参见 README.zh.md 的「认证说明」非流式响应体中data字段即为模型生成的文档摘要文本结构为{ code: 0000, msg: 调用 document_summary prompt 成功, data: 1. 核心要点...\n2. 关键信息...\n3. 重要数据/结论... }若需流式输出将stream置为true响应将以text/event-stream分块返回适合长文档摘要的渐进式展示服务端实现了超时与上游错误的处理详见 app/services/chat.py。3.4 响应码速查场景HTTP 状态码说明调用成功200code0000data携带摘要结果未知 prompt_type400附带Available types提示积分不足403PointChecker拦截上游模型超时504提示「大模型调用超时请稍后重试」上游 API 错误5xx透传上游状态码并记录详细日志四、模板体系与扩展思路4.1 同类模板对比document_summary_prompt.md采用「角色设定 参数输入 结构化输出要求」三段式结构这与 AI Service 其他预设模板风格一致例如translate_prompt.md翻译大师占位符$name要求「只返回翻译后的结果」business_analysis_prompt.md商业分析专家占位符$topic、$data、$perspective要求输出「现状分析→问题识别→改进建议→预期效果」。可以看到文档摘要模板的「3-5 点核心要点 关键信息提取 重要数据/结论」正是这类「结构化输出约束」的典型写法——通过固定小节与数量边界让大模型输出从自由文本收敛为稳定、可解析的结构。4.2 智能组件场景中的模板复用模板渲染机制不仅服务于/v1/chat/prompt也被智能组件服务复用在 app/routers/smart_component.py 中format_prompt(request.sceneCode, {})被用于将smart/目录下的场景 Prompt如web_auto_prompt.md、data_process_prompt.md、optimize_input_prompt.md作为system消息注入对话再拼接页面元素信息元素 ID、XPath、截图、outerHTML构造完整消息。这说明format_prompt是一个通用的「模板→提示词」基础设施任何新能力只需两步即可接入在prompts/下新增模板文件并在prompt_dict中注册一个类型名。4.3 新增文档摘要变体的路径若需要在现有「通用文档摘要」基础上扩展例如「合同摘要」「招聘简历摘要」可以参照recruit/、contract/的子目录组织方式在 backend/ai-service/app/prompts 下新建子目录与模板文件如contract/contract_common_prompt.md在 app/utils/prompt.py 的prompt_dict中注册新类型名并指向该文件调用时使用新的prompt_type并传入对应的params其余链路积分、转发、返回格式全部复用无需改动路由与服务层。五、验证与测试仓库为 AI Service 的聊天接口提供了完整测试用例backend/ai-service/tests/routers/test_chat.py覆盖非流式与流式两种调用模式非流式测试断言响应为 JSON 且包含期望答案流式测试断言响应为text/event-stream且以data:开头、以\n\n结尾。运行方式# 启动测试数据库后运行全部测试 pytest # 单独运行聊天路由测试 pytest tests/routers/test_chat.py此外AI Service 的 READMEbackend/ai-service/README.zh.md提供了完整的启动方式uv run python run.py dev、环境变量配置AICHAT_BASE_URL、AICHAT_API_KEY、AICHAT_POINTS_COST等以及 Docker 部署说明可作为在真实环境验证文档摘要接口的参考。结语document_summary_prompt.md看似只有寥寥数行却是 AI Service「预设 Prompt 模板渲染 统一计费」架构中的一个最小完整示例它定义了文档摘要的角色、输入与输出约束通过 prompt.py 的注册与渲染机制接入/v1/chat/prompt接口最终由 chat.py 统一转发给上游大模型并完成积分扣减。理解这条链路就等于掌握了 AI Service 所有预设 Prompt 能力的通用运行框架——后续无论是扩展新的摘要变体还是接入翻译、代码评审、商业分析等其他原子能力都可以复用同一套模式。赞分享RPA工作流自动化低代码桌面应用后端前端企业应用【免费下载链接】astron-rpaEnterprise-grade desktop RPA client with a pluggable library of atomic capabilities, policy‑friendly packaging, and CI/CD‑friendly CLI. Integrates with leading Agent platforms and LLMs for end‑to‑end desktop/web automation. 这是一个镜像仓库有issue、pr欢迎去github提交。项目地址https://gitcode.com/ifly_opensource/astron-rpa点击查看免费下载相关推荐astron-rpa AI Service 文档摘要 Prompt 模板全解析结构设计、调用链路与实战指南astron rpa AI Service 文档摘要 Prompt 模板全解析结构设计、调用链路与实战指南 导读 本文以 astron rpa 仓库中 AI工作流自动化低代码桌面应用AI Agent后端astron-rpa AI Service 商业分析提示词模板深度解析从 prompt 参数到 /v1/chat/prompt 接口的完整调用实践astron rpa AI Service 商业分析提示词模板深度解析从 prompt 参数到 /v1/chat/prompt 接口的完整调用实践 导读 本文工作流自动化低代码桌面应用AI Agent后端Astron-RPA 智能服务平台合同要素提取提示词解析从模板设计到 /v1/chat/prompt 调用实战Astron RPA 智能服务平台合同要素提取提示词解析从模板设计到 /v1/chat/prompt 调用实战 导读 本文聚焦 Astron RPA 仓库中工作流自动化低代码桌面应用AI Agent后端上一篇AReaL 适配 BailingMoeV2.5 异构 MoE 模型Lightning Attention MLA 混合架构移植与训练指南下一篇dlt 接入 AWS Athena 目标完整指南S3 Parquet 外部表、Iceberg 与分区适配器详解创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考