The Social Platform module is a core component of Oasis that simulates a social media environment for agent interactions. It provides a complete infrastructure for social network activities, including user management, content creation, engagement metrics, recommendation systems, and user interactions. We support passing in two types of platforms. One is theDocumentation Index
Fetch the complete documentation index at: https://docs.oasis.camel-ai.org/llms.txt
Use this file to discover all available pages before exploring further.
DefaultPlatformType, which includes Twitter and Reddit. Otherwise, you can customize the Platform settings and pass them in.
Default Platform Type (Recommend)
OASIS supports two built-in platform types, which can be specified during environment creation:Twitter-like Platform
Reddit-like Platform
Customized Platform
The platform uses an asynchronous architecture to handle agent actions and maintain a consistent timeline within the simulation.Key Features
Time Management
- Configurable time acceleration using
sandbox_clock - Support for simulated timeline progression
Database Integration
- SQLite-based storage for all social activities and relationships
- Comprehensive logging of user actions and system events
Recommendation Systems
Several recommendation system types are supported:- Random: Simple randomized content recommendation
- Reddit: Reddit-style recommendation based on engagement metrics
- Twitter: Personalized recommendations based on user history
- TWHin: Advanced recommendation using graph embedding (optional OpenAI embedding integration)
Social Actions
The platform supports a wide range of social media actions.Initialization
Configuration Options
| Parameter | Type | Default | Description |
|---|---|---|---|
db_path | str | Required | Path to SQLite database |
channel | Any | Channel() | Communication channel for agent interactions |
sandbox_clock | Clock | Clock(60) | Time management for the simulation(for reddit recommendation system) |
start_time | datetime | datetime.now() | Initial time for the simulation(for reddit recommendation system) |
show_score | bool | False | Show combined score (Reddit style) instead of separate likes/dislikes |
allow_self_rating | bool | True | Allow users to like/dislike their own content |
recsys_type | str/RecsysType | ”reddit” | Recommendation system type (“random”, “reddit”, “twitter”, “twhin”) |
refresh_rec_post_count | int | 1 | Number of posts returned per refresh |
max_rec_post_len | int | 2 | Maximum posts per user in recommendation buffer |
following_post_count | int | 3 | Number of posts from followed users |
use_openai_embedding | bool | False | Use OpenAI embeddings for TWHin recommendation system. If false, use the local TWHIN-BERT model to get embeddings. |
Recommendation System
Different recommendation algorithms can be configured through therecsys_type parameter:
The available recommendation system types are:
| RecsysType | Description |
|---|---|
TWITTER | Standard Twitter-like recommendation system |
TWHIN(Recommend) | TWHINBert-based recommendation system for Twitter-like platforms |
REDDIT | Reddit-style recommendation system |
RANDOM | Random content recommendation (for baseline testing) |