You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The process of building agentic systems and LLM-based applications in general feels **so inefficient today**.
15
-
On the one hand, current frameworks introduce so much complexity that most people end up prefering to write code from scratch.
16
-
On the other, most people build agents as monoliths today. For instance, if you are building a stock trading agent, you also build the web scraper agent for gathering financial info, the processing models etc.
17
-
18
-
**This makes no sense**. In the example above, the web scraper agent for financial data is useful for hundreds of different applications. But people usually reinvent the wheel, there's no easy way to embed other people's agent on your workflows, for a number of reasons.
19
-
I always thought that the most efficient way to build agentic systems would:
20
-
21
-
- Have an open-source community that collaborates to build specialized agents that are reusable for many use cases.
22
-
- Have a framework that makes it easy to embed different agents into a single multi-agent system that accomplishes particular tasks.
23
-
- A platform (like Docker Hub or HuggingFace) where people can push and pull their projects from.
24
-
25
-
GenSphere is a framework that tries to address all these points at once.
26
-
27
13
## What is GenSphere?
28
14
29
15
GenSphere is framework to build LLM applications by declaring tasks and how they connect on YAML files. That unlocks a ton of features, including:
30
16
31
-
### 1. Low-level control
17
+
### 1. Text-to-agent:
18
+
19
+
Because the YAML files are an economical description of workflow logics, which abstract away the execution code, one can use LLMs themselves generation those files from high-level prompts. This opens the possibility of building full-fledged text-to-agents workflows.
20
+
21
+
### 2. Low-level control
32
22
33
23
We break any LLM application down to graphs where each node is either a function call,
34
24
an LLM API call or another graph itself. By doing so, you can inspect (and edit) any
35
25
application down to its core components. **We want to break the cumbersome pile of
36
26
unnecessary abstractions** that some modern frameworks bring, and which have turned LLM application building
37
27
quite opaque.
38
28
39
-
### 2. Portability
29
+
### 3. Portability
40
30
41
31
Projects are defined by a set of **YAML files and associated python functions and schemas**.
42
32
This make it easy to share your application with other developers, and makes it easy
43
33
for them to use what you built in more complex workflows.
44
34
45
-
### 3. Community collaboration
35
+
### 4. Community collaboration
46
36
47
37
Once you've broken your application down to its core components as described above, you
48
38
can **push it to an open platform (no registration required)**. A public ID is generated,
@@ -51,7 +41,7 @@ referencing its ID.
51
41
52
42
You can also check popularity of published projects, as measured by number of pulls they get.
53
43
54
-
### 4. Composability
44
+
### 5. Composability
55
45
56
46
Because you can reference graphs as nodes on parents graphs, GenSphere makes it extremely easy to
57
47
**compose complex applications from simpler reusable components**. You can pull projects from the
0 commit comments