spring-ai-alibaba-admin/README-zh.md
Spring AI Alibaba Repo: https://github.com/alibaba/spring-ai-alibaba
Spring AI Alibaba Website: https://java2ai.com
Spring AI Alibaba Website Repo: https://github.com/springaialibaba/spring-ai-alibaba-website
English | 中文
Spring AI Alibaba Admin 是一个基于 Spring AI Alibaba 的 AI Agent 开发与评估平台,旨在为开发者和企业提供完整的 AI Agent 生命周期管理解决方案。平台支持从 Prompt 工程、数据集管理、评估器配置到实验执行和结果分析的完整工作流,帮助用户快速构建、测试和优化 AI Agent 应用。
git clone https://github.com/spring-ai-alibaba/spring-ai-alibaba-admin.git
cd spring-ai-alibaba-admin
根据您的模型供应商,修改 spring-ai-alibaba-admin-server-start/model-config.yaml 的模型配置。
💡 获取您的 DashScope API 密钥: 访问 阿里云百炼控制台 获取免费 API 密钥。
如果您需要修改nacos地址,请更新spring-ai-alibaba-admin-server-start/src/main/resources/application.yml文件中的配置
nacos:
server-addr: ${nacos地址}
在项目根目录下,进入 docker/middleware 目录并执行启动脚本来启动所需的中间件服务(MySQL、Elasticsearch、Nacos、Redis、RocketMQ):
cd docker/middleware
sh run.sh
进入 spring-ai-alibaba-admin-server-start 目录并启动应用程序:
mvn spring-boot:run
在项目根目录下进入 frontend 目录,阅读对应的README,安装相关依赖以及进行环境配置后,启动服务:
cd packages/main
npm run dev
打开浏览器访问 http://localhost:8000 即可使用 SAA Admin 平台。
至此,您已经可以在平台中对prompt进行管理、调试、评估、可观测。如果您期望Spring AI Alibaba Agent应用能够集成Nacos以实现prompt加载以及动态更新,并且观测线上的运行情况,可以参照第六步配置您的 AI Agent 应用。
在您的 Spring AI Alibaba Agent应用中,引入如下依赖
<dependencies>
<!-- 引入spring ai alibaba agent nacos代理模块 -->
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-agent-nacos</artifactId>
<version>{spring.ai.alibaba.version}</version>
</dependency>
<!-- 引入可观测模块 -->
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-autoconfigure-arms-observation</artifactId>
<version>{spring.ai.alibaba.version}</version>
</dependency>
<!-- 用于实现各种 OTel 相关组件,如 Tracer、Exporter 的自动装载 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 用于将 micrometer 产生的指标数据对接到 otlp 格式 -->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-otlp</artifactId>
</dependency>
<!-- 用于将 micrometer 底层的链路追踪 tracer 替换为 OTel tracer -->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-tracing-bridge-otel</artifactId>
</dependency>
<!-- 用于将 OTel tracer 产生的 span 按照 otlp 协议进行上报 -->
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-exporter-otlp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-autoconfigure-model-tool</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
指定nacos地址及prompKey
spring.ai.alibaba.agent.proxy.nacos.serverAddr={ 替换 nacos address, 示例:127.0.0.1:8848}
spring.ai.alibaba.agent.proxy.nacos.username={ 替换 nacos 用户名, 示例:nacos}
spring.ai.alibaba.agent.proxy.nacos.password={ 替换 nacos 密码, 示例:nacos}
spring.ai.alibaba.agent.proxy.nacos.promptKey={ 替换为promptKey,示例:mse-nacos-helper }
设置可观测参数
management.otlp.tracing.export.enabled=true
management.tracing.sampling.probability=1.0
management.otlp.tracing.endpoint=http://{admin address}:4318/v1/traces
management.otlp.metrics.export.enabled=false
management.otlp.logging.export.enabled=false
management.opentelemetry.resource-attributes.service.name=agent-nacos-prompt-test
management.opentelemetry.resource-attributes.service.version=1.0
spring.ai.chat.client.observations.log-prompt=true
spring.ai.chat.observations.log-prompt=true
spring.ai.chat.observations.log-completion=true
spring.ai.image.observations.log-prompt=true
spring.ai.vectorstore.observations.log-query-response=true
spring.ai.alibaba.arms.enabled=true
spring.ai.alibaba.arms.tool.enabled=true
spring.ai.alibaba.arms.model.capture-input=true
spring.ai.alibaba.arms.model.capture-output=true
本项目基于 Apache License 2.0 许可证开源。
欢迎提交Issue和Pull Request来帮助改进项目。