背景是这样的:本鸭算是web全栈,PHP/Javascript/SQL老鸭了。之前小小鼓捣了一下Stable Diffusion,因为有ConfyUI,SD WebUI,Kohya's之类的东西,算是没怎么碰Python技术就可以玩起来,炼丹也不怎么需要编程(Lora的算法是另一回事)。
最近因为NV发布了Chat with RTX,发现是个人工智障,于是摸到了ModelScope上,可发现没有Python技术栈根本没法玩。前两天又和另外一个兄弟无意间聊了一下现在编程语言的趋势,结果是Python以绝对优势领先(14%,超第二名Java一倍),PHP则是跌出Top10了(不影响我现在dev或production环境依然使用,毕竟熟悉且功能足矣)。
既然以后也想研究一下ML、AI之类的东西,Python技术栈就必不可少了,如果学了只玩AI又觉得浪费,毕竟这个对我来说只是业余爱好,如果能把web开发也转到Python栈也不错。
那么问题来了,看了网上各种讨论,我觉得不如听听老鸭们的意见了。现在开发的web应用基本都兼顾H5、小程序、APP之类的,我现在基本都是前端Vue,后端PHP,前后分离,也就是基本不需要Laravel那么复杂的东西(我理解Django类似?或者我理解有误?)。
那么选择就剩下Flask和FastAPI。从介绍上看,FastAPI可能更符合我的需要,基本上纯后端输出json和ws就行了,不过似乎扩展性就不如Flask(比如各种工具库)?另外听说(只是听说哈)很多ML、AI的代码是基于Flask的,属实否?
PS:无需考虑就业问题,我本来也不是职业技术人员,这个纯粹个人爱好……
老鸭们来分享点经验啊!
web的化建议golang一方面国内都在转golang,学习资源多。另一方面开发、性能、自由度都比python要好。你看到的python趋势统计只是一个统计而已,是根据搜索引擎或者其他一些指标统计的,对于编程语言选择参考意义不大。你想开发ai选python因为库多,方便。搞web开发还是用golang吧,python做出来的web项目先不说性能,单单开发就能让你脑袋炸裂,python成功是因为库多,web难开发也是因为啥功能都要找库才能实现。
感谢回复和建议。确实,我也听说(只是听说)用Python开发web巨痛苦,不过其实我并不是为了搞web开发才转Python,而是为了学习ML,顺便想充分利用这个技术栈干点别的,也算是熟悉语言环境。如果仅仅是web开发,其实现在我用PHP足够了。:p
python web开发和php比,没啥优势。
但是在数据处理和AI炼丹这块,因为大家都用,现成轮子多,还是值得搞一搞的。
我接触过一些LLM的项目,大都是用的fastapi的。我也是python入门的水平,不过我更看好fastapi。
比如db-gpt, chatchat这些项目都是用的fastapi
flask就是普通的web框架,django比较全。
此外ml和web区别还是比较大的。