# learning-AI **Repository Path**: zhangjiawei_509/learning-ai ## Basic Information - **Project Name**: learning-AI - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-25 - **Last Updated**: 2025-03-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LearningAI 项目 ## 项目简介 LearningAI 是一个基于Spring Boot的Java Web应用程序,整合了LangChain4j框架,用于学习和演示AI相关技术。 ## 技术栈 - Java 8 - Spring Boot 2.3.4 - Maven 3.6+ - LangChain4j 0.21.0 - OpenAI API ## 系统要求 - JDK 8 或更高版本 - Maven 3.6 或更高版本 - OpenAI API密钥 ## 快速开始 ### 克隆项目 ```bash git clone <项目仓库地址> cd learningAI ``` ### 配置OpenAI API密钥 在运行项目前,请确保在`application.yml`或`application-dev.yml`中配置你的OpenAI API密钥: ```yaml langchain4j: openai: api-key: your_openai_api_key # 替换为你的实际API密钥 ``` ### 编译项目 ```bash mvn clean package ``` ### 运行项目 方式一:使用Maven插件运行 ```bash mvn spring-boot:run ``` 方式二:直接运行jar文件 ```bash java -jar target/learningAI-1.0-SNAPSHOT.jar ``` ### 访问API 启动成功后,可以通过以下URL访问: - 首页: http://localhost:8080/api - 应用信息: http://localhost:8080/api/info ## LangChain4j功能 项目整合了LangChain4j框架,提供以下AI相关功能: ### 基础聊天功能 - 聊天接口: `POST /api/ai/chat` ```json { "message": "今天天气怎么样?" } ``` - 文本摘要: `POST /api/ai/summary` ```json { "text": "需要摘要的长文本..." } ``` - 文本翻译: `POST /api/ai/translate` ```json { "text": "Hello, world!", "targetLanguage": "中文" } ``` ### 对话管理功能 - 创建对话: `POST /api/conversation` - 发送消息: `POST /api/conversation/{conversationId}/message` ```json { "message": "我想了解更多关于人工智能的信息" } ``` - 获取对话信息: `GET /api/conversation/{conversationId}` - 删除对话: `DELETE /api/conversation/{conversationId}` ### 知识库和RAG功能 - 创建知识库: `POST /api/kb` ```json { "name": "我的知识库" } ``` - 添加文本到知识库: `POST /api/kb/{knowledgeBaseId}/text` ```json { "text": "知识库内容...", "metadata": { "source": "网站", "author": "张三" } } ``` - 添加文件到知识库: `POST /api/kb/{knowledgeBaseId}/file` ```json { "filePath": "/path/to/document.pdf" } ``` - 查询知识库: `POST /api/kb/{knowledgeBaseId}/query` ```json { "question": "什么是机器学习?" } ``` - 获取知识库信息: `GET /api/kb/{knowledgeBaseId}` ## 配置说明 - 默认配置文件: `src/main/resources/application.yml` - 开发环境配置: `src/main/resources/application-dev.yml` 可以通过以下方式指定环境: ```bash java -jar target/learningAI-1.0-SNAPSHOT.jar --spring.profiles.active=dev ``` ## 项目结构 ``` learningAI/ ├── src/main/java/ │ └── com/soFun/ │ ├── config/ # 配置类 │ ├── controller/ # 控制器层 │ ├── service/ # 服务层 │ └── LearningAIApplication.java # 应用启动类 ├── src/main/resources/ │ ├── application.yml # 主配置文件 │ └── application-dev.yml # 开发环境配置 └── pom.xml # Maven项目配置 ``` ## 注意事项 1. 使用前请确保替换为您自己的OpenAI API密钥 2. 知识库功能目前使用内存存储,重启后数据会丢失 3. 大型文件处理可能需要调整JVM内存参数:`-Xmx512m` 4.spring boot版本不对