商丘市网站建设_网站建设公司_CMS_seo优化
2025/12/28 3:20:27 网站建设 项目流程

简介

AI Town是由风险投资公司Andreessen Horowitz(a16z)与Convex Dev合作开发的开源项目,是一个可部署的入门工具包,用于构建和定制自己的AI虚拟城镇版本。该项目受到斯坦福大学《Generative Agent: Interactive Simulacra of Human Behavior》研究论文的启发,创建了一个虚拟城镇,AI角色可以在其中生活、聊天和社交。

核心价值​:

  • 开源免费​:采用MIT许可证,完全免费且支持商业使用

  • 高度可定制​:支持自定义角色、故事、环境和游戏规则

  • 技术先进​:基于现代Web技术栈,提供强大的后端支持

  • 多场景应用​:从简单的项目到可扩展的多人游戏

技术特色​:AI Town使用TypeScript/JavaScript完成前后端全栈开发,避免了传统Python模拟器的局限性。后端采用Convex作为游戏引擎、数据库和向量搜索工具,支持共享全局状态、事务和所有事件的日志记录,确保角色交互和叙事的连续性和演变。

主要功能

1. AI角色互动系统

AI Town的核心是生成式智能体(Generative Agents),每个AI角色都有独特的个性和行为模式。角色在创建时会收到一个起始提示,该提示塑造角色的性格并作为其交互和行为的基础。当AI角色彼此互动时,他们会保留对话的记忆,确保今后互动的连续性,为每个角色带来独特的叙事。

2. 虚拟环境构建

项目提供完整的虚拟城镇环境,包括地图、建筑、场景等视觉元素。使用Tiled工具可以轻松创建和编辑瓷砖地图,支持CSV格式导出。像素艺术生成功能通过Replicate和Fal.ai实现,背景音乐生成使用MusicGen,为虚拟世界增添沉浸感。

3. 对话生成与记忆管理

基于OpenAI的语言模型,AI角色能够进行真实且连贯的对话。Pinecone向量数据库用于存储和检索对话记忆,确保角色能够记住过去的交流并基于此调整行为。这种记忆流机制使得AI角色能够像真正的人一样,根据过去的经历调整行为。

4. 本地推理支持

项目支持使用Ollama进行本地推理,用户可以在本地运行大语言模型而无需依赖云端服务。通过Tunnelmole或Ngrok隧道工具,本地模型可以与Convex后端无缝集成,实现完全离线的AI角色对话生成。

5. 可扩展架构

AI Town的设计目标是提供一个具有可扩展性的强大基础平台。后端原生支持共享全局状态、事务和模拟引擎,适用于从简单的项目到可扩展的多人游戏的各种场景。开发者可以轻松添加新功能、自定义角色行为、扩展游戏规则。

安装与配置

环境要求

系统要求​:

  • Node.js 14.x或更高版本

  • npm包管理器

  • 稳定的网络连接(用于下载依赖和API密钥配置)

  • 推荐8GB以上内存

安装步骤

第一步:克隆项目仓库

git clone https://github.com/a16z-infra/ai-town.git cd ai-town npm install

第二步:配置Clerk身份验证

  1. 访问https://dashboard.clerk.com/并创建应用

  2. 获取NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY和CLERK_SECRET_KEY

  3. 在.env.local文件中添加这些密钥

  4. 创建JWT模板并获取JWKS端点URL

第三步:配置OpenAI API密钥

访问https://platform.openai.com/account/api-keys获取API密钥,在Convex仪表板中设置OPENAI_API_KEY环境变量。

第四步:配置Pinecone向量数据库

  1. 访问https://app.pinecone.io/创建索引

  2. 设置维度为1536

  3. 获取PINECONE_INDEX_NAME、PINECONE_ENVIRONMENT和PINECONE_API_KEY

  4. 在Convex仪表板中添加这些环境变量

第五步:启动应用

npm run dev

访问http://localhost:5173即可查看运行中的AI Town。

本地推理配置(可选)

如需使用本地Ollama模型:

  1. 安装Ollama并启动服务

  2. 使用Tunnelmole或Ngrok创建隧道

  3. 在Convex仪表板中设置OLLAMA_HOST环境变量

  4. 可选设置ACTION_TIMEOUT和NUM_MEMORIES_TO_SEARCH参数

如何使用

基础使用

启动应用后,用户可以通过浏览器访问AI Town界面。界面采用像素游戏风格,AI角色会在虚拟城镇中自由活动、聊天和社交。用户可以通过点击角色查看他们的对话内容,也可以通过Interact功能与AI角色进行互动。

自定义角色和故事

所有角色和故事数据存储在characters.ts文件中。开发者可以通过修改角色描述、精灵表引用和速度参数来创建自定义角色。精灵表可以使用Tiled工具创建,支持CSV格式导出。

修改地图和环境

地图数据存储在data/firstmap.ts文件中,使用二维数组表示。开发者可以使用Tiled工具编辑地图,然后将CSV格式的地图转换为项目可接受的格式。背景音乐可以通过修改convex/music.ts中的提示来更改。

高级功能

冻结和解冻世界​:界面提供按钮可以手动冻结和解冻虚拟世界,控制AI角色的活动状态。

归档世界​:通过npx convex run testing:archive命令可以归档当前世界,然后使用npx convex run init创建全新的世界。

清除数据​:使用npx convex run testing:wipeAllTables命令可以清除所有表格数据,重新开始。

部署到生产环境

项目支持部署到Vercel平台:

  1. 在Vercel上注册账号并安装Vercel CLI

  2. 运行npx convex deploy部署Convex函数

  3. 运行npx convex run init --prod初始化生产环境

  4. 使用vercel --prod部署应用到Vercel

应用场景实例

实例1:教育领域的虚拟学习环境

某在线教育平台需要为学生提供沉浸式的学习体验,要求系统能够模拟历史人物、科学家等角色,让学生通过与AI角色互动来学习知识。使用AI Town构建虚拟历史小镇,创建孔子、爱因斯坦等历史人物的AI角色。学生可以与这些角色对话,了解他们的思想和成就,提升学习兴趣和效果。系统支持多语言对话,覆盖不同国家的学生需求。

实例2:企业培训模拟场景

某大型企业需要为员工提供销售技巧培训,要求系统能够模拟客户对话场景,让员工在与AI客户的互动中练习销售话术和应对技巧。使用AI Town创建虚拟商业环境,设计不同类型的客户角色(如挑剔型、犹豫型、冲动型等)。员工可以与这些AI客户进行模拟对话,系统自动记录对话内容并生成分析报告,帮助员工改进销售技巧。

实例3:心理健康陪伴应用

某心理健康应用需要为用户提供情感支持和陪伴,要求系统能够模拟心理咨询师或朋友的角色,与用户进行自然对话,提供情感支持和心理疏导。使用AI Town构建温馨的虚拟社区,创建具有同理心和专业知识的AI陪伴角色。用户可以在安全、私密的环境中与AI角色分享心事、寻求建议,获得情感支持和心理安慰。

实例4:社交研究实验平台

某大学研究团队需要研究人类社交行为的动态变化,要求系统能够模拟大规模社交网络,观察AI角色之间的互动模式和关系发展。使用AI Town构建虚拟社交实验场,创建数百个具有不同性格特征的AI角色。研究人员可以设置不同的社交规则和环境条件,观察AI角色的行为变化、关系形成和社区演化,为社会学和心理学研究提供数据支持。

实例5:游戏NPC行为模拟

某游戏开发公司需要为开放世界游戏设计智能NPC,要求NPC能够根据玩家的行为做出智能反应,形成动态的社交网络和故事线。使用AI Town作为NPC行为模拟引擎,创建具有记忆和情感能力的AI角色。NPC能够记住与玩家的互动历史,根据玩家的选择调整行为,形成独特的游戏体验。系统支持大规模NPC并发,确保游戏世界的真实性和沉浸感。

实例6:多语言文化交流平台

某文化交流组织需要搭建跨语言文化交流平台,要求系统能够支持多语言对话,让不同国家的用户通过AI角色进行文化交流。使用AI Town构建国际化的虚拟城镇,集成多语言翻译功能。用户可以选择自己的母语与AI角色对话,系统自动翻译并保持对话的连贯性。AI角色能够介绍本国文化、回答文化相关问题,促进跨文化理解和交流。

GitHub地址

项目地址​:https://github.com/a16z-infra/ai-town

相关资源​:

  • 官方文档​:项目README.md提供详细的使用指南和技术说明

  • 在线演示​:https://www.convex.dev/ai-town

  • 社区支持​:Discord社区AI Stack Devs

  • 技术白皮书​:https://arxiv.org/pdf/2304.03442.pdf

项目信息​:

  • ⭐ Stars:超过3.0k星标(持续增长中)

  • 📄 许可证:MIT

  • 💻 主要语言:TypeScript/JavaScript

  • 📅 最近更新:持续维护

快速开始​:

  1. 访问GitHub仓库,给项目点个Star支持

  2. 按照README文档完成环境配置

  3. 配置必要的API密钥

  4. 运行npm run dev启动应用

  5. 访问http://localhost:5173体验AI Town

注意事项​:

  • 首次使用需要配置多个第三方服务的API密钥

  • 建议使用稳定的网络环境,部分服务可能需要访问外网

  • 生产环境部署建议进行性能测试和参数调优

  • 使用AI技术需遵守相关法律法规和伦理准则

  • 建议定期检查更新,获取最新功能和性能优化

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询