Skip to main content

A Knowledge-grounded framework for Autonomous Program Synthesis and Optimization

Project description

Kapso

A Knowledge-grounded framework for Autonomous AI/ML Program Synthesis and Optimization

Learn more · Join Discord · Website

PyPI Discord GitHub commit activity Y Combinator X25

If you like this project, please support us by giving it a star ⭐

Early Access: Sign up for the hosted version of Kapso.

Kapso Framework Architecture


News

  • Leeroopedia MCP Integration: Kapso now connects to Leeroopedia MCP — your ML & Data Knowledge Wiki. Learnt by AI, built by AI, for AI. A centralized playbook of best practices and expert-level knowledge for Machine Learning and Data domains. Kapso agents use it during ideation and implementation to search knowledge, build plans, diagnose failures, and more.

  • Moltbook Agents 🦞: Build AI agents that optimize other agents and debate on Moltbook! Get started →

  • Technical Report: Our technical report is now available! Read the paper

  • #1 on MLE-Bench: KAPSO achieved top ranking among open-source systems on Kaggle ML competitions (MLE Benchmark).

    MLE-Bench Results
  • #1 on ALE-Bench: KAPSO achieved top ranking on long-horizon algorithmic discovery problems (ALE Benchmark).

    ALE-Bench Results

What is KAPSO?

KAPSO combines iterative experimentation with a knowledge base of best practices and tricks to discover ML/AI code improvements.

It automates the cycle of designing, testing, and refining algorithms, eventually adapting the optimized solution for deployment on your chosen infrastructure.

The Four Pillars

Pillar Method Description
Evolve .evolve() Run iterative experiments to build software for a goal. Uses tree search, coding agents, and KG context to generate and refine solutions.
Learn .learn() Ingest knowledge from repositories, past solutions, or research results. Extracts patterns and best practices into the Knowledge Graph.
Research .research() Run deep web research to gather ideas and implementation references. Returns structured findings you can feed into the knowledge base or use as context for evolving solutions.
Deploy .deploy() Turn a solution into running software. Supports local execution, Docker containers, or cloud platforms like Modal.

🚀 Quickstart

Installation

From PyPI (recommended)

pip install leeroo-kapso

From source (for development or to access wiki knowledge data)

git clone https://github.com/leeroo-ai/kapso.git
cd kapso

# Pull Git LFS files (wiki knowledge data)
git lfs install
git lfs pull

# Create conda environment (recommended)
conda create -n kapso python=3.12
conda activate kapso

# Install in development mode
pip install -e .

Leeroopedia MCP (optional) — connect Kapso to Leeroopedia, a curated ML/AI knowledge base. Sign up at leeroopedia.com for an API key, then:

pip install leeroopedia-mcp
echo 'LEEROOPEDIA_API_KEY=kpsk_your_key_here' >> .env

Basic Usage

from kapso import Kapso, Source, DeployStrategy

# Initialize Kapso
# If you have a Knowledge Graph, pass kg_index; otherwise just use Kapso()
kapso = Kapso(kg_index="data/indexes/legal_contracts.index")

# Research: Gather domain-specific techniques from the web
# mode: "idea" | "implementation" | "study" (can pass multiple as list)
# depth: "light" | "deep" (default: "deep")

findings = kapso.research(
    "RLHF and DPO fine-tuning for legal contract analysis",
    mode=["idea", "implementation"],
    depth="deep",
)

# Learn: Ingest knowledge from repositories and research into the KG
kapso.learn(
    Source.Repo("https://github.com/huggingface/trl"),
    *findings.ideas,           # List[Source.Idea]
    *findings.implementations, # List[Source.Implementation]
    wiki_dir="data/wikis",
)

# Evolve: Build a solution through experimentation
# Use research results as context via to_string()
solution = kapso.evolve(
    goal="Fine-tune Llama-3.1-8B for legal clause risk classification, target F1 > 0.85",
    data_dir="./data/cuad_dataset", 
    output_path="./models/legal_risk_v1",
    context=[findings.to_string()],
)

# Deploy: Turn solution into running deployed_program
deployed_program = kapso.deploy(solution, strategy=DeployStrategy.MODAL)
deployed_program.stop()

For detailed integration steps, see the Quickstart and Installation guides.

Examples

Example Description
CUDA Optimization Optimize CUDA kernels for GPU performance
PyTorch Optimization Optimize PyTorch operations for speedup
ML Model Development Improve ML model accuracy on tabular data
Prompt Engineering Optimize prompts for better LLM performance
Agentic Scaffold Optimize agentic AI workflows

Supported Benchmarks

Benchmark Description
MLE-Bench Kaggle ML competitions — tabular, image, text, audio problems
ALE-Bench AtCoder algorithmic optimization — C++ solution generation

📚 Documentation & Support

Contributing

We welcome contributions! Please see our Contributing Guide for details on how to get started.

Citation

If you use Kapso in your research, please cite:

@misc{nadaf2026kapsoknowledgegroundedframeworkautonomous,
      title={KAPSO: A Knowledge-grounded framework for Autonomous Program Synthesis and Optimization}, 
      author={Alireza Nadafian and Alireza Mohammadshahi and Majid Yazdani},
      year={2026},
      eprint={2601.21526},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2601.21526}, 
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

leeroo_kapso-0.1.5.tar.gz (415.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

leeroo_kapso-0.1.5-py3-none-any.whl (447.4 kB view details)

Uploaded Python 3

File details

Details for the file leeroo_kapso-0.1.5.tar.gz.

File metadata

  • Download URL: leeroo_kapso-0.1.5.tar.gz
  • Upload date:
  • Size: 415.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for leeroo_kapso-0.1.5.tar.gz
Algorithm Hash digest
SHA256 6365ede11afa9dd8d54780edd1335902c165b8820befb4e96e8f77c8038a5fee
MD5 a5c9ed5579eef95972850c5c00d7858b
BLAKE2b-256 e37f65d1c801110e5db3bb4eb516538736eacd657cfa877ea2f3374d1f99e84e

See more details on using hashes here.

File details

Details for the file leeroo_kapso-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: leeroo_kapso-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 447.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for leeroo_kapso-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c106cd5ac84bf4df1467d972954536069803db7eaa6bf7cb7dde4681b462c38d
MD5 bb92150a8b1169f263102c4a502bcced
BLAKE2b-256 3eb9878a8a017b4feb1202014f679b7b07c03262c6ffbb5fececf020cf343661

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page