大模型应用开发岗学习路线
以下内容仅为个人观点,仅供参考, 是本人学习的大模型应用开发知识的路线。
岗位说明
首先我们要明白应用开发岗的界限,即其与和普通开发岗以及大模型算法岗的区别。应用开发岗和普通的前后端开发均属于开发岗位。其区别在于应用开发岗需要将大模型算法岗产出的模型落地,也就是调用模型api,开发AI应用。有的岗位也会把大模型应用开发岗和大模型算法岗合并到大模型岗位,这个我觉得是一个人干两个人的活儿,类似于AI界的“全栈”(非本文目标,这种初级岗位一般也会标注熟悉微调模型等算法能力是加分项,非必备项)。
技术栈选择
观察招聘网站上的大岗位jd,大部分的大模型应用开发岗的技术栈=
后端开发技术栈+
AI落地相关技术栈。所以说这里会分成两部分,一部分是后端开发技术栈,另一部分是AI落地相关的技术栈。
所以说这里分以下两种情况:
没有后端开发基础
这样的话有两种路径,先学后端开发相关技术栈,或者先学AI落地相关的技术栈。等后面有机会了再补另外一种技术栈。
优先顺序
时间充裕,建议大家先学后端开发知识过一遍之后开始学AI落地相关技术栈,个人认为这样就算大模型应用开发岗位没有合适的也可以找普通后端开发。时间不充裕,先学大模型应用开发技术栈,有机会再补普通后端开发相关的技术栈,原因:
- 模型应用开发目前门槛较低。
- 学习内容绝对比普通后端开发要少。
开发语言
优先Python,目前AI应用开发的主流语言还是Python。像JAVA和Go语言等也在逐渐完善,但相比之下还是没Python这么流行。
有后端开发相关经验或者基础
直接学大模型应用开发相关的技术栈即可。如果是Python的后端开发,则继续按照Python学即可,资源是最多的。如果是Java或者Go语言后端开发,个人不建议转语言,虽然Python依旧是主流,但是其他语言也有在集成,例如Java的springai和langchain4j,go的Eino等,建议继续深耕自己的领域,慢慢随着框架发展,做第一批吃螃蟹的人。
学习路线
大模型应用开发岗的技术栈=后端开发技术栈+AI落地相关技术栈。
后端技术栈
后端技术栈已经有很多公开透明的学习路径这里就不展开来阐述了,无非就是编程语言基础、数据库(Mysql,Redis)、中间件等内容。
AI应用落地相关技术栈
AI应用落地相关技术栈需要考虑具体落地场景,大模型应用的落地目前主要有两个方向,一个是RAG,一个是Agent。首先我们需要明白,AI落地的应用,串流程其实是很简单的,可能几百行就能搞一个出来,真正难的是优化,下面将以Python为例子讲解如何快速入手。
学习资源:https://github.com/lichuachua/llms-project
Rag(检索增强生成)
这里推荐先去看一些概览课(可以不运行代码),之后再看详细的优化课。
- 概览课这里推荐两位up主的公开课(
学习资源链接中的llms-1和llms-2
),主要是了解rag的基本实现,大概过一眼,知道rag主要是做什么的就好,一小时可以搞定。 - 优化课这是rag项目的重中之重。毕竟搭建一个rag应用很容易,但是要想做好,需要在各个点进行大量的优化。这里推荐langchain官方出的优化课程(
学习资源链接中的llms-3
)。
这里并没有写详细的技术栈,是因为不建议大家单独的去学每一个模块。而是先学整体应用,再去看每一个具体的技术栈实现,其实rag整个应用涉及到的技术栈基本有:开发框架(langchain,llamaIndex等),Embedding模型,大模型API,向量数据库(faiss,weaviate,milvus等),排序模型,prompts优化等,其中涉及到模型的不需要进入研究,只需要了解它的大概特性就好,模型底层不属于这个岗位职责。
官方项目例子:https://github.com/langchain-ai/chat-langchain
agent(智能体)
这里其实会更简单一点,熟悉一些流程就好,同样是推荐观看和运行两个up主的公开课(学习资源链接中的LangChain_Agent
)。
基本技术栈也是开发框架(langchain,llamaindex,autogpt等),数据库(这里有向量数据库,有普通的关系型数据库和缓存数据库),function call(或者新出的mcp),prompts优化等。
总结
这里相关的技术栈都没有推荐大家单拎出来一个一个的去学,一方面是因为我也没有详细的学,基本上都是在串流程和优化的过程中,缺什么补什么
,一般都是看官方文档,先会用,再研究
。另一方面原因是面试过程中主要问的是优化过程,提高准确率,所以重点放在优化方面。其实个人认为需要详细学的也就langchain这类框架以及向量数据库,以及prompts。剩下的的涉及到embedding模型,大模型API以及排序模型等。个人认为这些不是应用开发的重点,大概了解一下每个模型的特性即可,大一点儿的公司会有专门的算法团队负责。
Q&A
- 大模型应用开发是否会涉及到微调以及transformer等的知识点?
- 目前市场上有很多的大模型应用相关的岗位没有明确要求必须上面的知识内容。基本上都作为候选人的一个加分项,并非必选项。
- 另外涉及到模型的改变以及模型的底层理论上应该是由算法团队来负责,当然不排除一些小公司或者小团队,要求岗位为“AI全栈”,及算法岗和开发岗都会的牛马岗。