jesuscopado / samantha-os1

Samantha OS1 is a conversational AI assistant powered by the Realtime API from OpenAI
91 stars 48 forks source link

Samantha OS¹ (Her)

Samantha is an AI assistant inspired by the movie Her. This project is built to provide real-time voice interactions using the Realtime API and Chainlit. Samantha acts as an agent that calls various tools to handle user requests, such as querying stock prices, generating images, and creating Python scripts.

Setup and Running

You can run Samantha either by setting up a virtual environment using uv or using Docker Compose. Note that setting up the environment variables is required in all cases.

Option 1: Using Virtual Environment

  1. Clone the Repository

    git clone https://github.com/jesuscopado/samantha-os1.git
    cd samantha-os1
  2. Set Up Virtual Environment

    • Install uv package manager: Installation Instructions
    • Create the virtual environment:
      uv sync
    • Activate the virtual environment:
      source .venv/bin/activate  # On Windows use `.venv\Scripts\activate`
  3. Environment Variables

    • Create a .env file in the root directory by copying .env.example and updating it with your own keys.
  4. Run the Application

    cd app
    chainlit run samantha.py

Option 2: Using Docker Compose

  1. Environment Variables

    • Create a .env file in the root directory by copying .env.example and updating it with your own keys.
  2. Build and Run with Docker Compose

    • Make sure Docker and Docker Compose are installed.
    • Run the following command:
      docker-compose up --d

Tools and Features

This project includes several powerful tools:

License

This project is licensed under the MIT License.


¹ Samantha OS is inspired by the movie Her, but it is not affiliated with or endorsed by any related entities.