从零开始的AI代理开发:大学生也能看懂的agents-js教程 — 附开源项目案例
从零开始的AI代理开发:大学生也能看懂的agents-js教程 — 附开源项目案例
【免费下载链接】agents-jsBuild realtime multimodal AI agents with Node.js项目地址: https://gitcode.com/gh_mirrors/ag/agents-js
agents-js是一个基于Node.js的开源框架,专为构建实时多模态AI代理而设计。即使你是编程新手,也能通过本教程快速掌握AI代理开发的核心技能,轻松创建能听、能说、能理解的智能应用。
为什么选择agents-js?新手友好的AI开发框架 🚀
agents-js作为GitHub加速计划中的明星项目,为开发者提供了一站式的AI代理开发解决方案。它最大的优势在于将复杂的实时音频处理、语音识别(STT)、自然语言处理(LLM)和语音合成(TTS)技术封装成简单易用的API,让没有深度学习背景的大学生也能轻松上手。
图:agents-js框架让AI开发像散步一样轻松愉快
核心优势一览
- 插件化设计:提供30+官方插件,涵盖OpenAI、Google、Deepgram等主流AI服务
- 实时交互:基于WebRTC技术实现低延迟语音交互
- 开箱即用:无需复杂配置,5分钟即可启动第一个AI代理
- 完全开源:代码完全透明,支持本地部署和二次开发
准备工作:3步搭建开发环境 🔧
1. 安装必要工具
首先确保你的电脑已安装Node.js(建议v16+),然后通过npm安装pnpm包管理器:
npm install -g pnpm2. 获取项目代码
克隆agents-js仓库到本地:
git clone https://gitcode.com/gh_mirrors/ag/agents-js cd agents-js3. 安装依赖
使用pnpm安装项目核心依赖:
pnpm install @livekit/agents第一个AI代理:50行代码实现智能语音助手 🎤
让我们从最基础的语音助手开始,这个例子将展示如何创建一个能听懂用户说话并做出回应的AI代理。
核心代码解析
创建文件examples/src/basic_agent.ts,添加以下代码:
import { Agent, AgentSession, cli, defineAgent, inference, tool } from '@livekit/agents'; import { z } from 'zod'; export default defineAgent({ entry: async (ctx) => { // 创建AI代理实例 const agent = Agent.create({ instructions: "你是一个乐于助人的语音助手,能听懂用户的问题并给出友好回答", tools: [ // 添加天气查询工具 tool({ name: 'getWeather', description: '查询指定地点的天气', parameters: z.object({ location: z.string().describe('要查询天气的地点') }), execute: async ({ location }) => { return ` ${location}今天天气晴朗,气温25°C`; } }) ] }); // 创建会话 const session = new AgentSession({ stt: new inference.STT({ model: 'deepgram/nova-3', language: 'zh' }), llm: new inference.LLM({ model: 'openai/gpt-4.1-mini' }), tts: new inference.TTS({ model: 'cartesia/sonic-3' }), turnHandling: { endpointing: { mode: 'dynamic' } } }); // 启动会话 await session.start({ agent, room: ctx.room }); session.say('你好!我是你的AI助手,有什么可以帮助你的吗?'); } }); cli.runApp(new ServerOptions({ agent: import.meta.url }));代码关键部分说明
- Agent.create:创建AI代理实例,定义其行为和可用工具
- tool:定义工具函数,让AI可以调用外部能力(这里是天气查询)
- AgentSession:配置语音处理流程,包括语音识别(STT)、语言模型(LLM)和语音合成(TTS)
- session.start:启动会话并连接到LiveKit房间
运行你的AI代理:简单3步操作 ▶️
1. 设置环境变量
创建.env文件,添加必要的API密钥:
LIVEKIT_URL=wss://your-livekit-server LIVEKIT_API_KEY=your-api-key LIVEKIT_API_SECRET=your-api-secret OPENAI_API_KEY=your-openai-key2. 启动开发服务器
pnpm run build && node ./examples/src/basic_agent.ts dev3. 测试你的AI代理
访问LiveKit Playground,输入你的服务器信息,即可开始与AI助手对话!
进阶学习:探索agents-js丰富功能 📚
多代理协作
agents-js支持创建多个专业AI代理并实现无缝切换。例如,你可以创建一个负责接待的引导代理,当用户需要特定服务时自动切换到专业代理:
// 查看完整示例: examples/src/multi_agent.ts class IntroAgent extends voice.Agent { constructor() { super({ instructions: "你是接待员,收集用户基本信息后转交专业代理" }); } async onEnter() { this.session.generateReply({ instructions: "问候用户并询问需求" }); } } class WeatherAgent extends voice.Agent { // 天气查询专业代理实现 }丰富的插件生态
agents-js提供了30+官方插件,轻松集成各种AI能力:
- 语音识别:Deepgram、AssemblyAI、Cartesia
- 语言模型:OpenAI、Google、MistralAI
- 语音合成:ElevenLabs、Resemble、Rime
- 视觉能力:Anam、Bey、Lemonslice(虚拟形象)
安装插件非常简单:
pnpm install @livekit/agents-plugin-openai项目结构解析:轻松导航代码库 📂
agents-js采用清晰的模块化结构,主要包含以下目录:
- agents/src:核心框架代码
- voice:语音交互相关实现
- inference:推理服务集成
- llm:大语言模型封装
- examples/src:示例代码
- basic_agent.ts:基础代理示例
- multi_agent.ts:多代理协作示例
- plugins:各种AI服务插件
常见问题解答:新手开发避坑指南 ❓
Q: 没有AI服务API密钥怎么办?
A: agents-js支持LiveKit Inference Gateway,提供试运行服务,无需额外API密钥即可体验基础功能。
Q: 如何添加自定义工具?
A: 使用llm.tool()方法定义工具,参考agents/src/llm/tool_context.ts中的示例。
Q: 开发中遇到语音延迟问题如何解决?
A: 可以尝试启用预生成功能:
turnHandling: { preemptiveGeneration: { enabled: true } }总结:开启你的AI代理开发之旅 🚀
通过本教程,你已经掌握了agents-js的基本使用方法。这个强大而友好的框架让AI代理开发变得简单,即使是没有深厚AI背景的大学生也能快速上手。
现在,你可以尝试扩展基础示例,添加更多自定义工具,或者集成不同的AI服务插件,创建属于你的智能应用!
想要了解更多?查看项目中的examples目录,里面有餐厅预订、酒店前台等丰富场景的完整示例代码。
祝你在AI代理开发的道路上越走越远!
【免费下载链接】agents-jsBuild realtime multimodal AI agents with Node.js项目地址: https://gitcode.com/gh_mirrors/ag/agents-js
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考