Skip to main content

Development Setup

This guide will help you set up a complete development environment for ARKOS, including all dependencies and configurations.

System Requirements

Minimum Requirements

  • OS: Ubuntu 20.04+, macOS 11+, or Windows 10+ with WSL2
  • Python: 3.8 or higher
  • RAM: 8GB minimum
  • Storage: 20GB free space
  • CPU: 4 cores recommended
  • RAM: 16GB or more
  • GPU: NVIDIA GPU with 8GB+ VRAM (for local models)
  • Storage: 50GB+ for model files
  • CPU: 8+ cores for better performance

Environment Setup

1. Python Environment

2. Clone Repository

3. Install Dependencies

Dependencies Overview

Current Dependencies (requirements.txt)

Dependency Details

Configuration Files

1. Environment Variables (.env)

Create a .env file in the project root:
Edit .env with your configuration:
The DB_URL environment variable is required. ARKOS uses PostgreSQL for conversation context storage.

2. YAML Configuration

The main configuration file is config_module/config.yaml:

Database Setup

PostgreSQL (Required)

ARKOS requires PostgreSQL for conversation context storage.
  1. Create a Supabase project
  2. Get your connection string from Settings > Database
  3. Set DB_URL in your .env file

Using Local PostgreSQL

Database Schema

Create the required table:

Running SGLANG

Check if Already Running

On shared servers, the LLM server may already be running:

Start the LLM Server

This starts the SGLang server on port 30000 with the Qwen 2.5-7B-Instruct model.
Only one instance can run on port 30000 at a time. Coordinate with your team on shared servers.

Running the Application

1. Start the LLM Server

Wait for “server started” messages.

2. Start the API Server

This starts FastAPI on port 1111.

3. Start the CLI Interface (Optional)

Verify Setup

IDE Configuration

VS Code

Create .vscode/settings.json:

PyCharm

  1. Set Python interpreter to virtual environment
  2. Enable pytest as test runner
  3. Configure code style with Black formatter

Testing

Running Tests

Test Configuration

Debugging

Enable Debug Logging

VS Code Launch Configuration

Create .vscode/launch.json:

Common Issues

Add the project root to PYTHONPATH:
Verify your DB_URL in .env:
Check if SGLang is running:
If not, start it with bash model_module/run.sh
Find and kill the process:
Reduce batch size or use a smaller model:
Ensure .env file exists and is in the project root:

Project Structure

Next Steps

Testing Guide

Learn about testing strategies

Quick Start

Start using ARKOS

Architecture

Understand the system design

API Reference

Explore the APIs