{"data":{"slug":"liyupi-ai-code-helper","name":"ai-code-helper","tagline":"智能编程学习与求职辅导机器人，涵盖多种AI技术和企业级开发实践","github_url":"https://github.com/liyupi/ai-code-helper","owner":"liyupi","repo":"ai-code-helper","owner_avatar_url":"https://avatars.githubusercontent.com/u/26037703?v=4","primary_language":"Vue","stars":733,"forks":250,"topics":["ai","ai-model","backend","frontend","java","langchain4j","mcp","rag","spring-ai","springboot","springmvc","tool-calling","vector-database","vue"],"archived":false,"github_pushed_at":"2025-07-10T11:32:26+00:00","maintenance_label":"Dormant","stars_delta_30d":10,"url":"https://www.graphcanon.com/tools/liyupi-ai-code-helper","markdown_url":"https://www.graphcanon.com/tools/liyupi-ai-code-helper.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/liyupi-ai-code-helper","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=liyupi-ai-code-helper","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 全栈开发人才。","homepage_url":"https://www.codefather.cn","license":null,"open_issues":5,"watchers":0,"ai_summary":"基于Spring Boot、Java和LangChain4j构建的智能编程辅助工具，包括流式对话、Prompt工程、RAG检索增强及向量数据库等技术。","readme_excerpt":"# 🤖 AI 编程小助手 - LangChain4j 实战项目\n\n> 基于 LangChain4j + 通义千问的 AI 智能编程学习与求职辅导机器人\n\n\n\n\n\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\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 <repository-url>\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框架","github_created_at":"2025-07-09T08:09:59+00:00","created_at":"2026-07-11T11:27:34.553067+00:00","updated_at":"2026-08-22T00:00:53.103026+00:00","categories":[{"slug":"data-retrieval","name":"Data & Retrieval","url":"https://www.graphcanon.com/categories/data-retrieval","markdown_url":"https://www.graphcanon.com/categories/data-retrieval.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/data-retrieval"},{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"},{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"model-training","name":"Model Training","url":"https://www.graphcanon.com/categories/model-training","markdown_url":"https://www.graphcanon.com/categories/model-training.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/model-training"}],"tags":[{"slug":"ai","name":"ai"},{"slug":"ai-model","name":"ai-model"},{"slug":"backend","name":"backend"},{"slug":"frontend","name":"frontend"},{"slug":"java","name":"java"},{"slug":"langchain4j","name":"langchain4j"},{"slug":"mcp","name":"mcp"},{"slug":"rag","name":"rag"}],"trust":{"provenance":{"is_fork":false,"github_id":1016578579,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-22T00:00:52.414Z","maintenance":{"label":"Dormant","score":18,"methodology":"github_public_v1","releases_90d":0,"days_since_push":407,"last_release_at":null,"stars_delta_30d":10,"open_issues_delta_30d":0},"security_summary":{"status":"no_manifest","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:27:35.679Z","medium_count":0,"scan_profile":"mcp_manifest","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-22T00:00:52.842Z"},"languages":{"value":["vue"],"source":"github.language","observed_at":"2026-08-22T00:00:52.842Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":{"notes":["Requires Java 21 and Spring Boot for backend.","Integration with Vue.js requires familiarity with frontend frameworks."],"min_ram_gb":8,"requires_docker":true},"constraints":{"min_ram_gb":8,"requires_docker":true},"when_to_use":["- When you want a comprehensive tool that integrates multiple AI technologies such as LangChain4j and large language models into Spring Boot applications.","- If your project specifically requires leveraging Vue.js frontend development alongside robust backend components like Java 21, Spring Boot 3.5, and advanced RAG retrieval techniques."],"when_not_to_use":["- Avoid using `ai-code-helper` if your team is not adept with Java or doesn't prefer the LangChain4j framework for integrating AI capabilities into applications.","- If real-time data streaming through Server-Sent Events (SSE) and specific enterprise-grade features such as MCP model context protocols are not a priority in your project."],"source":"enrich:decision_facts","observed_at":"2026-07-11T22:42:45.617Z"},"constraint_facets":{"min_ram_gb":8,"requires_docker":true},"decision_summary":[{"label":"Requirements","value":"Min 8 GB RAM; Requires Docker; Requires Java 21 and Spring Boot for backend.; Integration with Vue.js requires familiarity with frontend frameworks."},{"label":"Adopt for","value":"Decision-critical facts for `ai-code-helper` extracted from repository data."}]}}