Skip to content

Commit efeb9e0

Browse files
committed
Fixing typos and versioning.
1 parent 71eb0f4 commit efeb9e0

File tree

5 files changed

+154
-9
lines changed

5 files changed

+154
-9
lines changed

README_PyPI.md

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
<p align="center">
2+
<br/>
3+
<img src="https://github.com/epfl-dlab/aiflows/blob/main/assets/logo_text_statement_alt_rounded_corners.png?raw=true" alt="image" width="600" height="auto">
4+
<br/>
5+
<p>
6+
7+
<p align="center">
8+
<a href="https://epfl-dlab.github.io/aiflows">
9+
<img alt="Website" src="https://img.shields.io/badge/website-online-green">
10+
</a>
11+
<a href="https://discord.gg/yFZkpD2HAh">
12+
<img alt="Static Badge" src="https://img.shields.io/badge/Discord-gray?style=flat&logo=discord&link=https%3A%2F%2Fdiscord.gg%2FNJuDxSafCY">
13+
</a>
14+
<a href="https://epfl-dlab.github.io/aiflows/docs/built_with_sphinx/html/index.html">
15+
<img alt="Documentation" src="https://img.shields.io/badge/docs-online-green">
16+
</a>
17+
<a href="https://www.python.org/downloads/release/python-3100/"><img alt="PyPi version" src="https://img.shields.io/badge/python-3.10-blue.svg"></a>
18+
<a href="https://arxiv.org/abs/2308.01285">
19+
<img alt="Documentation" src="https://img.shields.io/badge/arXiv-2308.01285-b31b1b.svg">
20+
</a>
21+
</p>
22+
23+
🤖🌊 **aiFlows** embodies the <a href="assets/flows_paper.pdf">*Flows*</a> abstraction (<a href="https://arxiv.org/abs/2308.01285">arXiv</a>) and greatly simplifies the design and implementation of complex (work)Flows involving humans, AI systems, and tools. It enables:
24+
25+
- 🧩 Modularity: Flows can be stacked like LEGO blocks into arbitrarily nested structures with the complexity hidden behind a message-based interface
26+
- 🤝 Reusability: Flows can be shared publicly on the FlowVerse, readily downloaded and reused as part of different Flows
27+
- 🔀 Concurrency: Being consistent with the Actor model of concurrent computation, Flows are concurrency friendly – a necessary feature for a multi-agent future
28+
29+
## Flows in a Nutshell
30+
31+
The framework is centered around *Flows* and *messages*.
32+
Flows represent the fundamental building block of computation. They are independent, self-contained, goal-driven entities able to complete a semantically meaningful unit of work.
33+
To exchange information, Flows communicate via a standardized message-based interface. Messages can be of any type the recipient Flow can process.
34+
<p align="center">
35+
<img src="https://github.com/epfl-dlab/aiflows/blob/main/assets/fig1_rounded_corners.png?raw=true" alt="image" width="1000" height="auto">
36+
<p align="justify">
37+
<strong>The <em>Flows</em> framework exemplified.</strong> The first column depicts examples of tools. Notably, in the Flows framework, AI systems correspond to tools. The second column depicts Atomic Flows, effectively minimal wrappers around tools constructed from the example tools. The third column depicts examples of Composite Flows defining structured interaction between _Atomic_ or _Composite_ Flows. The fourth column illustrates a specific _Composite_ competitive coding Flow as those used in the experiments in the paper. The fifth column outlines the structure of a hypothetical Flow, defining a meta-reasoning process that could support autonomous behavior.
38+
</p>
39+
<p>
40+
41+
## FlowVerse in a Nutshell
42+
The FlowVerse is a repository of Flows (powered by the 🤗 HuggingFace hub) created and shared by our community for everyone to use! With aiFlows, Flows can be readily downloaded, used, extended, or composed into novel, more complex Flows. For instance, sharing a Flow that uses only API-based tools (tools subsume models in the Flows abstraction) is as simple as sharing a config file (e.g., [here](https://huggingface.co/aiflows/AutoGPTFlowModule) is the AutoGPT Flow on FlowVerse). For the ones using ChatGPT, you could think of them as completely customizable open-source GPTs(++).
43+
44+
The FlowVerse is continuously growing. To explore the currently available Flows, check out the 🤲│flow-sharing Forum on the Discord [server](https://discord.gg/yFZkpD2HAh). Additionally, the _Tutorials_ and _Detailed Examples_ in the [Getting Started](https://epfl-dlab.github.io/aiflows/docs/built_with_sphinx/html/getting_started/index.html) sections cover some of the Flows we provide in more detail (e.g., the ChatAtomicFlow and QA, VisionAtomicFlow and VisualQA, ReAct and ReAct with human feedback, AutoGPT, etc.).
45+
46+
## Why should I use aiFlows?
47+
AI is set to revolutionize the way we work. Our mission is to support AI researchers and to allow them to seamlessly share advancements with practitioners. This will establish a feedback loop, guiding progress toward beneficial directions while ensuring that everyone can freely access and benefit from the next-generation AI tools.
48+
49+
#### As a researcher, you will benefit from:
50+
- The ability to design, implement, and study arbitrarily complex interactions
51+
- Complete control and customizability (e.g., the tools, the specific Flows and the information they have access to, the choice of models and their deployment, etc.)
52+
- The ability to readily reproduce, reuse, or build on top of Flows shared on the FlowVerse and systematically study them across different settings (the infrastructure in the <a href="https://github.com/epfl-dlab/cc_flows">cc_flows</a> repository could be a useful starting point in future studies)
53+
- The ability to readily make your work accessible to practitioners and other researchers and access their feedback.
54+
55+
#### As a practitioner, you will benefit from the:
56+
- The ability to design and implement arbitrarily complex interactions
57+
- Complete control and customizability (e.g., the tools, the specific Flows and the information they have access to, the choice of models and their deployment, etc.)
58+
- The ability to readily reuse or build on top of Flows shared on the FlowVerse
59+
- Direct access to any advancements in the field.
60+
61+
To develop the next-generation AI tools and at the same time maximally benefit from them, developers and researchers need to have complete control over their workflows -- aiFlows strives to empower you to make each Flow your own! See the [contribute](#contribute) section for more information.
62+
63+
## Installation
64+
The library requires Python 3.10+. To install the library, run the following command:
65+
66+
```shell
67+
pip install aiflows
68+
```
69+
70+
<details>
71+
<summary>Other installation options</summary>
72+
73+
### Install bleeding-edge version
74+
75+
```shell
76+
git clone git@github.com:epfl-dlab/aiflows.git
77+
cd aiflows
78+
pip install -e .
79+
```
80+
</details>
81+
82+
83+
## Getting Started
84+
85+
### [Quick start (🕓 5 min)](./website/public/docs/getting_started/Quick_Start/quick_start.md)
86+
87+
Here, you'll see how you can run inference with your first question-answering Flow, and you can trivially change between vastly different question-answering Flows thanks to the modular abstraction and FlowVerse!
88+
89+
### [Tutorial (🕓 20 min)](./website/public/docs/getting_started/Tutorial/tutorial_landing_page.md)
90+
91+
In this tutorial, we introduce you to the library's features through a walkthrough of how to build useful Flows of gradually increasing complexity. Starting from a vanilla QA Flow, we'll first extend it to a ReAct Flow, then ReAct with human feedback, and finish the tutorial with a version of AutoGPT!
92+
93+
### [Developer's Guide (🕓 10 min)](./website/public/docs/getting_started/developer_guide/developper_guide_landing_page.md)
94+
95+
We are constantly optimizing our Flow development workflow (pun intended:). In this short guide, we share our best tips so that you don't have to learn the hard way.
96+
97+
### [Detailed Examples](./website/public/docs/getting_started/detailed_examples/detailed_example_landing_page.md)
98+
99+
Many of the recently proposed prompting and collaboration strategies involving tools, humans, and AI models are, in essence, specific Flows (see the figure below). In the link above, you'll find a detailed walkthrough of how to build some representative workflows.
100+
101+
<p align="center">
102+
<img src="https://github.com/epfl-dlab/aiflows/raw/main/assets/previous_flows_rounded.png" alt="image" width="1000" height="auto">
103+
<p align="justify">
104+
<p>
105+
106+
## Contribute
107+
108+
As mentioned above, our goal is to make Flows a community-driven project that will benefit researchers and developers alike (see the [Why should I use aiFlows?](#why-should-i-use-aiflows) section), and to achieve this goal, we need your help.
109+
110+
You can become a part of the project in a few ways:
111+
- contribute to the aiFlows codebase: this will directly improve the library and benefit everyone using it
112+
- contribute to the FlowVerse: by making your work accessible to everyone, others might improve your work and build on it, or you can build on others' work
113+
- use the library in your creative projects, push it to its limits, and share your feedback: the proof of the pudding is in the eating, and the best way to identify promising directions, as well as important missing features, is by experimenting
114+
- last but not least, ⭐ the repository and 📣 share aiFlows with your friends and colleagues; spread the word ❤️
115+
116+
We will support the community in the best way we can but also lead by example. In the coming weeks, we will share:
117+
- a roadmap for the library (FlowViz; FlowStudio; improve flexibility, developer experience, and support for concurrency, etc. -- feedback and help would be greatly appreciated!)
118+
- write-ups outlining features, ideas, and our long-term vision for Flows -- we encourage you to pick up any of these and start working on them in whatever way you see fit
119+
- a version of JARVIS -- your fully customizable open-source version of ChatGPT+(++), which we will continue building in public! We hope that this excites you as much as it excites us, and JARVIS will become one of those useful projects that will constantly push the boundaries of what's possible with Flows
120+
121+
We have tried to find a way for anyone to benefit by contributing to the project. The <a href="https://epfl-dlab.github.io/aiflows/docs/built_with_sphinx/html/contributing_info/contribute_index.html">Contribution Guide</a> describes our envisioned workflows in more detail (we would love to hear your feedback on this -- the Discord [server](https://discord.gg/yFZkpD2HAh) already has a channel for it :)).
122+
123+
In a nutshell, this is just the beginning, and we have a long way to go. Stay tuned, and let's work on a great (open-source) AI future together!
124+
125+
## Contributors
126+
127+
<a href="https://github.com/epfl-dlab/aiflows/graphs/contributors">
128+
<img src="https://contrib.rocks/image?repo=epfl-dlab/aiflows" />
129+
</a>
130+
131+
Made with [contrib.rocks](https://contrib.rocks).
132+
133+
## Citation
134+
135+
To reference the 🤖🌊 **aiFlows** library, please cite the paper [Flows: Building Blocks of Reasoning and Collaborating AI](https://arxiv.org/pdf/2308.01285.pdf):
136+
137+
```
138+
@misc{josifoski2023flows,
139+
title={Flows: Building Blocks of Reasoning and Collaborating AI},
140+
author={Martin Josifoski and Lars Klein and Maxime Peyrard and Yifei Li and Saibo Geng and Julian Paul Schnitzler and Yuxing Yao and Jiheng Wei and Debjit Paul and Robert West},
141+
year={2023},
142+
eprint={2308.01285},
143+
archivePrefix={arXiv},
144+
primaryClass={cs.AI}
145+
}
146+
```

aiflows/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
from .flow_verse import loading
22
from .utils import logging
33

4-
VERSION = "0.1.4"
4+
VERSION = "0.1.5"

pyproject.toml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ version = {attr = "aiflows.VERSION"}
1010
[project]
1111
license = {file = "LICENSE"}
1212
name = "aiflows"
13-
version = "0.0.4"
1413
description = 'aiFlows implements the abstraction of Flows proposed in "Flows: Building Blocks of Reasoning and Collaborating AI" and greatly simplifies the design and implementation of complex (work)Flows involving humans, AI systems, and tools.'
1514
authors = [
16-
{ name = "Martin Josifoski", email = "martin.josifoski@epfl.ch" },
15+
{ name = "Martin Josifoski", email = "martin.josifoski@epfl.ch" },
16+
{ name = "Nicolas Baldwin", email = "nicolas.baldwin@epfl.ch"}
1717
]
1818
requires-python = ">=3.10"
19-
readme = "README.md"
19+
readme = "README_PyPI.md"
2020
dynamic = ["version"]
2121

2222
dependencies = [
@@ -37,9 +37,8 @@ dependencies = [
3737
"litellm==1.0.0"
3838
]
3939

40-
# ToDo: Change home and documentation to aiflows
4140
[project.urls]
42-
Home = "https://epfl-dlab.github.io/flows/"
43-
Documentation = "https://epfl-dlab.github.io/flows/docs/built_with_sphinx/html/index.html"
41+
Home = "https://epfl-dlab.github.io/aiflows/"
42+
Documentation = "https://epfl-dlab.github.io/aiflows/docs/built_with_sphinx/html/index.html"
4443
Source = "https://github.com/epfl-dlab/aiflows"
4544
Issues = "https://github.com/epfl-dlab/aiflows/issues"

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
from setuptools import setup, find_packages
22

3-
setup(packages=find_packages(exclude=["test"]))
3+
setup(packages=find_packages(exclude=["test", "website", "assets"]))

website/src/components/gettingStarted.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export const GettingStarted = (props: any) => {
2222
return (
2323
<div id="getting_started" className="container">
2424
<div className="text-center col-md-10 col-md-offset-1 section-title">
25-
<h2 className="display-3">Example</h2>
25+
<h2 className="display-3">Examples</h2>
2626
</div>
2727
<div className="row">
2828
<div className="col-md-4 d-flex flex-column">

0 commit comments

Comments
 (0)