跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

自进化医疗智能体:动态记忆与持续运行 Python 架构编程(下)

自进化医疗智能体的架构实现细节。在情景记忆方面,设计了 EpisodicMemoryRepository 类,通过结构化事件记录患者交互数据而非自由文本,便于后续分析与训练。在运行时方面,实现了基于 asyncio 和 aio_pika 的异步主循环 AgentRuntime,支持消息队列消费、超时处理及优雅关闭,确保系统稳定运行并控制上下文长度。

DataScient发布于 2026/3/30更新于 2026/9/153 浏览
自进化医疗智能体:动态记忆与持续运行 Python 架构编程(下)

这里保留最近 20 轮对话,而不是无限累加,有助于控制上下文膨胀。

7.4 情景记忆的写入接口
from datetime import datetime
from typing import Dict, Any

class EpisodicMemoryRepository:
    def __init__(self, db_client):
        self.db = db_client

    def record_event(
        self,
        patient_id: str,
        event_type: str,
        payload: Dict[str, Any],
        model_version: str,
        trace_id: str
    ) -> None:
        row = {
            "patient_id": patient_id,
            "event_type": event_type,
            "payload": payload,
            "model_version": model_version,
            "trace_id": trace_id,
            "created_at": datetime.utcnow().isoformat()
        }
        self.db.insert(row)

工程上建议把写入接口设计成'结构化事件',而不是自由文本日志,这样后续分析、统计和训练样本构造都会更方便。

7.5 异步运行主循环的稳健版本
import asyncio
import aio_pika
import json
from contextlib import suppress

class AgentRuntime:
    def __init__(self, amqp_url: str, request_queue: str):
        self.amqp_url = amqp_url
        self.request_queue = request_queue
        self._shutdown = asyncio.Event()

    async def handle_payload(self, payload: dict) -> dict:
        # 真实系统中这里会调用上下文组装、检索、规则校验与推理
        return {"status": "ok", "echo": payload}

    async def process_message(self, message: aio_pika.IncomingMessage):
        async with message.process(requeue=False):
            payload = json.loads(message.body.decode())
            response = await asyncio.wait_for(self.handle_payload(payload), timeout=15)
            print("response=", response)

    async def run(self):
        connection = await aio_pika.connect_robust(self.amqp_url)
        channel = await connection.channel()
        await channel.set_qos(prefetch_count=20)
        queue = await channel.declare_queue(self.request_queue, durable=True)
        await queue.consume(self.process_message)
        try:
            await self._shutdown.wait()
        finally:
            with suppress(Exception):
                await channel.close()

目录

  1. 7.4 情景记忆的写入接口
  2. 7.5 异步运行主循环的稳健版本

更多推荐文章

查看全部
  • 《Agent Runtime 工程化》第九章 可观测与 Trace:9.6 动手任务
  • 基于 Spring Boot 的在线考试系统设计与实现——学生课程实践记录
  • Java 异常处理:核心原理与实战最佳实践
  • Mac 系统下载 Visual Studio for Mac 存档版指南
  • 大模型算法岗面试核心知识点与真题汇总
  • Visual C++ 运行库安装故障排查与修复指南
  • AI 辅助编程边界:当 Copilot 尝试编写测试
  • 使用 Gitee、PicGo 和 Typora 搭建免费个人笔记工具
  • 飞书自定义机器人 Webhook 接入实战
  • Cute_Animal_For_Kids_Qwen_Image 儿童专属 AI 绘画工具使用指南
  • 普通人如何利用 AI 工具提升效率与变现
  • AI如何把细胞生物学从观察带到预测
  • Deepyr 在 OpenHarmony 上的适配与实战指南
  • SpringBoot 登录认证全栈实现:Session、统一结果封装、MD5 加密与拦截器
  • LeetCode 965. Univalued Binary Tree C 语言解法
  • 从语法纠错到项目重构:Python+Copilot 的全流程开发效率提升指南
  • 模拟算法实战:替换问号、提莫攻击、Z 字形变换等五题详解
  • OpenAI 集成 Langchain 操作实战详解
  • 前端开发:如何使用浏览器开发者工具查看接口请求与响应
  • 基于腾讯云服务器部署 Openclaw 并接入飞书与 NVIDIA 模型

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online