Java程序员也能轻松入门大模型:收藏这份学习路线,带你玩转AI开发!
本文为Java程序员提供转型AI开发的小建议无需复杂背景通过Python基础、大模型API调用、RAG检索增强生成、LangChain框架及LangGraph流程图等技术逐步掌握AI应用开发。文章包含详细代码示例助你从零开始实现与大模型的交互构建智能应用开启高薪AI职业之路。看标题有没有觉得这又是哪个公众号来贩卖焦虑了没那么多时间这篇文章只是给在座的各位Java 程序员一点小小的建议纯当乐子看。开个好头AI 爆发到现在已经好几年了但是依旧还有一些老一辈艺术家在坚持古法编程也不知道是因为什么不去接受 AI 带来的生产率提高好让你早点下班。但是也有一些朋友已经提前走上了转型的道路还是那句话时代的轮子来了你不跑你只能被当成养料。但是如何转型一脸懵啊看了那么多各家培训机构吹的牛逼动不动转型就是 2、30k我看了我也眼红但是不知道路线咋整那么看完这篇文章可能对你是有一点点帮助了。到目前为止市面上的岗位已经慢慢的变得稳定从开始的 Prompt 工程师到后来的 RAG 工程师再到现在的 Agent 开发工程师说明大模型发展的速度也是越来越快。最开始让你会写 Prompt 再到现在让你必须得会构建 Agent个人需要掌握的能力也是要求越来越高。不过薪资也是足够吸引人你会 AI 和不会 AI 带来的薪资完全是两码事而且据我了解现在招人的简介中多多少少都会写一句会 AI 的优先。说到正事从21 年开始市面上的 crud boy 就已经趋近于饱和了在这之后找工作的人应该多多少少有点感触。但是学 Java 的人他具备非常良好的后端业务思维而且少部分人是具备整体的架构思维。什么意思就是他知道一个接口我应该让前端给我什么样的参数参数规范是什么走到后端应该落哪个表落完表后对整个业务系统的影响是什么。那么这个思维在 AI 开发中就显得尤为重要。所谓的 vibe coding无非就两种模式一种是 Spec 工程计划模式另一种就是纯自然语言交互模式当你具备了工程化的思维时就能很好的指挥 AI 开始干活了。然后我们再说大模型开发该怎么学到目前我了解到的岗位一个是算法工程师。顾名思义这个岗位属于是顶尖那批人我们是用轮子的他们是造轮子的。另一个就稍微简单AI 应用开发工程师属于是在造好的轮子上拼凑汽车。前者我也不太了解因为我确实不会那些技术什么大模型原理moe 架构我一个都不会。后者是 AI 应用工程师这一块我们要学起来就稍显简单虽然东西也一样的多但是上手之后进展巨快。但是怎么学问 der 包问 ds别费那时间直接找培训机构的学习路线图。我不是让你报班我也不打广告但是这是上班摸鱼自学的最快方式。上面的路线清清楚楚里面涉及到的核心算法也没有想的那么复杂所以想的那么多不如每天摸鱼看看文档。直接开始首先你会 Java那么你学 Python 的基础就一定非常快什么玩意儿 for 循环whileif-else 都是小问题。并发编程也只是跟 Java 的写法不一样而已核心原理一通百通但是刚开始写 Python 代码肯定会不适应怎么办让 AI 写。目前主流的两种大模型协议各大厂商都在遵守一个是 OpenAI 协议一个是Anthropic协议没办法谁让人家牛逼能站在领先的角度。OpenAI常见的url 中就比如 /v1 地址比如https://token-plan-cn.xiaomimimo.com/v1Anthropic后缀包含anthropic比如https://token-plan-cn.xiaomimimo.com/anthropic你不用理会这两种有什么区别只需要知道能通过这种方式去调用就可以。而且现在有非常多的大模型可以免费白嫖 api再不济充 10 块钱给 ds 也能用用所以你的第一步就是先学会用 python 调用大模型 api知道里面的返回结果分别是什么意思。比如这段代码import requests # 配置 base_url https://token-plan-cn.xiaomimimo.com/v1 api_key tp-xxxx # 请求 url f{base_url}/chat/completions headers { api-key: api_key, Content-Type: application/json } data { model: mimo-v2.5-pro, messages: [ { role: system, content: You are MiMo, an AI assistant developed by Xiaomi. Today is date: Tuesday, December 16, 2025. Your knowledge cutoff date is December 2024. }, { role: user, content: please introduce yourself } ], max_completion_tokens: 1024 } response requests.post(url, headersheaders, jsondata) # 输出 if response.status_code 200: result response.json() print(✅ 回答, result[choices][0][message][content]) else: print(❌ 失败, response.status_code, response.text)不出意外你能得到这段结果{“id”:“f4b89f8447d942de9a2b64c76cc73107”,“choices”:[{“finish_reason”:“stop”,“index”:0,“message”:{“content”:“Hi there! I’m MiMo, your friendly AI assistant from Xiaomi. I’m here to help answer questions, brainstorm ideas, or just chat—whether it’s about tech, daily life, or random curiosities. I aim to be helpful, creative, and always supportive. What can I do for you today?”,“role”:“assistant”,“tool_calls”:null,“reasoning_content”:“Okay, the user just asked me to introduce myself. This is a straightforward request with no hidden agenda—probably a new user testing the waters or just being friendly. As MiMo from Xiaomi, I need to keep it warm, positive, and helpful to build rapport, while highlighting my capabilities without overwhelming them. Key points: Start with a greeting, state who I am and my purpose, list core strengths in a casual way, end with an open invitation to chat. Avoid any technical jargon or negativity; stick to engaging, supportive tone per the primary principle.”}}],“created”:1781079350,“model”:“mimo-v2.5-pro”,“object”:“chat.completion”,“usage”:{“completion_tokens”:181,“prompt_tokens”:55,“total_tokens”:236,“completion_tokens_details”:{“reasoning_tokens”:113},“prompt_tokens_details”:{}}}其中的一些关键参数了解一下completion_tokens输出 tokenprompt_tokens输入 tokentotal_tokenstoken 合计message 模型的返回结果只要你看到这些数据那么恭喜你你已经入门了可以去找 20k 的工作了走到这一步你就可以开始发散你的思维了做一个 demo 出来怎么做让 AI 给你画个前端对接一下你的后端不管是 python 还是 Java对接你用的大模型地址和 apikey然后聊天框发起访问拿到结果渲染界面demo 就算完成然后做什么走完上面的流程开始研究 ragrag 要学什么东西才算完整可以去看我的上一篇文章中有详细的描述这里只讲一些基础什么是 ragrag 是一个系统他通过在你与大模型对话的过程中通过检索数据库来增强你给大模型的上下文让大模型能根据你的私有知识回答问题。从这里开始我建议你全部主攻 python 语言来开发Java 暂时放一边。python 中有成熟的 rag 框架比如 llamaindexLangchain 等等。不过还是建议你从 0 开始慢慢实现一个 rag 流程你需要准备一些文档比如任何一本电子书你的工作笔记你的情书都可以将它们整理成比较简单的数据结构。然后将数据塞进 Chroma、Faiss、Milvus 等等数据库在然后就可以开始借助你刚刚做的那个 demo我们就可以将它继续完善成一个带 rag 的demo 了你要实现查询改写就是将你的原始问题通过提示词让大模型给出不同的问题出来因为你的原始问题可能并不能很好的检索到文档这时候就得以量取胜。然后就把你检索出的结果通过提示词拼凑起来交给大模型告诉大模型结合你的上下文一起给出回答这时候你的 demo 就算是完成了对 rag 的整合你也已经具备了rag 工程师的水准。import chromadb import requests # 1. 配置信息你的密钥 MIMO_API_KEY tp-xxxx MIMO_BASE_URL https://token-plan-cn.xiaomimimo.com/v1 # 2. 初始化 Chroma 向量库 # 本地持久化 Chroma会自动创建文件夹 client chromadb.PersistentClient(path./chroma_db) # 创建/获取集合 collection client.get_or_create_collection(namedemo_knowledge_base) # 先插入几条演示数据真实场景是你提前导入的文档/知识库 demo_docs [ 小米MiMo是由小米公司开发的AI助手知识截止到2024年12月。, Chroma是一个轻量级开源向量数据库专门用于存储和检索文本向量。, RAG 检索增强生成先检索知识库再给大模型生成回答。, 大模型调用需要API-KEY认证请求格式遵循OpenAI规范。 ] # 给 Chroma 添加数据 collection.add( documentsdemo_docs, ids[fid{i} for i in range(len(demo_docs))] ) # 3. 核心 RAG 流程函数 def rag_chat(user_question): 完整 RAG 流程 1. 接收用户问题 2. 从 Chroma 检索相关知识 3. 拼接提示词 4. 调用 MiMo 大模型 5. 返回最终回答 print(f 用户问题{user_question}/n) # -------------------- 步骤1从 Chroma 检索相关文档 -------------------- results collection.query( query_texts[user_question], n_results2 # 取最相关的2条 ) retrieved_docs results[documents][0] print( 检索到知识库内容) for idx, doc in enumerate(retrieved_docs): print(f{idx1}. {doc}) # -------------------- 步骤2拼接提示词 -------------------- context_str /n.join(retrieved_docs) prompt f 你是小米MiMo助手请根据下面的知识库内容回答用户问题。 如果知识库没有相关信息就说“根据现有知识无法回答”。 知识库内容 {context_str} 用户问题{user_question} 请直接给出简洁回答。 # -------------------- 步骤3调用 MiMo 大模型 -------------------- url f{MIMO_BASE_URL}/chat/completions headers { api-key: MIMO_API_KEY, Content-Type: application/json } data { model: mimo-v2.5-pro, messages: [ {role: system, content: 你是MiMo由小米开发的AI助手。}, {role: user, content: prompt} ], max_completion_tokens: 1024 } response requests.post(url, headersheaders, jsondata) if response.status_code ! 200: return f请求失败{response.status_code} {response.text} # -------------------- 步骤4解析并返回回答 -------------------- answer response.json()[choices][0][message][content] return answer # 4. 运行测试 if __name__ __main__: # 测试问题1 question 什么是RAG final_answer rag_chat(question) print(/n MiMo 最终回答/n, final_answer)经历了简单 rag 之后这时候你会了解到知识图谱知识图谱在原本简单的 rag 之上增强了发散的能力为每一个节点增加了图检索的功能这会让你的 rag 变得更加强大。继续升级这时候你就要开始学一些主流的框架了比如 Langchainlanggraph。如果你学过 Langchain4j那么 langchain 对你来说就是小 case如果没学过那也不影响。你就要开始用 Langchain 开始创建出你的第一个 Agent这会直接让你前面做的 demo 代码完完全全的简化你只需要配置一些简单的 apikeyurl 以及 Id 就能直接调通大模型的响应。当你学会了基础调用后你就会了解到什么是 tooltool 怎么在实际的调用中是用。什么又是长短期记忆在我们整个业务系统中起什么作用。然后就是会话摘要如何借助中间件来对我们的上下文做管理。到这时就可以收手了差不多可以了Langchain 的核心也就这些可以开始花时间研究 langgraph 了import requests from langchain.tools import tool from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder from langchain_core.output_parsers import StrOutputParser from langchain_core.runnables import RunnablePassthrough from langchain_chroma import Chroma from langchain_core.documents import Document from langchain_core.embeddings import Embeddings from langchain.agents import create_openai_tools_agent, AgentExecutor from langchain_core.memory import BaseMemory from langchain.memory import ConversationSummaryMemory, ConversationBufferMemory from typing import List, Dict # 【1】配置你的 MiMo 大模型 MIMO_API_KEY tp-xxx MIMO_BASE_URL https://token-plan-cn.xiaomimimo.com/v1 MODEL_NAME mimo-v2.5-pro # ------------------------- 自定义 MiMo 模型适配 LangChain 1.x------------------------- class MiMoChatModel: def __init__(self, api_key, base_url, model): self.api_key api_key self.base_url base_url self.model model def bind_tools(self, tools): self.tools tools return self def invoke(self, input_data): headers {api-key: self.api_key, Content-Type: application/json} # 处理 Agent 消息格式 messages input_data.get(messages, []) data { model: self.model, messages: messages, max_completion_tokens: 1024 } resp requests.post(f{self.base_url}/chat/completions, headersheaders, jsondata) resp.raise_for_status() return resp.json()[choices][0][message][content] # 初始化模型 llm MiMoChatModel(MIMO_API_KEY, MIMO_BASE_URL, MODEL_NAME) # 【2】自定义工具Tool tool def search_weather(city: str) - str: 查询指定城市的天气参数 city 是城市名 return f{city} 今天天气晴朗温度 25℃微风。 tool def calculate(a: int, b: int, op: str) - str: 简单计算器a b 为数字op 为 - * / if op : return str(a b) if op -: return str(a - b) if op *: return str(a * b) if op /: return str(a / b if b !0 else 错误) return 不支持的操作 tools [search_weather, calculate] # 【3】RAG 向量库Chroma class DummyEmb(Embeddings): def embed_documents(self, texts): return [[0.1]*5 for _ in texts] def embed_query(self, text): return [0.1]*5 vector_db Chroma( collection_namefull_rag_demo, embedding_functionDummyEmb(), persist_directory./chroma_agent_demo ) # 插入知识库 vector_db.add_documents([ Document(page_contentMiMo 是小米公司开发的AI助手知识截止到2024年12月。), Document(page_contentRAG 检索增强生成先检索知识库再回答问题。), Document(page_contentLangChain 1.x 使用 LCEL 语法支持 Agent Memory RAG 一体化。) ]) # RAG 检索工具 tool def rag_search(query: str) - str: 从公司知识库检索信息用于回答内部知识问题 retriever vector_db.as_retriever(search_kwargs{k:2}) docs retriever.get_relevant_documents(query) return /n.join([d.page_content for d in docs]) tools.append(rag_search) # 【4】记忆 会话摘要Memory # 摘要记忆自动总结历史不会无限膨胀 memory ConversationSummaryMemory( llmllm, return_messagesTrue, memory_keychat_history, output_keyoutput ) # 【5】创建 AgentLangChain 1.x 标准 prompt ChatPromptTemplate.from_messages([ (system, 你是强大的 MiMo 助手能使用工具、记忆对话、检索知识库。), MessagesPlaceholder(variable_namechat_history), (user, {input}), MessagesPlaceholder(variable_nameagent_scratchpad), ]) # 创建 Agent agent create_openai_tools_agent(llm, tools, prompt) agent_executor AgentExecutor( agentagent, toolstools, memorymemory, verboseTrue, return_intermediate_stepsTrue ) # 【6】测试全流程对话 if __name__ __main__: print( * 60) print(开始全功能对话输入 exit 退出) print( * 60) while True: user_input input(/n你) if user_input.lower() in [exit, quit]: print(结束对话) break result agent_executor.invoke({input: user_input}) print(/n MiMo, result[output]) # 查看自动生成的会话摘要 print(/n 会话摘要, memory.buffer)langgraph 怎么学搞懂什么是图构成整个图的三要素点状态边你把 langgraph 想象成一张巨大的蜘蛛网上面每一个交叉处就是一个点点与点之间存在不同的边。他们之间要相互工作就必须有一个中央的状态管理。如果 Langchain 是构建单一的 Agent那么 langgraph 就是非常多不同的 Agent通过一个状态State来管理你不用关心这个 state 存储什么数据他就是一个类什么都能存。from typing import TypedDict, Annotated from langgraph.graph import StateGraph, END import operator # 1) State状态三要素之一 class AgentState(TypedDict): # 全局共享状态 question: str context: str # RAG 检索结果 tool_result: str # 工具调用结果 answer: str # 最终回答 messages: Annotated[list, operator.add] # 对话历史自动合并 # 2) Node节点三要素之二 def node_rag_retrieve(state: AgentState): RAG 检索节点 print(→ 执行 RAG 知识库检索) return {context: RAG 结果LangGraph 三要素 State、Node、Edge} def node_tool_call(state: AgentState): 工具调用节点模拟计算器 print(→ 执行工具调用计算器) return {tool_result: 计算结果100 200 300} def node_llm_answer(state: AgentState): 大模型生成回答 print(→ 大模型生成最终回答) answer f根据检索{state[context]}/n根据工具{state[tool_result]} return {answer: answer} # 3) Edge边 路由三要素之三 def route_question(state: AgentState): 条件路由决定走 RAG 还是 工具 q state[question].lower() if langgraph in q: return rag elif 计算 in q or 多少 in q: return tool else: return llm # 构建流程图 workflow StateGraph(AgentState) # 添加节点 workflow.add_node(rag_node, node_rag_retrieve) workflow.add_node(tool_node, node_tool_call) workflow.add_node(llm_node, node_llm_answer) # 设置入口 workflow.set_entry_point(rag_node) # 添加条件边 workflow.add_conditional_edges( rag_node, route_question, { rag: rag_node, tool: tool_node, llm: llm_node } ) # 普通边 workflow.add_edge(tool_node, llm_node) workflow.add_edge(llm_node, END) # 编译图 app workflow.compile() # 测试运行 if __name__ __main__: user_question LangGraph 三要素是什么100200 等于多少 result app.invoke({ question: user_question, messages: [{role: user, content: user_question}] }) print(/n *50) print(最终回答) print(result[answer])最终boss恭喜你学到这里你已经能应付市面上的大部分工作了那么剩下的进阶是什么呢工程化的思维以及对模型的微调工程化的思维指的是你能完美熟练的运用上方的各种技术将它们融合整理成一个大的系统进行对外暴露这其中包括token 计费系统可观测平台rag 召回率调优大模型网关等等至于模型的微调如果不是特定领域下我是不建议你去微调的微调后的模型能力可能并没有增强多少反而可能降低但是微调的作用也很明显比如医疗场景生成病历微调后的模型能对更多的专业医疗名词进行描述书写最后也是奉上一张学习路线图祝你早日转行成为一名合格的 AI 摸鱼工程师如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取