Skip to content

Inupedia/AI-Chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Chatbot

AI Chatbot是一个由AI大语言模型驱动的聊天软件,支持 OpenAI (ChatGPT)Google Gemini 两种AI后端,通过Voicevox与用户进行语音交互。

要求

  • Python 3.8或更高版本及其依赖包
  • Git (可选)
  • OpenAI API密钥 或 Google Gemini API密钥 (二选一)
  • Voicevox引擎

安装

  1. 克隆存储库或者下载zip

    git clone https://github.com/Inupedia/AI-Chatbot.git
  2. 安装系统依赖 (Ubuntu/Debian):

    sudo apt-get install -y portaudio19-dev python3-dev ffmpeg
  3. 安装所需的Python包:

    pip install -r requirements.txt 
  4. 下载VoiceVox引擎并运行:

    1. 官方软件
    2. Docker镜像 (推荐):
      docker run -d --name voicevox -p 50021:50021 voicevox/voicevox_engine:cpu-ubuntu20.04-latest
    3. Google Colab

使用方法

  1. 选择AI后端并设置API密钥:

    OpenAI (默认):

    • 修改 module/config.jsonprovider"openai"
    • 设置密钥: 环境变量 export OPENAI_API_KEY="your-key" 或修改配置文件中 openai.api_key

    Google Gemini:

    • 修改 module/config.jsonprovider"gemini"
    • 设置密钥: 环境变量 export GEMINI_API_KEY="your-key" 或修改配置文件中 gemini.api_key
    • Gemini API密钥可在 Google AI Studio 免费获取
  2. 修改module/config.json的信息

    1. provider: openaigemini,选择AI后端
    2. chat_mode: voice,text或者live,选择使用语音,文本或直播模式
    3. role: 角色性格塑造,可根据个人喜好自行调教
    4. max_tokens, temperaturetop_pfrequency_penaltypresence_penalty: AI参数调整
    5. endpoint: VoiceVox引擎的地址,根据本地运行方式进行调整
    6. speaker_id: VoiceVox引擎的ID,可参照官方声音样品及对比对应角色进行调整
    7. username: 用户名, 仅在voicetext模式下有效
    8. queue_size: 能最大存储消息队列大小, 仅在livetext模式下有效。为保持记录最新,当消息队列达到最大值时,会自动清空早期1/2的消息
    9. room_id: 直播间ID,如https://live.bilibili.com/123456中的123456
    10. proxy: 免翻墙代理,如需使用代理,请将enabled设置为true并在host中填写代理地址
  3. 运行程序 (首先运行Voicevox):

    python main.py

补充说明

  1. vtuber运行角色皮肤需要用到Vtube Studio
  2. 如果需要将音频信号从一个应用程序传递到另一个应用程序或系统组件,可以使用Virtual Audio Cable

免责声明

本项目仅供学习交流使用,不得用于商业用途,否则后果自负。

License

MIT

About

Bilibili直播虚拟主播,通过ChatGPT(支持代理模式)应答,Voicevox发声。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages