本项目致力于开发一款基于 Spring AI 的 ResOs 聊天机器人,该机器人可与 OpenAI、Groq Cloud 和 OpenRouter 等 AI 提供商集成。以下是详细的开发指南。
项目的模块结构如下:
backend:涵盖聊天机器人的后端逻辑,包含与 AI 提供商的交互。mcp-server:最简可行产品(MVP)服务器模块,用于接收和处理用户的查询请求。mcp-client:最简可行产品(MVP)客户端模块,用于向服务器发送请求并显示结果。从 GitHub 克隆项目仓库:
git clone https://github.com/your-repository/spring-ai-resos.git
cd spring-ai-resos
确保以下依赖已添加到 pom.xml 文件中:
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>com.azure.aigroupId>
<artifactId>azure-ai-textanalyticsartifactId>
dependency>
创建一个 config 文件夹,并在其中添加以下配置文件:
application.ymlserver:
port: 8081
spring:
ai:
openai:
enabled: true
api-key: sk-your-openai-api-key
groq:
enabled: false
api-key: your-groq-api-key
openrouter:
enabled: false
api-key: your-openrouter-api-key
logback-spring.xml<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d{HH:mm:ss.SSS} %level - %msg%npattern>
layout>
appender>
<root level="INFO">
<appender-ref ref="STDOUT" />
root>
configuration>
在项目根目录下运行以下命令启动聊天机器人:
mvn spring-boot:run
打开浏览器,访问 http://localhost:8081。
在文本框中输入您的问题或指令,例如:
点击“发送”按钮,等待几秒钟,即可看到 AI 提供商返回的结果。
支持将文本转换为向量表示,便于后续处理。例如:
String text = "Hello, world!";
Vector embedding = textEmbeddingService.embedText(text);
System.out.println(embedding);
支持集成自定义的 AI 模型,只需在 application.yml 中添加相应的配置。
spring.ai.openai.enabled 为 true。application.yml 中添加 OpenAI API 密钥。spring.ai.groq.enabled 为 true。application.yml 中添加 Groq API 密钥。spring.ai.openrouter.enabled 为 true。application.yml 中添加 OpenRouter API 密钥。如有任何问题,请联系 支持邮箱 或访问 项目官网。
希望以上内容对您有所帮助!