Skip to main content

🦋 NimbleBox ChainFury

linkcheck Downloads linkcheck License: Apache Twitter

🦋 Build complex chat apps using LLMs in 4 clicks ⚡️ Try it out here. Used in production by chat.nbox.ai.

Read the Docs

The documentation page contains all the information on using chainfury and chainfury_server.

Looking for Inspirations?

Here's a few example to get your journey started on Software 2.0:

  • 📚 Retrieval Augmented Generation (RAG): Load a PDF and ask it questions, read docs
  • 🏞️ Image generation using Stability: Generate your world, read here
  • 🔐 Private Storage: Privately store the data on AWS S3, read privacy

Installation

There are two separate packages built into this repository, first is chainfury which contains the fury-engine for running the DAGs and chainfury_server which contains the self hosted server for the GUI.

pip install chainfury
pip install chainfury_server

# to launch the server
python3 -m chainfury_server

Run Docker

Easiest way to run the server is to use docker. You can use the following command to run ChainFury:

docker build . -f Dockerfile -t chainfury:latest
docker run -p 8000:8000 chainfury:latest

To pass any env variables you can use the command:

docker run --env ENV_KEY=ENV_VALUE -p 8000:8000 chainfury:latest

Checkout all the:

  • component environment variables here
  • chainfury specific variables here
  • chainfury_server specific variables here

From Source

Here's a breakdown of folder:

  • chainfury/ contains the chainfury engine
  • server/ contains the chainfury server
  • client/ contains the frontend code for the GUI
  • api_docs/ contains the documentation

To build the entire system from scratch follow these steps:

git clone https://github.com/NimbleBoxAI/ChainFury
cd ChainFury
python3 -m venv venv
source venv/bin/activate

You will need to have yarn installed to build the frontend and move it to the correct location on the server

sh stories/build_and_copy.sh

Once the static files are copied we can now proceed to install dependecies:

pip install setuptools
pip install -e .          # editable install the chainfury
cd server
pip install -e .          # editable install the chainfury_server

To start you can now do:

cd chainfury_server
python3 server.py

You can now visit localhost:8000 to see the GUI.

Contibutions

ChainFury is an open-source project used in production. We are open to contributions to the project in the form of features, infrastructure or documentation.

  • Our issues page is kept up to date with bugs, improvements, and feature requests.

  • If you're looking for help with your code, hop onto GitHub Discussions board or Discord, so that more people can benefit from it.

  • Describing your issue: Try to provide as many details as possible. What exactly goes wrong? How is it failing? Is there an error? "XY doesn't work" usually isn't that helpful for tracking down problems. Always remember to include the code you ran and if possible, extract only the relevant parts and don't just dump your entire script. This will make it easier for us to reproduce the error.

  • Sharing long blocks of code or logs: If you need to include long code, logs or tracebacks, you can wrap them in <details> and </details>. This collapses the content so it only becomes visible on click, making the issue easier to read and follow.

Metadata

Release files for chainfury 1.6.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chainfury 1.6.4
File Size Uploaded
chainfury-1.6.4.tar.gz 51.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for chainfury 1.6.4
File Interpreter ABI Platform
chainfury-1.6.4-py3-none-any.whl Python 3 none any Details

Total release size: 107.8 kB

Release files / chainfury-1.6.4.tar.gz

Download URL chainfury-1.6.4.tar.gz
Size 51.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8d4e155bc9797d6545a0b6c6d85cf56d027045400ee71a0df15a017e15b09f84
BLAKE2b-256 checksum
How to use checksums
b6b69d193f248244f25ff9389d7333dfbe25265cec62a4ffb033ccc47efd4b0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.11.6 Darwin/23.0.0

Release files / chainfury-1.6.4-py3-none-any.whl

Download URL chainfury-1.6.4-py3-none-any.whl
Size 56.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f502ee2b8eca4ee5f4300d10a23736379f29e01268f8d730ca578b91da94bde3
BLAKE2b-256 checksum
How to use checksums
8d28edfbd86d91247cb50c6332980b0a174147239050b206f650934b3a19f078
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.11.6 Darwin/23.0.0
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page