分享
适用于 JavaScript 的 AI 堆栈入门
输入“/”快速插入内容
适用于
JavaScript
的
AI
堆栈入门
原文链接:
https://a16z.com/2023/06/21/the-getting-started-with-ai-stack-for-javascript/
翻译:通往AGI之路,若有瑕疵之处,请在段落评论中斧正,谨此致谢
发表时间:2023年6月21日
如果不使用新的软件基础设施技术,很难理解它们。至少,这是a16z基础设施团队的发现 - 因为我们中的许多人的职业生涯都是从程序员开始的,我们通常通过实践学习。这在生成式人工智能浪潮中尤为明显,这股浪潮来得如此之快、如此壮观,以至于好的文档通常落后于代码几个月。因此,为了更好地理解这个领域,我们围绕大型语言模型(LLM)、大型图像模型、向量数据库等建立了一些项目。
在这个过程中,我们注意到由于所有这些都是如此新颖且变化如此迅速,实际上没有好的框架可以快速入门。每个项目都需要大量的样板代码和集成。坦率地说,这很麻烦。因此,我们着手创建一个非常简单的
“入门人工智能”模板
,供那些想要尝试核心技术但又不想过多考虑授权、托管和工具选择等辅助问题的人使用。
您可以
在这里
fork并部署该模板。我们非常乐意听取您的想法和反馈,以使模板变得更好。
组件
我们中的许多人都是
JavaScript
/TypeScript的爱好者,所以我们选择了JavaScript堆栈作为起点。不过,这个框架可以很容易地修改以支持其他编程语言,我们计划很快就会这样做。
以下是我们与长期合作伙伴和开源爱好者Tim Qian共同制作的入门堆栈的简要概述。我们的目标是突出从
GitHub
上拉取代码到运行生成式人工智能应用程序(包括图像和文本)的最简单路径。它被设计为可以轻松扩展到更复杂的架构和项目:
•
身份验证:
Clerk
•
应用逻辑:
Next.js
•
向量数据库:
Pinecone
/
Supabase pgvector
•
LLM 编排:
Langchain.js
•
图像模型:
Replicate
•
文本模型:
OpenAI
•
部署:
Fly.io
部署
有关新兴LLM堆栈的更详细概述,请查看我们标题为“
LLM 应用程序的新兴架构
”的文章。
模型和推理
模型托管是一件麻烦的事情,与构建
AI
应用程序大体上是两个独立的问题。因此,我们使用OpenAI来构建文本模型,使用Replicate来进行图像推理。Replicate还提供基于文本的模型(看看运行
Vicuna
有多容易),因此如果需要的话,您可以使用它来替代
OpenAI
。
在Replicate上运行Stable Diffusion推理的
示例代码
认证
对于一个入门级的框架,通常我们不会费心去包含身份验证功能。但在这种情况下,模型非常强大且通用,成为大规模组织努力的目标,试图获取免费使用权。开发人员往往在从模型提供者那里收到意外的10000美元账单时才痛苦地得知这一点。这就是为什么我们选择包含Clerk,它可以在机器人检测方面发挥重要作用,并且如果您最终构建一个更复杂的应用程序,它当然也提供完整的身份验证支持。