Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dbpunk-labs/octogen

Octogen is an Open-Source Code Interpreter Agent Framework
https://github.com/dbpunk-labs/octogen

chatgpt codeinterpreter codellama docker terminal

Last synced: 5 days ago
JSON representation

Octogen is an Open-Source Code Interpreter Agent Framework

Awesome Lists containing this project

README

        


![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/dbpunk-labs/octogen/ci.yaml)
[![PyPI - Version](https://img.shields.io/pypi/v/og_chat)](https://pypi.org/project/og-chat/)
![PyPI - Downloads](https://img.shields.io/pypi/dm/og_chat?logo=pypi)
[![Gitter](https://img.shields.io/gitter/room/octogen/%20)](https://app.gitter.im/#/room/#octogen:gitter.im)

[中文](./README_zh_cn.md)

> ## Octogen
> an open-source code interpreter
> 一款开源可本地部署的代码解释器

## News

* 2023-10-24 🎉 Octogen [v0.5.0](https://github.com/dbpunk-labs/octogen/discussions) has been released 🎉

https://github.com/dbpunk-labs/octogen/assets/8623385/7445cc4d-567e-4d1a-bedc-b5b566329c41

|Supported OSs|Supported Interpreters|Supported Dev Enviroment|
|----|-----|-----|
| | | |

## Getting Started

Requirement
* python 3.10 and above
* pip
* [docker](https://www.docker.com/products/docker-desktop/) 24.0.0 and above, or [podman](https://podman.io/)

> To deploy Octogen, the user needs permission to run Docker commands.
> To use codellama, your host must have at least 8 CPUs and 16 GB of RAM.

Install the octogen on your local computer

1. Install og_up

```bash
pip install og_up
```

2. Set up the Octogen service

```
og_up
```
You have the following options to select
* OpenAI , recommanded for daily use
* Azure OpenAI
* CodeLlama,
* Octogen agent services powered by GPT4 and Codellama 34B

The default is using docker as container engine. use podman with flag `--use_podman`

3. Execute the command `og`, you will see the following output

```
Welcome to use octogen❤️ . To ask a programming question, simply type your question and press esc + enter
You can use /help to look for help

[1]🎧>
```
## Development

Prepare the environment

```
git clone https://github.com/dbpunk-labs/octogen.git
cd octogen
python3 -m venv octogen_venv
source octogen_venv/bin/activate
pip install -r requirements.txt
```

Run the sandbox including Agent with mock model and Kernel

```
$ bash start_sandbox.sh
$ og

Welcome to use octogen❤️ . To ask a programming question, simply type your question and press esc +
enter
Use /help for help

[1]🎧>hello
╭─ 🐙Octogen ─────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│ 0 🧠 how can I help you today? │
│ │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────╯
[2]🎧>

```

* To use openai for development, just update the config in the `start_sandbox.sh` with the example of [openai-env.example](./env_sample/openai_env.sample)
* To use azure openai for development, just update the config in the `start_sandbox.sh` with the example of [azure-env.example](./env_sample/azure_env.sample)
* To use codellama for development, just update the config in the `start_sandbox.sh` with the example of [codellama-env.example](./env_sample/codellama_env.sample)

## Supported API Service

|name|type|status| installation|
|----|-----|----------------|---|
|[Openai GPT 3.5/4](https://openai.com/product#made-for-developers) |LLM| ✅ fully supported|use `og_up` then choose the `OpenAI`|
|[Azure Openai GPT 3.5/4](https://azure.microsoft.com/en-us/products/ai-services/openai-service) |LLM| ✅ fully supported|use `og_up` then choose the `Azure OpenAI`|
|[LLama.cpp Server](https://github.com/ggerganov/llama.cpp/tree/master/examples/server) |LLM| ✔️ supported | use `og_up` then choose the `CodeLlama` |
|[Octopus Agent Service](https://octogen.dev) |Code Interpreter| ✅ supported | apply api key from [octogen.dev](https://www.octogen.dev/) then use `og_up` then choose the `Octogen` |

## The internal of local deployment

![octogen-internal](https://github.com/dbpunk-labs/octogen/assets/8623385/986f6805-44cf-4bc7-868f-1f6a987ca254)

* Octogen Kernel: The code execution engine, based on notebook kernels.
* Octogen Agent: Manages client requests, uses ReAct to process complex tasks, and stores user-assembled applications.
* Octogen Terminal Cli: Accepts user requests, sends them to the Agent, and renders rich results. Currently supports Discord, iTerm2, and Kitty terminals.

## Features

* Automatically execute AI-generated code in a Docker environment.
* Experiment feature, render images in iTerm2 and kitty.
* Upload files with the `/up` command and you can use it in your prompt
* Experiment feature, assemble code blocks into an application and you can run the code directly by `/run` command
* Support copying output to the clipboard with `/cc` command
* Support prompt histories stored in the octopus cli

if you have any feature suggestion. please create a discuession to talk about it

## Roadmap

* [roadmap for v0.5.0](https://github.com/dbpunk-labs/octogen/issues/64)