VirtualPet.mp4
Important
The following features are in progress and will be introduced in future updates.
To run VirtualPet with its full range of features, including the AI model and other functionalities, the following hardware and software specifications are recommended:
- RAM: 16 GB or more (for optimal performance)
- CPU: Intel Core i5 or equivalent (minimum), with at least 4 cores and 8 threads. A higher-end processor such as an Intel Core i7 or i9, or an AMD Ryzen 7 or 9, is recommended for better performance, especially when running the AI model.
- GPU: A dedicated GPU with at least 8 GB of VRAM (e.g., NVIDIA GTX 1080, RTX 2060, or better). A GPU is required to run the AI model efficiently, particularly for tasks such as image generation and real-time AI processing.
- Storage: SSD with at least 20 GB of free space for optimal loading and storage of models and assets.
- Network: While the AI model runs locally, an internet connection may be required for some external features, such as browsing or accessing public anime content websites.
- Operating System: Windows 11 (with support for GPU acceleration).
- .NET Framework: .NET 8 or later (for full compatibility with the integrated features and the AI model).
- CUDA (for NVIDIA GPUs): Ensure that the latest CUDA version compatible with your GPU is installed for optimal performance with AI models.
- Driver: Latest GPU drivers installed (required for AI acceleration).
Tip
For best performance, especially when using AI models, it is highly recommended to have a multi-core processor and a high-end GPU to handle complex calculations in real-time. A stable internet connection may be required for some features like anime content viewing and web browsing, but the AI model and most core functionalities are fully operational offline once set up.
VirtualPet relies on external services to provide some of its features, and to use them, you'll need to obtain API keys. The external services used by VirtualPet are as follows:
- Prodia IA: This AI service provides various functionalities within the app.
- NewsAPI: This API allows the app to fetch and display the latest news headlines.
Once you have obtained the necessary API keys for these services, you can add them to VirtualPet using one of the following methods:
- Locate the
apiKeys.json
file in theVirtualPet/Credentials/
directory. This file is where you will store your API keys. - Open the
apiKeys.json
file and enter your API keys in the following format:
{
"ApiKeys": [
{ "NEWSAPI": "YOUR_API_KEY" },
{ "PRODIA": "YOUR_API_KEY" }
]
}
Alternatively, when running VirtualPet, you can set your API keys directly from the Configuration Panel within the application:
- Launch VirtualPet.
- Open the Configuration Panel from the app's settings menu.
- Enter your API keys for both Prodia IA and NewsAPI in the respective fields.
- Save your changes.
This method allows you to update the API keys without needing to manually edit configuration files.
- In some screen resolutions, the panel does not adapt correctly, causing overflow of the tabs and their respective icons. This behavior results in incorrect display of the interface, negatively impacting the user experience, especially on screens with non-standard dimensions or smaller resolutions. (๐)
๐ป VirutalPetBefore starting with the VirtualPet setup, ensure you meet the following preconditions:
The solution consists of two main projects:
The
|
๐ฑ VirutalPet AppThe VirtualPet app allows you to stream content from an Android device to VirtualPet (the purpose and functionality of the app may change in the future) To configure the application, edit the
|
Note
Feel free to open an issue or submit a pull request if you have suggestions or improvements! This project uses GitHub Issues for tracking bugs and feature requests. All contributions are welcome! There's a TODO list in VirtualPet Dev Project and you can pick an interesting one to start. Please read the contributing guide for more information.
You can also do one of the following to help me make VirtualPet better
- Submit a feature request.
- Star and share VirtualPet to let others know about it.
- Just open an issue about the problem you've found!
Warning
This software includes features that allow users to extract data from websites. Currently, some of the extraction features are provided for demonstration purposes to showcase the software's capabilities. It is the user's responsibility to ensure that their use of this software complies with all applicable laws and the terms of service of the websites they > interact with. The developer does not endorse or promote unauthorized use of this software to access or extract content from any third-party websites or other platforms. By using this software, you agree that the developer is not responsible for any legal issues or consequences resulting from your use of the software.
Caution
If you redistribute or modify this software, you must acknowledge the original code in your work and provide a copy of the AGPL-3.0 license along with the source code. If you make changes, make sure to indicate the modifications made, so that users can distinguish between the original code and your modifications. Thank You ๐
VirtualPet leverages various external tools and libraries to enhance its functionality. These tools help optimize performance, extend the range of features, and provide a better user experience.
- LLamaSharp: A powerful library for interacting with AI models locally. It allows for fast processing of AI-powered tasks without requiring an internet connection.
- Whisper.net: A speech-to-text API that processes audio into text using a local or cloud-based model, providing high accuracy for transcription tasks.
- Selenium WebDriver: A web automation tool for interacting with web pages, used in VirtualPet for automating browser tasks.
- WebDriverManager: A library that automatically manages browser drivers for Selenium WebDriver, ensuring compatibility and simplifying setup.
- RestSharp: A REST API client for interacting with HTTP-based services, used for making API calls and fetching data from web services.
- WebSocketSharp: A library for managing WebSocket connections, allowing real-time communication between VirtualPet and external services.
- Stable Diffusion: A deep learning model used for generating high-quality images from text prompts. It is integrated into VirtualPet to enable image generation within the chat feature.
- Prodia: Easy-to-use Stable Diffusion API for AI-powered image generation at 90% lower cost than AWS. Effortless scale with no infrastructure worries.
- Tesseract OCR: An open-source OCR engine used for extracting text from images, making it easy to digitize printed or handwritten content.
- CEF (Chromium Embedded Framework): A framework used to embed Chromium-based browsers into applications, providing access to web browsing functionality directly within the app.
- Microsoft.CodeAnalysis: A set of APIs used for analyzing, compiling, and scripting C# code within the VirtualPet environment. Includes several components for C# scripting and workspace management.
- NAudio: A .NET audio library used to record, manipulate, and play audio in VirtualPet, supporting various audio formats and features like real-time audio processing.
- HelixToolkit: A 3D graphics library for creating high-quality 3D models and visualizations, integrated into VirtualPet for rendering interactive 3D scenes.
- FontAwesome.Sharp: A library that allows the use of Font Awesome icons in Windows Forms and WPF applications, providing intuitive and stylish icons for the UI.
- FCTB: A fast, customizable text box control for displaying and editing text with syntax highlighting in C# and other languages.
These external tools are essential for providing rich features in VirtualPet. They enhance the application's performance and capabilities, making it a powerful and versatile tool for users.