# octogen **Repository Path**: dbpunk-labs/octogen ## Basic Information - **Project Name**: octogen - **Description**: 一款为开发者打造的开源的代码解释器 https://github.com/dbpunk-labs/octogen - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: https://github.com/dbpunk-labs/octogen - **GVP Project**: No ## Statistics - **Stars**: 15 - **Forks**: 8 - **Created**: 2023-09-28 - **Last Updated**: 2024-03-05 ## Categories & Tags **Categories**: code-analyse **Tags**: None ## 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)