导语:
8月份斯坦福AI小镇开源之后,引起了 AIGC 领域的强烈反响,但8月份还有另一个同样非常有意义的 AI-Agent 的项目开源,a16z主导的 AI-Town
本篇文章主要讲解如何搭建该项目,如有英文基础或者对这套技术栈熟悉,可直接参考该项目的 Readme;搭建该项目需要一台服务器、OpenAI 的 Key,以及能够访问外网,需要自行准备
笔者之前搭建过斯坦福版本的AI小镇,也写过流程和代码分析,参见这篇文章
因此在搭建 AI-Town 的时候也对两者的技术栈和搭建过程进行了对比,后续还将再用一篇文章分析 AI-Town 的源码
对比来说,斯坦福的AI小镇是用 Python 搭建的环境,但用了H5的游戏引擎Phase3
作为前端表现层,部署流程中遇到的问题靠自己摸索,还需要解决网络不通等问题(PS:实验性质的项目)
AI-Town 用 TypeScript/JavaScript
完成前后端所有代码的编写,虽然接入的组件和平台比较多,但相对的可扩展性更高(比如生成像素图和音乐等),搭建流程基本是全英文文档,但基本没有遇到什么卡点,列一下主要的技术栈:
因为 GitHub 上的部署教程是全英文的,笔者作为后台对其中的部分工具和平台也不甚熟悉,所以详细记录了下搭建时的流程以及遇到的问题,部分平台可能需要能访问外网,请自行解决
Convex 是由开发 AI-Town 的风投公司 a16z 投资的一款支持用 TypeScript 全栈开发应用程序的平台,能使各种规模的工程团队能够构建快速、可靠的动态应用程序,无需复杂的后端工程或数据库管理
整个项目高度依赖 Convex,后续在阅读源码时会一起介绍该平台(目前中文资料很少)
npm run dev
命令时会发现报错(提示缺失变量),因为这里缺少运行程序的必要变量git clone https://github.com/a16z-infra/ai-town.git
cd ai-town
npm install
npm run dev
Add application
后取个名字即可进入创建的 application,点击左侧 API Keys 选项,把右侧的两条 NEXT\_PUBLIC\_CLERK\_PUBLISHABLE\_KEY
and CLERK\_SECRET\_KEY
写入 Git 项目根目录下的 .env.local 文件(在前面步骤中自动生成)
JWT Templates
,新建一个 template保存这里的 JWKS Endpoint
值,作为下面的 CLERK_ISSUER_URL
配置项
OPENAI_API_KEY
配置项Create Index
这里页面中的 Name 将作为 PINECONE_INDEX_NAME
配置项,红框处填写 1536,其他部分都保持默认选项即可
创建成功后点击右侧 API Keys
,创建或者直接用默认的API Key,保存 Environment 为 PINECONE_ENVIRONMENT
配置项,Value 为 PINECONE_API_KEY
配置项(这里与Git里给的示例Environment前缀不一样也没事)
Settings
,然后弹出页面中选择 Environment variables
直接以 xxx = xxx 的格式将之前的 Key 都复制粘贴进来即可,下面是笔者配置的 Key,可以从前文中找到对应的值以及来源
npm run dev
运行起来后,默认监听的是 3000 端口,可通过 localhost:3000 访问页面(附一个跑起来的截图
GitHub 的英文文档其实已经足够清晰,笔者只是补充了一些详细的说明,后续还会写一篇代码分析
原创不易,转载请注明出处
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。