|
1 | 1 | <div align="center">
|
2 |
| - <h1 align="center">Flux</h1> |
3 |
| - <p align="center"> |
4 |
| - Graph-based LLM power tool for exploring many completions in parallel. |
5 |
| - <br /> |
6 |
| - <br /> |
7 |
| - <a href="https://twitter.com/transmissions11/status/1640775967856803840">Announcement</a> |
8 |
| - · |
9 |
| - <a href="http://flux.paradigm.xyz">Try Online</a> |
10 |
| - · |
11 |
| - <a href="https://github.com/paradigmxyz/flux/issues">Report a Bug</a> |
12 |
| - </p> |
| 2 | + |
| 3 | +<img src="./docs/source/_static/logo.png" alt="Branches Logo" width=200></img> |
| 4 | + |
| 5 | +# Branches |
| 6 | + |
| 7 | +Prototype advanced LLM algorithms for reasoning and planning. |
| 8 | + |
| 9 | +[Try Online](http://code-gen-tree.vercel.app) • |
| 10 | +[Report a Bug](https://github.com/normal-computing/branches/issues) • |
| 11 | +[Stay tuned](#stay-tuned-for) |
| 12 | + |
13 | 13 | </div>
|
14 | 14 |
|
15 |
| -<br /> |
| 15 | + |
16 | 16 |
|
17 |
| - |
| 17 | +***Tree-search visualization during code generation.** We visualize a reasoning algorithm which learns from feedback, automatically correcting itself by analyzing error tracebacks to refine its solutions. In this case, we benchmark Python programming problems from the HumanEval dataset.* |
18 | 18 |
|
19 | 19 | ## About
|
20 | 20 |
|
21 |
| -Flux is a power tool for interacting with large language models (LLMs) that **generates multiple completions per prompt in a tree structure and lets you explore the best ones in parallel.** |
| 21 | +Branches is an AI tool for graph-based prototyping of advanced algorithms for LLM reasoning and planning -- like Tree of Thoughts and Reflexion. Branches is adapted from [Flux](https://github.com/paradigmxyz/flux). |
22 | 22 |
|
23 |
| -Flux's tree structure allows you to: |
| 23 | +Designed for researchers and developers, it allows users to directly interact with AI reasoning processes, streamlining the exploration of complex coding challenges and strategic problem-solving. |
24 | 24 |
|
25 |
| -- Get a wider variety of creative responses |
| 25 | +### Code Generation (HumanEval) |
26 | 26 |
|
27 |
| -- Test out different prompts with the same shared context |
| 27 | +Branches automatically expands decision trees to solve programming problems from the [HumanEval dataset](https://huggingface.co/datasets/openai_humaneval), visualizing reasoning chains and facilitating self-correction through error tracebacks. This is found on the `main` branch and is currently hosted. |
28 | 28 |
|
29 |
| -- Use inconsistencies to identify where the model is uncertain |
| 29 | +### Game of 24 |
| 30 | +Branches includes a specialized evaluation mechanism for the [Game of 24 puzzle](https://en.wikipedia.org/wiki/24_(puzzle)), leveraging a scoring system to enhance breadth-first search (BFS) by prioritizing promising paths. This is found on the `game-of-24` branch. |
30 | 31 |
|
31 |
| -It also provides a robust set of keyboard shortcuts, allows setting the system message and editing GPT messages, autosaves to local storage, uses the OpenAI API directly, and is 100% open source and MIT licensed. |
| 32 | +## Features |
| 33 | + |
| 34 | +- [x] 🌳 **Automated Tree Expansion**: Leveraging Tree of Thoughts for dynamic expansion in problem-solving. |
| 35 | +- [x] 🧠 **Pre-loaded Prompts**: Curated for search-based reasoning to solve specific problems. |
| 36 | +- [x] 💻 **Code Interpretation**: Instant execution and error analysis for self-correcting AI-generated code. |
| 37 | +- [x] 🔍 **Scoring Mechanism**: Advanced BFS for the Game of 24 with node evaluation for search optimization. |
| 38 | +- [x] 📊 **Interactive Visualization**: Graphical representation of tree searches for easy analysis and education. Largely adapted from [Flux](https://github.com/paradigmxyz/flux). |
32 | 39 |
|
33 | 40 | ## Usage
|
34 | 41 |
|
35 |
| -Visit [flux.paradigm.xyz](https://flux.paradigm.xyz) to try Flux online or follow the instructions below to run it locally. |
| 42 | +To get started with Branches, you can either visit [code-gen-tree.vercel.app](https://code-gen-tree.vercel.app) for the hosted version or run it locally by following the instructions below. |
| 43 | + |
| 44 | +## Deploy to Vercel |
| 45 | +```sh |
| 46 | +npm i -g vercel |
| 47 | +vercel |
| 48 | +``` |
36 | 49 |
|
37 | 50 | ## Running Locally
|
| 51 | +For local development, checkout the `local-dev` branch. This is slightly modified to use Flask to serve the code interpreter API. |
| 52 | + |
| 53 | +Setup repo |
| 54 | +```sh |
| 55 | +git clone https://github.com/normal-computing/branches.git |
| 56 | +git checkout local-dev |
| 57 | +``` |
38 | 58 |
|
| 59 | +**Frontend (User Interface):** |
39 | 60 | ```sh
|
40 |
| -git clone https://github.com/paradigmxyz/flux.git |
41 | 61 | npm install
|
42 | 62 | npm run dev
|
43 | 63 | ```
|
44 | 64 |
|
| 65 | +**Backend (Code Interpreter):** |
| 66 | +``` |
| 67 | +pip install -r backend/requirements.txt |
| 68 | +python backend/interpreter.py |
| 69 | +``` |
| 70 | + |
| 71 | +## Stay Tuned For |
| 72 | + |
| 73 | +Our commitment to enhancing Branches continues, with exciting new developments on the way: |
| 74 | + |
| 75 | +- More reasoning and planning algorithms beyond the defaults ([#10](https://github.com/normal-computing/branches/issues/10)) |
| 76 | +- Node Value Editing and Regenerate Subtree Functionality ([#5](https://github.com/normal-computing/branches/issues/5)) |
| 77 | +- UI Color Fixes and Customization Features ([#6](https://github.com/normal-computing/branches/issues/6)) |
| 78 | +- Address Model/UI Timeout Issues ([#7](https://github.com/normal-computing/branches/issues/7)) |
| 79 | +- Enhance Game of 24 Logic, Model Cost Tracking, and Prompt Engineering ([#8](https://github.com/normal-computing/branches/issues/8)) |
| 80 | + |
45 | 81 | ## Contributing
|
46 | 82 |
|
47 |
| -See the [open issues](https://github.com/paradigmxyz/flux/issues) for a list of proposed features (and known issues). |
| 83 | +Your contributions make Branches better. Whether it’s bug reports, new features, or feedback, we welcome it all! Report bugs or request features by creating an issue [here](https://github.com/normal-computing/Branches/issues). |
| 84 | + |
| 85 | +## License |
| 86 | + |
| 87 | +Branches is open-source and continues to uphold the [MIT license](LICENSE). |
0 commit comments