{"id":29408201,"url":"https://github.com/liyupi/ai-code-helper","last_synced_at":"2025-07-16T07:03:17.611Z","repository":{"id":303966464,"uuid":"1016578579","full_name":"liyupi/ai-code-helper","owner":"liyupi","description":"2025 年 AI 编程助手实战项目（作者：程序员鱼皮），基于 Spring Boot 3.5 + Java 21 + LangChain4j + AI 构建智能编程学习与求职辅导机器人，覆盖 AI 大模型接入、LangChain4j 核心特性、流式对话、Prompt 工程、RAG 检索增强、向量数据库、Tool Calling 工具调用、MCP 模型上下文协议、Web 爬虫、安全防护、Vue.js 前端开发、SSE 服务端推送等企业级 AI 应用开发技术。帮助开发者掌握 AI 时代必备技能，熟悉 LangChain 框架，提升编程学习效率和求职竞争力，成为企业需要的 AI 全栈开发人才。","archived":false,"fork":false,"pushed_at":"2025-07-10T11:32:26.000Z","size":127,"stargazers_count":28,"open_issues_count":0,"forks_count":8,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-10T18:55:02.192Z","etag":null,"topics":["ai","ai-model","backend","frontend","java","langchain4j","mcp","rag","spring-ai","springboot","springmvc","tool-calling","vector-database","vue"],"latest_commit_sha":null,"homepage":"https://www.codefather.cn","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liyupi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-09T08:09:59.000Z","updated_at":"2025-07-10T18:08:24.000Z","dependencies_parsed_at":"2025-07-10T19:13:30.745Z","dependency_job_id":null,"html_url":"https://github.com/liyupi/ai-code-helper","commit_stats":null,"previous_names":["liyupi/ai-code-helper"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/liyupi/ai-code-helper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liyupi%2Fai-code-helper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liyupi%2Fai-code-helper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liyupi%2Fai-code-helper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liyupi%2Fai-code-helper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liyupi","download_url":"https://codeload.github.com/liyupi/ai-code-helper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liyupi%2Fai-code-helper/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264712001,"owners_count":23652513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-model","backend","frontend","java","langchain4j","mcp","rag","spring-ai","springboot","springmvc","tool-calling","vector-database","vue"],"created_at":"2025-07-11T02:24:59.133Z","updated_at":"2025-07-11T02:25:03.924Z","avatar_url":"https://github.com/liyupi.png","language":"Vue","funding_links":[],"categories":["📚 Projects (1974 total)"],"sub_categories":["Tools \u0026 Libraries"],"readme":"# 🤖 AI 编程小助手 - LangChain4j 实战项目\n\n\u003e 基于 LangChain4j + 通义千问的 AI 智能编程学习与求职辅导机器人\n\n[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.5.3-brightgreen.svg)](https://spring.io/projects/spring-boot)\n[![Vue.js](https://img.shields.io/badge/Vue.js-3.3.4-4FC08D.svg)](https://vuejs.org/)\n[![LangChain4j](https://img.shields.io/badge/LangChain4j-1.1.0-blue.svg)](https://github.com/langchain4j/langchain4j)\n[![Java](https://img.shields.io/badge/Java-21-orange.svg)](https://www.oracle.com/java/)\n\n\n\n大家好，我是程序员鱼皮。现在 AI 应用开发可以说是程序员必备的技能了，求职时能够大幅增加竞争力。之前我用 Spring AI 带大家做过一个 [开源的 AI 超级智能体项目](https://github.com/liyupi/yu-ai-agent)，这次我来带大家快速掌握另一个主流的 Java AI 应用开发框架 LangChain4j。\n\n这个教程项目也是我精心设计，拒绝枯燥的理论，而是用一个编程小助手项目带大家在实战中依次学习 LangChain4j 的主流用法。看完这个教程，你不仅学会了 LangChain4j，还直接多了一段项目经历，岂不美哉？\n\n项目视频教程：https://bilibili.com/video/BV1X4GGziEyr\n\n文字教程：https://mp.weixin.qq.com/s/7cNh7ndeiWiHBjnkTkz_Zg （在公众号程序员鱼皮的文章）\n\n更多鱼皮原创项目教程、编程学习路线可以在 [编程导航学习网](https://www.codefather.cn/) 获取。\n\n⭐ 如果这个项目对您有帮助，请给鱼皮一个 Star，这会激励我继续爆肝输出更多干货教程，万分感谢！ \n\n![](https://pic.yupi.icu/1/AI%E7%BC%96%E7%A8%8B%E5%B0%8F%E5%8A%A9%E6%89%8B%E9%A1%B9%E7%9B%AE.png)\n\n本项目中，会话记忆、结构化输出、RAG、工具调用、MCP、护轨、可观测性、AI 代码生成等等，都有从 0 的讲解和实践。\n\n\n## ✨ 项目介绍\n\n### 定位\n- 编程学习导师: 提供清晰的学习路线规划和个性化建议\n- 求职面试助手: 涵盖简历优化、面试技巧、高频题目解析\n- 代码答疑专家: 实时解答编程技术问题，提供代码示例\n\n### 技术\n\n#### AI 服务\n- **LangChain4j集成**: 采用业界领先的AI应用开发框架\n- **通义千问模型**: 基于阿里云大模型，专业可靠\n- **流式响应**: 实时打字机效果，提升用户体验\n\n#### 安全机制\n- **输入安全防护**: 检测敏感内容，确保应用安全\n\n#### 工具集成\n- **RAG检索增强**: 结合本地知识库，提供精准答案\n- **MCP协议支持**: 模型上下文协议，增强AI能力\n- **面试题搜索**: 实时抓取最新面试题目\n- **Web爬虫工具**: 获取实时技术资讯\n\n\n\n## 🚀 快速开始\n\n### 环境要求\n\n- **Java**: JDK 21+\n- **Node.js**: 16.0+\n- **Maven**: 3.6+\n- **通义千问API**: 需申请API密钥\n- **Big Model API**: 需申请API密钥\n\n### 启动步骤\n\n#### 1. 后端启动\n```bash\n# 克隆项目\ngit clone \u003crepository-url\u003e\ncd ai-code-helper\n\n# 配置API密钥\n# 编辑 src/main/resources/application.yml\n# 填入您的通义千问 API 和 Big Model API 密钥\n\n# 启动后端服务\nmvn spring-boot:run\n```\n\n#### 2. 前端启动\n```bash\n# 进入前端目录\ncd ai-code-helper-frontend\n\n# 安装依赖\nnpm install\n\n# 启动开发服务器\nnpm run dev\n```\n\n#### 3. 访问应用\n- 前端地址: `http://localhost:5173`\n- 后端API: `http://localhost:8081/api`\n\n\n\n## 技术架构\n\n```\n┌─────────────────┐    ┌─────────────────┐\n│   Vue.js 前端    │────│  Spring Boot   │\n│   - 聊天界面     │    │    后端服务      │\n│   - 实时流式     │    │   - RESTful API │\n│   - Markdown    │    │   - SSE 推送     │\n└─────────────────┘    └─────────────────┘\n                              │\n                    ┌─────────────────┐\n                    │   LangChain4j   │\n                    │   - AI服务层    │\n                    │   - 工具集成    │\n                    │   - 安全防护    │\n                    └─────────────────┘\n                              │\n                    ┌─────────────────┐\n                    │   通义千问API    │\n                    │   - 对话模型    │\n                    │   - 嵌入模型    │\n                    │   - 流式输出    │\n                    └─────────────────┘\n```\n\n\n\n## 核心模块\n\n- `AiCodeHelperService`: 核心对话服务\n- `QwenChatModelConfig`: 模型配置管理\n- `RagConfig`: 检索增强配置\n- `McpConfig`: 模型上下文协议\n\n- `InterviewQuestionTool`: 面试题搜索\n- `SafeInputGuardrail`: 输入安全防护\n- `ChatModelListener`: 对话监听器\n\n\n\n## 致谢\n\n- [LangChain4j](https://github.com/langchain4j/langchain4j) - 强大的AI应用开发框架\n- [阿里云通义千问](https://dashscope.aliyun.com/) - 优秀的大语言模型\n- [Spring Boot](https://spring.io/projects/spring-boot) - 简化的Java开发框架\n- [Vue.js](https://vuejs.org/) - 渐进式JavaScript框架\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliyupi%2Fai-code-helper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliyupi%2Fai-code-helper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliyupi%2Fai-code-helper/lists"}