2024-01-05-AI 大模型全栈工程师 - LangChain.js 和 LangChain 工具链
摘要
2024-01-05 周五 杭州 多云
内容核心:
a. 原理
b. 实践
c. 认知
小记: AGI 时代已来,成为 AI 全栈人才,步履不停,懂 AI ,懂编程,懂业务,能管理,善经济。
课程内容
1. 大语言模型开发平台的价值是什么?
平台的价值在于提升便利性,降低开发成本。
大语言模型开发平台的价值,就是让开发者更方便的开发基于大预言模型的应用,尤其在更换模型时无需二次开发。不要把自己的业务锁死在项目上,中国人要学会人情,但是做事可以善变。
2. LangChain vs Semantic Kernel
3. LangChain.js 是什么?
LangChain.js 是 Python 版 LangChain 的姊妹项目,都是由 Harrison Chaase 负责的开源项目;
-
特色:
a. 可以和 Python 版 LangChain 无缝对接;
b. 抽象设计完全相同,概念一一对应;
c. 所有对象序列化后都可以跨语言使用;
d. API 差别较大; -
支持环境:
a. Node.js-18.x,19.x,20.x
b. Cloudflare Workers
c. Vercel/Next.js
d. Supabase Edge Functions
e. Browser
f. Deno -
安装:
npm install langchain
- 发展重点:
a. 追上 Python 版的能力
b. 保持兼容尽可能多的环境
c. 质量问题持续优化
4. 防坑指南
a. 版本升级
b. 文档不完善
5. LangChainHub 的启示
LangChainHub 解决的真需求是: peompt,chain和agent的定义都是可以【数据化】的。
- 未来产品经理&研发的分工:
a. 产品经理定义 peompt,chain和agent(简称 PCA),研发开发调试环境和生产环境;
b. PCA 的定义数据独立保存在独立的 repo ,独立进行你版本管理和代码解耦;
c. 无需传统上线发布行为,就能改变产品的行为。这是另一种【热更新】
重点: LangChain 作为大模型的调用的前沿项目,尽管目前存在很多问题。但是我们一样要认识到这种项目存在的积极意义。
6. Semantic Kernel 简介
7. SK 和 LangChain 概念对照
8. 环境搭建
pip install semantic-kernel
项目目录下创建 .env 文件,添加以下内容:
# .env
OPENAI_API_KEY=""
OPENAI_API_BASE=""
AZURE_OPENAI_DEPLOYMENT_NAME=""
AZURE_OPENAI_ENDPOINT=""
AZURE_OPENAI_API_KEY=""
备注: Openai & Azure 配置好一个即可。
9. Plugins
plugin 是一组函数的集合,可以包含两种函数:
- Semantic Functions: 语义函数,本质是 Prompt Engineering
- Native Functions: 原生函数,类似 OpenAI 的 Function Calling
备注: Plugins 最初命名为 Skills ,后来更名为 Plugins ,以后见到可以视为等同。
10. SK 和 LangChain 如何选择?
a. 两者都值得学
b. C#,JavaScript 和 Java 现在没得选
c. 做原型,首选 LangChain ,功能多开发快
d. 做产品,建议选 SK
e. 建议只是用 SK 的 Connectors 和 Plugins ,Planner 自己做
11. 参与开源贡献
优化简历,为开源项目提供代码贡献
- LangChain.js 和 LangChain 相关概念保持一致,功能丰富,适合前端同学;
- SK 架构设计更好,未来发展潜力更大;
- 赶紧贡献开源代码,错过了就不好贡献了
总结
心得: 现在搞这种东西就是在邯郸学步,不过却可以了解多一些内容,不然捏,最后大规模的应用是一句话就可以完成调用的,谁又会关心如何实现的。