# 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 学习与实践
---
## 📚 项目简介
本项目是专注于 **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*