# my-ai **Repository Path**: gotfocus/my-ai ## Basic Information - **Project Name**: my-ai - **Description**: AI微服务项目,支持多模型API接入 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-05 - **Last Updated**: 2026-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI微服务项目 ## 项目介绍 本项目是一个基于Spring Cloud、Spring AI的微服务架构,用于连接多种大模型API(如OpenAI、Azure OpenAI、百度文心等),并提供统一的调用接口。 ## 技术栈 - JDK 1.8 - Spring Boot 2.3.12.RELEASE - Spring Cloud Hoxton.SR12 - Spring AI 0.8.1 - Nacos(服务注册与配置中心) - MySQL 5.7+ - Redis - MyBatis-Plus 3.4.3.4 ## 项目结构 ``` ├── ai-gateway # 网关服务 ├── ai-service # 核心AI服务 ├── ai-common # 公共模块 ├── ai-storage # 数据库与缓存操作模块 ├── ai-api # 对外暴露的Feign客户端接口 ├── db-init.sql # 数据库初始化脚本 └── pom.xml # 父POM文件 ``` ## 运行步骤 1. **启动依赖服务** - **Nacos服务**:确保本地Nacos服务已启动(默认端口8848) - **Redis服务**:确保本地Redis服务已启动(默认端口6379) - **MySQL服务**:确保本地MySQL服务已启动(默认端口3306) 2. **初始化数据库** - 执行 `db-init.sql` 脚本创建数据库和表结构: ```bash mysql -h localhost -u root -p123456 < db-init.sql ``` 3. **配置环境变量** - 在系统环境变量中配置大模型API密钥: - `OPENAI_API_KEY`:OpenAI API密钥 - `AZURE_OPENAI_API_KEY`:Azure OpenAI API密钥 - `AZURE_OPENAI_ENDPOINT`:Azure OpenAI端点 - `AZURE_OPENAI_DEPLOYMENT_NAME`:Azure OpenAI部署名称 - `DASHSCOPE_API_KEY`:阿里千问 API密钥 - `DEEPSEEK_API_KEY`:Deepseek API密钥 - `TENCENT_API_KEY`:腾讯元宝 API密钥 4. **构建项目** - 执行 `mvn clean install` 构建项目: ```bash mvn clean install ``` 5. **启动应用服务** - **先启动 ai-service 服务**: ```bash cd ai-service mvn spring-boot:run ``` - **再启动 ai-gateway 服务**: ```bash cd ai-gateway mvn spring-boot:run ``` 6. **测试API** - **请求地址**:`POST http://localhost:8080/ai/chat` - **请求体**: ```json { "model": "openai", "prompt": "Hello", "userId": "123" } ``` - **响应示例**: ```json { "code": 200, "data": { "content": "Hello, this is a mock response for model: openai with prompt: Hello" }, "msg": "success" } ``` ## 模型类型 - `openai`:OpenAI模型 - `azure`:Azure OpenAI模型 - `qianfan`:阿里千问模型 - `deepseek`:Deepseek模型 - `tencent`:腾讯元宝模型 ## 注意事项 - 本项目使用Java 8,确保JDK版本正确 - 敏感信息(API密钥)通过环境变量配置,避免硬编码 - 服务启动顺序:先启动Nacos、Redis、MySQL,再启动ai-service,最后启动ai-gateway