Skip to content

Astrsomn 星梦一行注解,即刻开启 AI 进化

基于 LangChain4j 深度封装,将复杂的 AI 链路转化为一行注解的极致体验。 为 Java 开发者打造标准化、生产级可用的 AI 集成底座。

💡 愿景:让 AI 落地回归“工程”

在企业级生产环境下,AI 的挑战不在于“模型本身”,而在于如何稳定、安全、可控地连接业务

Astrsomn 是一套完整的 AI 生态闭环: 从 astrsomn-core 的底层抽象,到 astrsomn-starter 的无感集成,再到 astrsomn-server 的中心化治理,我们为 Java 开发者提供了一套开箱即用的“AI 工业底座”。


🏗️ 核心架构视图

Astrsomn 采用分层解耦架构,确保系统在高并发业务场景下的高可用与易扩展。

层级核心组件技术特性
接入层 (Access)@Astro Annotation / Starter零侵入式 Bean 注入,支持多 Agent 实例隔离
编排层 (Orchestration)AstroAssistantFactory动态构建 AiServices,支持 LLM/Streaming 模式切换
能力层 (Capabilities)DynamicToolProvider / MCP跨协议工具调用,支持 Spring Bean 方法实时转化为 Tool
治理层 (Governance)AssistantCacheManager内存态管理、Prompt 版本快照、多环境配置下发

方式一:声明式注入 (推荐)

最简单的接入方式。通过 @Astro 注解,框架会自动从配置中心检索参数,并完成 Agent 的生命周期管理与模型装配。

java
@Service
public class OrderService {

    // 自动装配:框架根据 agentKey 自动检索配置并注入缓存实例
    @Astro(agentKey = "order-handler", envCode = "prod", temperature = 0.3)
    private OrderCreateAssistant orderAssistant;

    public String createOrder() {
        // 像调用普通方法一样执行 AI 任务
        return orderAssistant.chat("帮我买一个 iPhone17", UUID.randomUUID().toString());
    }
}

方式二:编程式构建

更灵活的管控方式。当你的业务需要根据运行时上下文(如动态调整历史消息数、切换工具策略)来构建 Assistant 时,可以使用 AstroAssistantFactory。

java
@Service
@RequiredArgsConstructor
public class TaskService {

    private final AstroAssistantFactory assistantFactory;

    public String createTask() {
        // 1. 动态构建请求参数
        var param = AstroChatRequest.of(TaskCreateAssistant.class, "deepseek-sensor");
        param.setMaxHistoryMessages(5);        // 运行时调整上下文长度
        param.setToolStrategy(new ToolStrategy()); // 动态指定工具策略

        // 2. 通过工厂获取/创建 Assistant(内置 AssistantCacheManager 性能优化)
        TaskCreateAssistant assistant = assistantFactory.createAssistant(param);
        
        return assistant.chat("帮我创建一个任务,执行人是刘慧鹏", UUID.fastUUID().toString());
    }
}