从零开始的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 pnpm

2. 获取项目代码

克隆agents-js仓库到本地:

git clone https://gitcode.com/gh_mirrors/ag/agents-js cd agents-js

3. 安装依赖

使用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-key

2. 启动开发服务器

pnpm run build && node ./examples/src/basic_agent.ts dev

3. 测试你的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),仅供参考