hello_agent第八章总结

📅 发布时间:2026/7/8 4:04:20 👁️ 浏览次数:
hello_agent第八章总结
文章目录第八章 记忆与检索 知识树一、记忆系统Memory System核心工具MemoryToolhello_agents/tools/builtin/memory_tool.py核心接口函数初始化逻辑核心协调器MemoryManagerhello_agents/memory/manager.py核心函数核心属性四大记忆类型hello_agents/memory/types/1. WorkingMemoryworking.py- 工作记忆2. EpisodicMemoryepisodic.py- 情景记忆3. SemanticMemorysemantic.py- 语义记忆4. PerceptualMemoryperceptual.py- 感知记忆存储层hello_agents/memory/storage/1. SQLiteDocumentStoredocument_store.py2. QdrantVectorStoreqdrant_store.py3. Neo4jGraphStoreneo4j_store.py嵌入服务层hello_agents/memory/embedding.py二、RAG系统Retrieval-Augmented Generation核心工具RAGToolhello_agents/tools/builtin/rag_tool.py核心接口函数初始化逻辑RAG管道hello_agents/memory/rag/pipeline.py核心流程函数核心属性文档处理层hello_agents/memory/rag/document.py核心函数实现方式高级检索策略hello_agents/memory/rag/retrieval.py1. 多查询扩展MQE2. 假设文档嵌入HyDE3. 扩展检索框架核心辅助函数第八章 记忆与检索 知识树一、记忆系统Memory System核心工具MemoryToolhello_agents/tools/builtin/memory_tool.py核心接口函数execute统一入口分发add/search/summary/stats/update/remove/forget/consolidate/clear_all操作_add_memory添加记忆处理会话ID/多模态元数据/上下文补充调用memory_manager.add_memory_search_memory搜索记忆参数标准化调用memory_manager.retrieve_memories格式化结果_forget遗忘记忆支持importance_based/time_based/capacity_based三种策略_consolidate整合记忆短期记忆转长期记忆按importance_threshold筛选初始化逻辑接收user_id/memory_config/memory_types参数初始化MemoryManager按需启用working/episodic/semantic/perceptual记忆类型核心协调器MemoryManagerhello_agents/memory/manager.py核心函数__init__初始化MemoryStore/MemoryRetriever按需实例化各记忆类型add_memory分发记忆添加请求到对应记忆类型模块retrieve_memories分发记忆检索请求聚合多类型结果forget_memories调用对应记忆类型的遗忘方法统计遗忘数量consolidate_memories跨记忆类型迁移数据按阈值筛选核心属性storeMemoryStore实例统一存储入口retrieverMemoryRetriever实例统一检索入口memory_types字典存储各启用的记忆类型实例四大记忆类型hello_agents/memory/types/1. WorkingMemoryworking.py- 工作记忆核心函数add添加前过期清理/容量控制、retrieveTF-IDF关键词混合检索评分函数_calculate_keyword_score、_calculate_time_decay综合相似度时间重要性实现方式纯内存存储TTL自动清理混合检索策略容量有限默认50条2. EpisodicMemoryepisodic.py- 情景记忆核心函数add创建Episode对象更新会话索引持久化到SQLiteQdrant、retrieve结构化过滤语义向量检索评分函数_calculate_episode_score向量相似度×0.8时间近因性×0.2×重要性权重实现方式SQLiteQdrant混合存储支持时间序列/会话级检索结构化向量混合检索3. SemanticMemorysemantic.py- 语义记忆核心函数add生成嵌入提取实体/关系存储到Neo4jQdrant、retrieve向量图语义推理混合检索融合函数_combine_and_rank_results向量相似度×0.7图相似度×0.3×重要性权重实现方式Neo4jQdrant混合架构实体/关系提取构建知识图谱多策略混合检索4. PerceptualMemoryperceptual.py- 感知记忆核心函数add按模态编码存储到对应Qdrant集合、retrieve同/跨模态向量检索编码函数_encode_data文本/图像/音频分别调用对应编码器评分函数_calculate_recency_score指数衰减模型融合向量时间重要性实现方式按模态分离的Qdrant向量存储多模态编码器CLIP/CLAP支持跨模态检索存储层hello_agents/memory/storage/1. SQLiteDocumentStoredocument_store.py核心函数save、load、query结构化数据持久化支持复杂条件查询2. QdrantVectorStoreqdrant_store.py核心函数add_vectors、search_similar高性能向量存储/检索支持命名空间隔离3. Neo4jGraphStoreneo4j_store.py核心函数_add_entity_to_graph、_add_relation_to_graph知识图谱构建/查询嵌入服务层hello_agents/memory/embedding.py核心函数create_embedding_model_with_fallback、get_text_embedder实现方式支持DashScopeEmbedding云端、LocalTransformerEmbedding本地、TFIDFEmbedding兜底统一嵌入接口二、RAG系统Retrieval-Augmented Generation核心工具RAGToolhello_agents/tools/builtin/rag_tool.py核心接口函数execute统一入口分发add_text/add_document/search/ask/stats操作_add_document调用RAG管道处理多格式文档完成从转换到存储的全流程_search调用扩展检索框架支持MQE/HyDE返回相关知识片段_ask检索相关片段构建上下文调用LLM生成答案初始化逻辑接收knowledge_base_path/collection_name/rag_namespace参数创建RAG管道初始化LLM实例按命名空间隔离知识库RAG管道hello_agents/memory/rag/pipeline.py核心流程函数create_rag_pipeline创建端到端RAG处理管道整合文档处理/嵌入/存储/检索index_document调用文档处理→分块→向量化→存储全流程search调用扩展检索策略返回Top-K相关片段核心属性processorDocumentProcessor实例文档处理入口embedder统一嵌入模型实例复用记忆系统嵌入服务vector_storeQdrantVectorStore实例向量存储入口文档处理层hello_agents/memory/rag/document.py核心函数_convert_to_markdown统一转换多格式文档为MarkdownPDF增强处理其他格式调用MarkItDown_split_paragraphs_with_headings基于Markdown标题层次的语义分割_chunk_paragraphs基于Token数量的智能分块支持重叠策略_approx_token_len中英文混合Token估算CJK字符按1Token计算实现方式多格式统一转换为Markdown结构化分块标题层次Token控制重叠分块保证信息连续性高级检索策略hello_agents/memory/rag/retrieval.py1. 多查询扩展MQE核心函数_prompt_mqe调用LLM生成语义等价的多样化查询提升召回率2. 假设文档嵌入HyDE核心函数_prompt_hyde调用LLM生成假设性答案文档桥接查询与文档语义鸿沟3. 扩展检索框架核心函数search_vectors_expanded实现「扩展-检索-合并」三步流程扩展生成MQE查询HyDE假设文档检索并行执行所有扩展查询的向量检索合并去重分数排序返回Top-K结果可配置参数enable_mqe、enable_hyde、candidate_pool_multiplier核心辅助函数embed_query统一查询向量化接口复用记忆系统嵌入模型_preprocess_markdown_for_embeddingMarkdown文本预处理提升嵌入质量_create_default_vector_store快速创建Qdrant向量存储实例简化初始化