|
18 | 18 | <strong>FlowLLM: Build LLM applications with ease.</strong><br> |
19 | 19 | </p> |
20 | 20 |
|
21 | | -FlowLLM is a configuration-driven LLM application framework. It uses **Service, Job, Step, and Component** as the core building blocks: declare a workflow as a Job, implement the workflow with ordered Steps, expose the Job through CLI, HTTP, or MCP, and manage long-lived infrastructure such as models, embedding stores, and agent wrappers as Components with unified lifecycle and dependency handling. |
| 21 | +FlowLLM is a configuration-driven LLM application framework that organizes workflows, service entrypoints, and long-lived components with **Service, Job, Step, and Component**. |
22 | 22 |
|
23 | 23 | ## Core Features |
24 | 24 |
|
25 | | -- **Configuration-driven**: Starts from `flowllm/config/default.yaml` by default, with support for `config=/path/to/app.yaml` and dot-notation overrides such as `service.port=8181`. |
26 | | -- **Unified execution path**: `CLI / Client -> Service -> Application -> Job -> Step -> Component`. The service layer exposes capabilities, while business logic lives in Jobs and Steps. |
27 | | -- **Multiple service forms**: HTTP Service exposes `POST /<job_name>` through FastAPI; MCP Service exposes non-streaming Jobs as tools through FastMCP. |
28 | | -- **Sync, streaming, background, and scheduled tasks**: Built-in `base`, `stream`, `background`, and `cron` Job backends. |
29 | | -- **Pluggable components**: Register Steps, Services, Clients, LLMs, Embeddings, Embedding Stores, and Agent Wrappers through the global registry `R`. |
30 | | -- **AgentScope integration**: Built-in AgentScope LLM and Embedding wrappers support OpenAI, DashScope, Anthropic, DeepSeek, Gemini, Moonshot, Ollama, xAI, and other backends. |
31 | | -- **Agent wrapper**: Provides an AgentScope wrapper by default, with an optional Claude Code wrapper for exposing Jobs as tools to agents. |
| 25 | +- **Configuration-driven**: Starts from `flowllm/config/default.yaml`, with config files and dot-notation overrides. |
| 26 | +- **Unified path**: `CLI / Client -> Service -> Application -> Job -> Step -> Component`. |
| 27 | +- **Flexible Jobs**: Supports sync, streaming, background, and scheduled tasks exposed through HTTP or MCP. |
| 28 | +- **Pluggable components**: Extend Steps, Services, Clients, LLMs, Embeddings, Embedding Stores, and Agent Wrappers through registry `R`. |
32 | 29 |
|
33 | 30 | <p align="center"> |
34 | 31 | <img src="docs/figure/flowllm-architecture.svg" alt="FlowLLM Architecture" width="92%"> |
@@ -239,21 +236,17 @@ MCP transport supports `stdio`, `sse`, and `streamable-http`. |
239 | 236 |
|
240 | 237 | ## Open Source and Contributing |
241 | 238 |
|
242 | | -FlowLLM is open source under the Apache License 2.0. Before submitting changes, read the [contribution guide](docs/en/contributing.md) and the [FlowLLM development skill](skills/flowllm_dev/SKILL.md), then try to run: |
| 239 | +FlowLLM is licensed under Apache 2.0. Before contributing, read the [contribution guide](docs/en/contributing.md) and [development skill](skills/flowllm_dev/SKILL.md), then run: |
243 | 240 |
|
244 | 241 | ```bash |
245 | 242 | pre-commit run --all-files |
246 | 243 | pytest |
247 | 244 | ``` |
248 | 245 |
|
249 | | -Conventional Commits are recommended, for example: |
250 | | - |
251 | | -```text |
252 | | -feat(step): add reverse text demo |
253 | | -fix(config): preserve leading zero strings |
254 | | -docs(zh): update readme |
255 | | -``` |
256 | | - |
257 | 246 | ## License |
258 | 247 |
|
259 | 248 | This project is open source under the Apache License 2.0. See [LICENSE](./LICENSE) for details. |
| 249 | + |
| 250 | +## Star History |
| 251 | + |
| 252 | +[](https://www.star-history.com/#flowllm-ai/flowllm&Date) |
0 commit comments