AIAvatarKit: 开启AI虚拟形象新纪元
在当今数字时代,虚拟形象与人工智能的结合正在开创一个全新的交互范式。AIAvatarKit作为一款强大而灵活的工具包,为开发者提供了快速构建基于AI的会话式虚拟形象的能力。本文将深入探讨AIAvatarKit的核心功能、配置方法以及在各种平台上的应用,为有志于在这一领域探索的开发者提供全面的指南。
AIAvatarKit概述
AIAvatarKit是一个开源项目,旨在简化AI驱动的会话式虚拟形象的创建过程。它的核心理念是"闪电般快速地构建基于AI的会话式虚拟形象"。这个工具包集成了多项先进技术,包括自然语言处理、语音识别、语音合成等,使得开发者能够轻松地创建具有高度交互性和智能性的虚拟角色。
主要特性
-
跨平台兼容性: AIAvatarKit的一大亮点是其广泛的兼容性。无论是在VRChat、cluster等元宇宙平台,还是在现实世界的设备上,AIAvatarKit都能够seamlessly运行。这种灵活性为开发者提供了无限的创作可能。
-
高度可扩展性: AIAvatarKit的设计理念之一就是可扩展性。开发者可以根据自己的需求,轻松地添加新功能或修改现有功能,使虚拟形象的能力无限延伸。
-
快速上手: 尽管功能强大,AIAvatarKit却非常易于使用。它提供了开箱即用的会话功能,让开发者能够快速启动项目,并在此基础上进行深入开发。
系统需求
要使用AIAvatarKit,您需要满足以下条件:
- VOICEVOX API (用于文本转语音)
- Google或Azure的Speech Services API密钥 (用于语音转文本)
- OpenAI API密钥 (用于ChatGPT)
- Python 3.10运行环境
快速开始指南
- 首先,安装AIAvatarKit:
pip install aiavatarkit
- 创建一个名为
run.py
的脚本,内容如下:
from aiavatar import AIAvatar
app = AIAvatar(
openai_api_key="YOUR_OPENAI_API_KEY",
google_api_key="YOUR_GOOGLE_API_KEY"
)
app.start_listening_wakeword()
-
运行AIAvatar。记得在此之前启动VOICEVOX。
-
当你说出唤醒词"こんにちは"(或者在非日语环境下说"Hello")时,会话就会开始。
深入配置
生成式AI配置
AIAvatarKit支持多种生成式AI模型,包括ChatGPT、Claude和Gemini。以ChatGPT为例,您可以这样配置:
from aiavatar.processors.chatgpt import ChatGPTProcessor
chat_processor = ChatGPTProcessor(
api_key=OPENAI_API_KEY,
model="gpt-4-turbo",
temperature=0.0,
max_tokens=200,
system_message_content="You are my cat.",
history_count=20,
history_timeout=120.0
)
app.chat_processor = chat_processor
语音配置
AIAvatarKit默认使用VOICEVOX进行语音合成。您可以这样配置:
from aiavatar.speech.voicevox import VoicevoxSpeechController
speech_controller = VoicevoxSpeechController(
base_url="http://127.0.0.1:50021",
speaker_id=46,
device_index=app.audio_devices.output_device
)
app.avatar_controller.speech_controller = speech_controller
唤醒词监听器配置
您可以自定义唤醒词和相关参数:
from aiavatar.listeners.wakeword import WakewordListener
wakeword_listener = WakewordListener(
api_key=GOOGLE_API_KEY,
wakewords=["Hello", "こんにちは"],
device_index=app.audio_devices.input_device,
timeout=0.2,
max_duration=1.5
)
app.wakeword_listener = wakeword_listener
平台应用指南
VRChat应用
AIAvatarKit在VRChat平台上的应用尤为引人注目。以下是在VRChat中使用AIAvatarKit的基本步骤:
- 准备两个虚拟音频设备(如VB-CABLE)。
- 准备多个VRChat账号以与您的AI虚拟形象进行对话。
- 配置音频设备:
- 将VB-Cable-A设为VRChat的麦克风
- 将VB-Cable-B设为VRChat的扬声器
- 编辑
run.py
脚本,设置正确的输入输出设备索引。 - 运行脚本,并以桌面模式启动VRChat,使用AI虚拟形象的账号登录。
- 在VRChat设置中将VB-Cable-A设为麦克风。
完成这些步骤后,您就可以在VRChat中与AI虚拟形象进行交互了!
表情控制
AIAvatarKit通过Avatar OSC控制VRChat中虚拟形象的表情。配置步骤如下:
- 在虚拟形象中添加
FaceOSC
参数。 - 在FX动画控制器中添加
FaceOSC
参数。 - 添加图层并放置表情状态和转换。
- 使用
VRChatFaceController
:
from aiavatar.face.vrchat import VRChatFaceController
vrc_face_controller = VRChatFaceController(
faces={
"neutral": 0,
"joy": 1,
"angry": 2,
"sorrow": 3,
"fun": 4
}
)
app = AIAvatar(
openai_api_key=OPENAI_API_KEY,
google_api_key=GOOGLE_API_KEY,
face_controller=vrc_face_controller,
system_message_content=system_message_content
)
RESTful APIs
AIAvatarKit提供了RESTful APIs,让您能够通过HTTP请求控制AI虚拟形象。主要功能包括:
- 启动/停止唤醒词监听器
- 控制虚拟形象说话、表情和动画
- 查看系统日志
要使用REST APIs,您需要创建一个API应用并设置路由:
from fastapi import FastAPI
from aiavatar import AIAvatar
from aiavatar.api.router import get_router
app = AIAvatar(
openai_api_key=OPENAI_API_KEY,
google_api_key=GOOGLE_API_KEY
)
api = FastAPI()
api_router = get_router(app, "aiavatar.log")
api.include_router(api_router)
然后使用uvicorn启动API服务。
高级用法
函数调用
AIAvatarKit支持ChatGPT的函数调用功能。您可以这样添加自定义函数:
async def get_weather(location: str):
await asyncio.sleep(1.0)
return {"weather": "sunny partly cloudy", "temperature": 23.4}
app.chat_processor.add_function(
name="get_weather",
description="Get the current weather in a given location",
parameters={
"type": "object",
"properties": {
"location": {
"type": "string"
}
}
},
func=get_weather
)
这样,AI虚拟形象就能够自主调用get_weather
函数来获取天气信息。
调试与优化
音频I/O测试
AIAvatarKit提供了一个脚本用于测试音频输入输出设备的配置。这个脚本会引导您逐步选择输入输出设备,并进行简单的测试。
噪音过滤
AIAvatarKit会自动调整监听器的噪音过滤级别。如果您想手动设置,可以这样做:
app = AIAvatar(
openai_api_key=OPENAI_API_KEY,
google_api_key=GOOGLE_API_KEY,
auto_noise_filter_threshold=False,
volume_threshold_db=-30 # 设置噪音阈值(分贝)
)
结语
AIAvatarKit为开发者提供了一个强大而灵活的工具,使创建智能、互动的AI虚拟形象变得前所未有的简单。无论您是想在元宇宙平台上创建虚拟助手,还是想开发实体机器人,AIAvatarKit都能满足您的需求。随着技术的不断进步,我们期待看到更多基于AIAvatarKit的创新应用,推动人机交互的边界不断扩展。
开始您的AI虚拟形象之旅吧,让我们一起探索这个充满无限可能的新领域!