《Java工程师修炼之道》GitBook上线:https://rowkey-books.gitbook.io/pragmatic-java-engineer/
美国AI之旅
5月底去了一趟旧金山,和一些华人AI科学家进行了交流,也参加了旧金山由GPTDao和微软联合举办的GenAI大会。这里输出一些收获。
CTO都必须是程序员出身吗?为什么架构师做不了CTO?
这是来自Quora上的一个问题:Is it required to be a developer/coder to become a CTO? Why can’t an architect become a CTO. 下面是里面的最佳答案。自己比较认同其中的观点,CTO确实是需要有编程背景的,而真正意义上的软件架构师也是具有编程背景的,所以也是可以成为CTO的。
不同的CTO角色 by Werner Vogels (Amazon CTO)
这是来自开源项目awesome-cto的一篇文章,也是自己曾有过的疑问。自己目前担任CTO这个岗位已经6年多了,现在对这个问题的认知:其实CTO这个角色的职责还是要根据CEO的期望来定。初创团队CTO一般就是一个高级开发工程师,随着团队规模增大,会逐渐转换为架构师、技术经理,最后有些CTO会去负责基础技术研究,有些CTO则统管整个研发团队,还有一些则会去管理部分业务。不管如何,这个职责还是要看CEO心里的期望是什么。
如何使用AI生成长视频?
今年最火的AI技术应该是OpenAI在春节期间发布的Sora了。相比起其他视频生成产品就3、4秒的时长,Sora是碾压式的存在。但Sora没有对外开放,所以要生成长视频,暂时也没有其他完整的好的方案。综合各种资料来看,目前最可行的方案应该就是:写剧本/分镜——>生图——>生视频->视频拼接,本质上就是通过多个短时长的视频组成一个完整的长视频。下面就详细讲述一下。
AI技术概览(PPT版)
随着2022年底ChatGPT引爆AIGC行业,层出不穷的各种LLM和AIGC应用都让人感觉新的时代马上就要到来。由于业务的需要,2023年自己的主要精力主要放在了AI这部分的跟进与研究。年底给公司做了一次AI技术的科普分享,这里先放出PPT,详细内容待后续的文章补充。
这三年的一些感悟
得闲看了一下博客,发现从2021年开始文章就很少了。主要是由于工作的需要,从那时开始基本上都在不停地学习新的东西,每个东西学习和使用的时间都不长,能分享的东西也就不多。而自己年终总结也停留在了2021年。今天想着梳理一下从2021年开始自己的一些感悟吧,也算是总结,也算是一个阶段的分享。
Langchain代理和OpenAI函数调用的区别
最近在实现LLM调用外部工具的时候,突然意识到貌似OpenAI的Function Calling和LangChain的Agent都能达到相同的结果,只是实现方式不同。因此这里来对比一下。
【译】如何基于开源技术构建类似ChatGPT的聊天机器人
原文:https://hacks.mozilla.org/2023/07/so-you-want-to-build-your-own-open-source-chatbot/?continueFlag=6d9bf218cf6b0fd3ad8c94275089c5a0 by Stephen Hood
人工智能很可能是近年来最具有影响力和颠覆性的技术之一。这种影响并非理论性的:人工智能已经以实质性的方式影响了现实中的人们,它已经在改变我们所熟悉和喜爱的网络。鉴于 AI 可能带来的好处和危害,Mozilla 已经致力于可信 AI 的原则。对于我们来说,“可信”意味着 AI 系统在使用数据和做出决策时是透明的,尊重用户的隐私,优先考虑用户的自主权和安全,并致力于减少偏见和促进公正。
Web3学习笔记-Web3是什么?
目前,移动互联网越来越趋向于下滑,在AGI大模型爆发之前,市场认知的未来三个大方向:Web3、元宇宙、VR/AR。其中,Web3中各主流公链 DAU 累计约为 250 万,而传统互联网的 DAU 为 50 亿,对比起来是蕴含着很大机会的。于是2022年花了很长一段时间学习了Web3相关的知识。主要分为三个部分。
- Web是什么?
- 业界生态
- 如何开发
本文是第一部分:Web3是什么?
架构简明指南2022最新版
《Clean Architecture》一书中对于软件架构目的的解释:
The goal of software architecture is to miminize the human resources required to build and maintain the required system.
即:软件架构的目的就是将构建和维护系统需要的人力成本降到最低。
因此,可以得出架构设计的关键思维就是判断和取舍(程序设计的关键思维是逻辑和实现),即如何选择技术、组合技术使得需要的人力资源最少。
需要注意的一点是,脱离业务谈架构是不合理的,技术架构及其演进都是业务目标驱动的。