# study-ai **Repository Path**: java-liupx/study-ai ## Basic Information - **Project Name**: study-ai - **Description**: 自学AI之路(目前仅涉及Langchain) - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-15 - **Last Updated**: 2026-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Study AI - LangChain4j 学习与实践

Java AI 应用开发实战项目
基于 LangChain4j 框架的系列功能模块探索

Java Version Spring Boot LangChain4j License

--- ## 📚 项目简介 本项目是专注于 **LangChain4j** 框架学习的 Java AI 应用开发实践集合,涵盖了从基础的 API 调用到高级的 RAG、记忆管理、函数调用、敏感词过滤等全方位场景。每个模块都独立可运行,并配有详细的代码注释和说明文档,适合希望快速掌握 LangChain4j 的 Java 开发者。 ### ✨ 核心特性 - 🧩 **模块化设计**:每个功能点独立为子模块,便于学习和复用 - 🔒 **API Key 安全**:支持环境变量和配置文件集中管理,避免硬编码 - 🛠️ **开箱即用**:提供完整的测试用例和运行示例 - 📝 **中文文档**:详细的代码注释和使用说明,降低上手门槛 --- ## 🏗️ 项目结构 ``` study-ai/ ├── langchain4j-01 # 基础模块(待补充) ├── langchain4j-02-chatapi # 对话 API 基础 ├── langchain4j-03-chatapi-config # 配置化 ChatModel ├── langchain4j-04-chatapi-image # 图像识别与生成 ├── langchain4j-05-chatapi-stream # 流式输出支持 ├── langchain4j-06-chatapi-memory # 对话记忆管理 ├── langchain4j-07-chatapi-prompt # Prompt 工程实践 ├── langchain4j-08-chatapi-json # JSON 格式响应 ├── langchain4j-09-chatapi-function # 函数调用(Function Calling) ├── langchain4j-10-chatapi-graalvm # GraalVM 原生镜像支持 ├── langchain4j-11-chatapi-websearch # Web 搜索集成 ├── langchain4j-12-chatapi-embedding # Embedding 向量生成 ├── langchain4j-13-chatapi-textclassifier # 文本分类 ├── langchain4j-13-chatapi-textclassifier-prompt # Prompt 增强版分类 ├── langchain4j-14-chatapi-sensitive-word # 敏感词过滤 ├── langchain4j-15-rag-easy # Easy RAG(简化版知识库) ├── langchain4j-16-rag-enhance # 增强版 RAG(混合检索+重排序) ├── langchain4j-17-ext # 扩展功能(Redis 存储 + Token 估算) ├── pom.xml # 父 POM 文件 └── README.md # 项目说明文档 ``` --- ## 🎯 LangChain4j 功能模块索引 ### 一、基础对话功能 | 模块 | 功能描述 | 核心技术点 | |------|---------|-----------| | [`langchain4j-02-chatapi`](./langchain4j-02-chatapi) | 最基础的对话 API 调用 | OpenAI 兼容接口、Request/Response 交互 | | [`langchain4j-03-chatapi-config`](./langchain4j-03-chatapi-config) | 配置化 ChatModel 实例 | `@Value` 绑定、多环境配置 | | [`langchain4j-04-chatapi-image`](./langchain4j-04-chatapi-image) | 图文多模态处理 | Vision API、图像理解 | | [`langchain4j-05-chatapi-stream`](./langchain4j-05-chatapi-stream) | 流式输出展示 | Server-Sent Events、渐进式渲染 | ### 二、对话管理与优化 | 模块 | 功能描述 | 核心技术点 | |------|---------|-----------| | [`langchain4j-06-chatapi-memory`](./langchain4j-06-chatapi-memory) | 多轮对话记忆 | `ChatMemory`、消息窗口管理 | | [`langchain4j-07-chatapi-prompt`](./langchain4j-07-chatapi-prompt) | Prompt 模板工程 | SystemMessage、Few-Shot Learning | | [`langchain4j-08-chatapi-json`](./langchain4j-08-chatapi-json) | JSON Schema 结构化输出 | @JsonProperty、数据校验 | | [`langchain4j-09-chatapi-function`](./langchain4j-09-chatapi-function) | Function Calling 动态工具 | `@Tool`、外部 API 桥接 | ### 三、高级智能能力 | 模块 | 功能描述 | 核心技术点 | |------|---------|-----------| | [`langchain4j-10-chatapi-graalvm`](./langchain4j-10-chatapi-graalvm) | GraalVM 原生编译优化 | Native Image、启动速度提升 | | [`langchain4j-11-chatapi-websearch`](./langchain4j-11-chatapi-websearch) | Web 搜索结果增强 | Search Engine Integration、实时信息获取 | | [`langchain4j-12-chatapi-embedding`](./langchain4j-12-chatapi-embedding) | 文本嵌入与相似度 | `EmbeddingModel`、余弦相似度计算 | | [`langchain4j-13-chatapi-textclassifier`](./langchain4j-13-chatapi-textclassifier) | 文本意图分类 | 零样本分类、Prompt 驱动判别 | | [`langchain4j-13-chatapi-textclassifier-prompt`](./langchain4j-13-chatapi-textclassifier-prompt) | 提示词优化分类器 | 结构化 Prompt 设计、Few-shot 示例 | | [`langchain4j-14-chatapi-sensitive-word`](./langchain4j-14-chatapi-sensitive-word) | 敏感词过滤引擎 | DFA 算法、黑名单/白名单策略 | ### 四、检索增强生成 (RAG) | 模块 | 功能描述 | 核心技术点 | |------|---------|-----------| | [`langchain4j-15-rag-easy`](./langchain4j-15-rag-easy) | Easy RAG 快速入门 | `EmbeddingStoreIngestor`、一键文档入库 | | [`langchain4j-16-rag-enhance`](./langchain4j-16-rag-enhance) | 增强版 RAG(混合检索+重排序) | QueryRouter、ContentRetriever、ReRanking | | [`langchain4j-17-ext`](./langchain4j-17-ext) | 扩展功能集成 | Redis 会话存储、Token 预估算 | --- ## 🛠️ 环境要求 - **JDK**: 17+ - **Maven**: 3.8+ - **LLM 服务**: - 阿里云百炼(推荐)或 OpenAI 兼容 API - HuggingFace(可选,用于本地 token 估算) - **向量数据库**: Qdrant(可选,用于 RAG 模块) - **缓存服务**: Redis(可选,用于 `langchain4j-17-ext`) --- ## 🚀 快速开始 ### 1. 克隆项目 ```bash git clone https://gitee.com/java-liupx/study-ai.git cd study-ai ``` ### 2. 配置环境变量 在 `application.yml` 中设置你的 API Key(各模块默认路径为 `src/main/resources/application.yml`): ```yaml langchain4j: open-ai: chat-model: api-key: sk-your-api-key model-name: qwen3.8-max base-url: https://your-base-url/compatible-mode/v1 ``` ### 3. 运行示例 选择任一模块运行测试: ```bash # 进入目标模块 cd langchain4j-02-chatapi # 执行单元测试 mvn test ``` --- ## 📚 参考资料 - [LangChain4j 官方文档](https://docs.langchain4j.dev/) - [LangChain4j GitHub 仓库](https://github.com/langchain4j/langchain4j) - [pig4cloud Java AI 学习资料](https://javaai.pig4cloud.com/) - [Qwen 通义千问官方文档](https://help.aliyun.com/zh/model-studio/) - [Hugging Face 模型库](https://huggingface.co/models) --- ## 📝 作者声明 本学习笔记仅供个人学习和交流使用,不得用于商业用途。如有问题请联系作者反馈。 --- *最后更新时间:2026-09-10*