集成新的Beaver后端服务到应用实例中,替换原有的nanobot实现。 主要变更包括: - 在Dockerfile和环境配置中添加Beaver相关路径和配置变量 - 更新工作目录结构从.nanobot到.beaver - 实现Beaver引擎加载器,支持配置文件加载和工具组装 - 添加内置工具如ListDirectoryTool、ReadFileTool、SearchFilesTool - 更新消息处理流程,支持通道适配器和网关模式 - 重构技能系统,支持显式工具提示和嵌入式检索 - 改进错误处理和生命周期管理 此变更使应用实例能够使用统一的Beaver后端进行AI代理运行时管理。
37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
"""Skill system for Beaver.
|
||
|
||
顶层包保持 lazy export,避免只导入 catalog/loader 时顺带拉起
|
||
SkillAssembler -> provider -> litellm 这条重依赖链。
|
||
"""
|
||
|
||
from __future__ import annotations
|
||
|
||
from typing import Any
|
||
|
||
__all__ = [
|
||
"SkillAssembler",
|
||
"SkillAssemblyResult",
|
||
"SkillEmbeddingRetriever",
|
||
"SkillRecord",
|
||
"SkillsLoader",
|
||
]
|
||
|
||
|
||
def __getattr__(name: str) -> Any:
|
||
if name in {"SkillAssembler", "SkillAssemblyResult", "SkillEmbeddingRetriever"}:
|
||
from .assembler import SkillAssembler, SkillAssemblyResult, SkillEmbeddingRetriever
|
||
|
||
return {
|
||
"SkillAssembler": SkillAssembler,
|
||
"SkillAssemblyResult": SkillAssemblyResult,
|
||
"SkillEmbeddingRetriever": SkillEmbeddingRetriever,
|
||
}[name]
|
||
if name in {"SkillRecord", "SkillsLoader"}:
|
||
from .catalog import SkillRecord, SkillsLoader
|
||
|
||
return {
|
||
"SkillRecord": SkillRecord,
|
||
"SkillsLoader": SkillsLoader,
|
||
}[name]
|
||
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|