ice  by oughtinc

LM program debugger and trace visualizer

created 2 years ago
553 stars

Top 58.8% on sourcepulse

GitHubView on GitHub
Project Summary

ICE (Interactive Composition Explorer) is a Python library and trace visualizer designed for debugging and developing language model (LM) programs. It allows users to define, run, and inspect complex LM workflows, referred to as "recipes," by decomposing tasks into smaller, manageable subtasks executed by "agents." This tool is aimed at LM developers and researchers seeking to understand and optimize LM interactions.

How It Works

ICE operates on a "recipe" abstraction, which represents a task decomposition that could ideally be executed by a human. These recipes are then executed by "agents," which are responsible for atomic subtasks like text completion or classification. The library supports various execution modes, including human-only, human+LM, and LM-only, enabling flexible debugging and testing. A key advantage is its interactive trace visualizer, which renders the execution flow in a browser, allowing users to inspect intermediate states and agent outputs.

Quick Start & Requirements

  • Install: pip install ought-ice
  • Requirements: Python 3.9, 3.10, or 3.11. Windows users must use WSL.
  • Setup: Requires setting API keys (e.g., OpenAI) in ~/.ought-ice/.env.
  • Resources: Official documentation and a Slack channel are available for support.

Highlighted Details

  • Enables parallelization of LM calls for faster recipe execution.
  • Supports reusing component recipes like question-answering and ranking.
  • Allows defining custom LM agents, such as chain-of-thought agents.
  • Includes a Storybook environment for UI testing.

Maintenance & Community

ICE is developed by Ought, an applied ML lab focused on AI research assistants. The project is pre-1.0, indicating potential API instability. Community contributions are welcomed, and a Slack channel is available for collaboration and questions.

Licensing & Compatibility

The project is open-source, developed by Ought. The specific license is not explicitly stated in the README, but Ought's other projects are typically Apache 2.0 licensed, suggesting potential commercial compatibility.

Limitations & Caveats

The API is pre-1.0 and subject to change, including potential removal or renaming of functionality. Users are advised to use it at their own risk due to ongoing development.

Health Check
Last commit

3 weeks ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
6 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.