CyberWaifu  by Syan-Lin

Chatbot using LLM and TTS for realistic conversations

created 2 years ago
1,066 stars

Top 36.0% on sourcepulse

GitHubView on GitHub
Project Summary

CyberWaifu is a realistic chatbot leveraging LLMs and TTS for engaging conversations, primarily targeting QQ users. It aims to provide a more natural and interactive chat experience through features like memory, real-world awareness, and web search integration.

How It Works

The chatbot utilizes LangChain as its core LLM framework, integrating with go-cqhttp for QQ bot deployment. It supports various TTS engines (vits, edge-tts) and LLMs (ChatGPT, Claude). Key features include a "thought chain" for AI decision-making (e.g., adding emojis), a memory database for long-term context via conversation summarization and batch import, and "reality perception" to simulate states like sleeping. Web search is enabled through Google Serper, allowing the AI to autonomously construct search queries.

Quick Start & Requirements

  • Install: Clone the repository, create a Conda environment (conda create --name CyberWaifu python=3.10.10), activate it (conda activate CyberWaifu), and install dependencies (pip install -r requirements.txt).
  • Prerequisites: Python 3.10.10, Conda, go-cqhttp, ffmpeg (placed in qqbot/ffmpeg), Sentence Transformer model (placed in st_model for Claude support), OpenAI API key or Claude API credentials (user_oauth_token, bot_id), and a Google Serper API key.
  • Setup: Requires downloading and configuring go-cqhttp and ffmpeg, setting environment variables for ffmpeg, and placing model files. Configuration is done via template.ini (renamed to config.ini).
  • Docs: go-cqhttp documentation, Claude API接入教程.

Highlighted Details

  • Supports LLM-driven decision-making for actions like adding emojis or using stickers.
  • Implements a memory database for long-term conversation recall and character enrichment.
  • Features "reality perception" for simulating AI states based on real-world time (currently unstable).
  • Integrates web search via Google Serper for information retrieval.
  • Supports custom character prompts and memory configurations.

Maintenance & Community

  • Project appears to be actively maintained by Syan-Lin.
  • Community links (Discord/Slack) or roadmap are not explicitly mentioned in the README.

Licensing & Compatibility

  • The repository does not explicitly state a license.
  • Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The project is primarily designed for private chat scenarios and does not currently support group chats. The "reality perception" feature's stability is noted as inconsistent. Web search integration is limited to simple factual information due to context length constraints. Support for vits, emotion-vits, bark, and AI image generation are listed as planned features (marked with ⬜).

Health Check
Last commit

1 year ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
14 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.