Introduction to VirtualWife
VirtualWife is an ambitious project aimed at creating a virtual digital companion that can seamlessly integrate into human life. The creator envisions this virtual entity as more than just software; it should possess its own "soul," allowing users to build a relationship with it akin to that of a friend. The aspiration is for VirtualWife to become a romantic advisor, a psychological consultant, and a solution to people's emotional needs. Despite its benefits, developing VirtualWife is not easy. It demands significant time and effort from the developer, who encourages support through simple gestures like starring the project if it proves useful.
Features of VirtualWife
VirtualWife comes packed with numerous impressive features:
- Easy Deployment: It can be set up quickly and easily with a single-click Docker deployment that is compatible with Linux, Windows, and MacOS systems.
- Customization: Users can customize character settings and swap character models, with options available from the VRM model marketplace, such as Vroid.
- Memory Functions: The project supports both short-term and long-term memory functionalities.
- Model Flexibility: It allows users to switch between multiple language learning models (LLMs), including the option for a private model (ollama).
- Interactive Communication: It features text-driven expressions and actions, and supports live interactions on platforms like Bilibili.
- Voice Interaction: Users can converse via voice in Chinese, with options to switch between Microsoft Edge and Bert-VITS2 voices.
- Fast Data Transmission: Boasts efficient streaming for quicker response times.
Roadmap
The project is still in its infancy and has ambitious plans for the future. Upcoming improvements and features include:
- Memory Module Enhancement: Plans to introduce associative memory, improve memory retrieval accuracy, and implement a forgetfulness mechanism to maintain focus.
- Emotional Emergence Module: Enhancing emotional expression with better body control, though speech tone and speed control are currently not planned.
- Voice Module Expansion: Continuing support for Microsoft Edge and Bert-VITS2 voice switching.
- Role-Play Deepening: Refining character personas, including settings like cat girl, tsundere, and mature personalities through LoRA fine-tuning of the RWKV models.
- Reflection Module Development: Creating a self-upgrading system through initial role setups and continuous reflection and planning.
- Knowledge Retrieval: Integration with FastGPT to enhance information access.
Getting Started with VirtualWife
Installation of Docker
To begin with VirtualWife, installing Docker is a necessity. There are two methods:
- Command Line: Follow manuals for Docker installation and Docker Compose installation.
- Docker Desktop: This package usually comes with Docker Compose. Follow the steps to download the Docker Desktop program.
Ensure the installation is successful by verifying the log:
docker -v
docker-compose -v
VirtualWife Program Directory
Navigate to the installation directory:
cd installer
The directory includes:
- Installation guide (README.md)
- Docker compose file
- Environment variable template
- Long-term memory and data storage module
- Linux and Windows program start/stop scripts
Setting up Environment Variables
Rename the example environment configuration file:
mv env_example .env
Configure environment variables, such as setting the timezone and program version.
Launching the Program
For a Linux system, follow these steps to start:
cd linux
sh start.sh
This process may take around five minutes initially due to image downloads.
Web Page Access
Access the web application via:
http://localhost/
Initializing the Virtual Companion
- Basic Setup: Select preferred character and model, and choose a large language model. Use OpenAI if applicable.
- Language Model Configuration: For OpenAI, ensure the OPENAI_API_KEY is filled.
- Advanced Settings: Configure HTTP proxy if necessary, especially for docker-based deployments.
- Saving Your Configuration: Ensure configurations are saved to commence interaction.
No service restarts are needed after saving, allowing users to start a dialogue immediately. For any issues, the FAQ section is available for assistance.
License
VirtualWife is available under the MIT license. Users should acknowledge and assume responsibility when using the project, absolving developers from associated risks.
Community and Support
For technical discussions or to support through donations, refer to the provided contact methods in the project documentation.
Support the project by watching its star history and contributing to its growth and optimization.