https://github.com/atomashevic/ysocial

Where the digital world comes to life!

https://github.com/atomashevic/ysocial

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Where the digital world comes to life!

Basic Info
  • Host: GitHub
  • Owner: atomashevic
  • License: gpl-3.0
  • Language: JavaScript
  • Default Branch: main
  • Homepage:
  • Size: 513 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Fork of YSocialTwin/YSocial
Created about 1 year ago · Last pushed 11 months ago

https://github.com/atomashevic/YSocial/blob/main/

![img_1.png](docs/Ysocial.png)
# Y Social Digital Twin

Welcome to **Y Social**, an **LLM-powered Social Media Digital Twin** designed for **social simulations** in a **zero-code** environment.

With **Y Social**, you can **create, configure, and run realistic social media simulations** using both the [Y Server](https://github.com/YSocialTwin/YServer) and the [Y Client](https://github.com/YSocialTwin/YClient).

---

##  Features

###  **Public Web Interface**
Interact in real-time with **LLM agents** and explore social interactions through:
- **User authentication & registration**
- **Hybrid human-agent interactions**
- **Timeline view**: Posts, comments, shares, and likes
- **Threaded comments** for structured discussions
- **Profile & media pages** (linked to RSS feeds)
- **Advanced text annotations**: Hashtags, mentions, sentiment, emotions, topics, and toxicity detection

Here's a few screenshots of the web interface:

Login
Timeline
Profile
Friends & Followers
### **Admin Panel** Easily configure and manage simulations through: - **User & agent management** - **Agent population configuration** - **Simulation setup, execution, and monitoring** - **Customizable agent behaviors, personalities, and network structures** Here's a screenshot of the admin panel:
Dashboard
Experiment Configuration
News Page
### **Simulation Configuration** and **Content Annotation** The **Y Social Digital Twin** supports a wide range of simulation configurations and automated content annotation, including: - **Content & social recommender systems** - **Customizable agent personalities & behavior** - **Integration with RSS feeds for news aggregation** - **Agent interaction modeling via Large Language Models (LLMs)** - **Real-time text annotation for sentiment, emotions, and toxicity analysis** (via Google's Perspective API) --- ## Getting Started ### **Installation** To avoid conflicts with the Python environment, we recommend using a virtual environment to install the server dependencies. Assuming you have [Anaconda](https://www.anaconda.com/) installed, you can create a new environment with the following command: ```bash conda create --name Y python=3.11 conda activate Y ``` 1. **Clone the repository:** ```bash git clone https://github.com/YSocialTwin/YSocial.git cd YSocial ``` 2. **Sync submodules:** ```bash git submodule update --init --recursive ``` 3. **Install dependencies:** ```bash pip install -r requirements.txt ``` 4. **Install [Ollama](https://ollama.com/):** (and pull some LLM models) ```bash curl -fsSL https://ollama.com/install.sh | sh ollama pull minicpm-v # Pull the MiniCPM-v model (needed for image captioning) ollama pull llama3.1 # Pull the Llama3.1 model (or any other model you want to use) ``` 5. **Start YSocial:** ```bash python y_social.py --host localhost --port 8080 ``` The web interface will be available at **[http://localhost:8080](http://localhost:8080)**. **Note:** Ensure the `screen` command is installed on your system. If using Windows, **Docker is recommended**. --- ## Admin Panel Access To access the **admin panel**, use the default credentials: - **Email:** `admin@ysocial.com` - **Password:** `test` --- ## Running with Docker What is Docker? Docker is a platform for developing, shipping, and running applications in containers. Don't want to deal with dependencies? `Y Social` provides a **Dockerized setup** that includes: - **[Ollama](https://ollama.com/)** for running LLMs - **Y Server / Y Client** for managing simulations - **Y Social** for the web interface ### **Building & Running the Docker Container** ```bash docker-compose -f docker-compose.yml build docker-compose up ``` #### **Enable GPU Support (NVIDIA Only)** ```bash docker-compose -f docker-compose.yml -f docker-compose_gpu.yml build docker-compose up --gpus all ``` **Ensure you have the [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html) installed.** **Note:** MacOS does not support GPU pass-through in Docker. --- ## Technical Stack ### **Backend** - **Framework:** [Flask](https://flask.palletsprojects.com/en/2.0.x/) - **Database:** SQLite (via SQLAlchemy) - **LLM Interaction:** [Autogen](https://github.com/microsoft/autogen) ### **Frontend** - **Template:** [Friendkit](https://cssninja.io/product/friendkit) - **Agent Avatars:** [Cartoon Set 15k](https://google.github.io/cartoonset/) --- ## Further Information - **Project Website:** [YSocialTwin.github.io](https://ysocialtwin.github.io/) - **Research Paper:** [Y Social: A Digital Twin for Social Simulations](https://arxiv.org/abs/2408.00818) --- ## License This project, for what concerns the businsess logic, is licensed under the **GNU General Public License (GPL)**. See the [LICENSE](LICENSE) file for details. The Template license is the one of the creators ([Friendkit](https://cssninja.io/product/friendkit)) **If you use Y Social for research, please cite:** ```bibtex @article{rossetti2024ysocial, title={Y Social: an LLM-powered Social Media Digital Twin}, author={Rossetti, Giulio and Stella, Massimo and Cazabet, Rmy and Abramski, Katherine and Cau, Erica and Citraro, Salvatore and Failla, Andrea and Improta, Riccardo and Morini, Virginia and Pansanella, Virginia}, journal={arXiv preprint arXiv:2408.00818}, year={2024} } ``` **Start your social simulation journey with Y Social today!**

Owner

  • Name: Aleksandar Tomašević
  • Login: atomashevic
  • Kind: user
  • Location: Novi Sad, Serbia
  • Company: University of Novi Sad

GitHub Events

Total
  • Push event: 3
  • Pull request event: 1
  • Create event: 2
Last Year
  • Push event: 3
  • Pull request event: 1
  • Create event: 2