https://github.com/distribute-dev/dagen
Agents and RAG workflows with little to no code
https://github.com/distribute-dev/dagen
agentic-framework agentic-rag agentic-workflow agents ai llm rag
Last synced: 3 months ago
JSON representation
Agents and RAG workflows with little to no code
- Host: GitHub
- URL: https://github.com/distribute-dev/dagen
- Owner: distribute-dev
- License: apache-2.0
- Created: 2024-06-08T02:06:39.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-12-19T03:27:49.000Z (5 months ago)
- Last Synced: 2024-12-19T04:30:55.228Z (5 months ago)
- Topics: agentic-framework, agentic-rag, agentic-workflow, agents, ai, llm, rag
- Language: Go
- Homepage:
- Size: 41 KB
- Stars: 19
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# dagen
> d(istributed)agen(ts)## Overview
Create Agents and RAG workflows with little to no code.- Experiment with Agents and RAG workflows with only YAML configuration. Iterate quickly.
- Easily import data from various sources, generate embeddings, store the data in a vector db. Keep that data continuously up to date.
- Extend your experiments into full applications by adding custom tools and (optionally) writing some code.## Project Goals
- Create composable workflows which can be exposed as API endpoints or run on schedules.
- Achieve significant progress on Agent/RAG prototyping without needing to invest large amounts of time.
- Provide plugins for various services such as vector databases, LLMs, and data importers.
- Move past prototyping with code and plugin escape hatches. Assist in evaluating quality.
- Deploy "for real" and successfully serve production traffic. Eventually.## Features
Implemented:
- YAML config for expressing Agent/RAG workflows, routes, and plugins
- Plugins for:
- Importers: files
- Vector DBs: DuckDB
- LLM Services: Ollama
- Embedders: Ollama
- HTTP server to expose workflowsPlanned:
- Pluggable tools with LLM tool_choice support:
- STDIN/STDOUT binaries
- HTTP endpoints
- Go packages
- Workflows (LLM from one workflow can call another workflow)
- Observability (OpenTelemetry)
- Support for more types of plugins
- More extensive prompt templating support## More information
See [the example config file](./ragoo.yaml) to get started. It uses docs from [Kubernetes the Hard Way](https://github.com/kelseyhightower/kubernetes-the-hard-way) (cloned locally) as example data.Requires Go 1.22 to build. Default configuration uses Ollama for easy demonstration.
Early experimental phase.
Apache 2.0 Licensed.
Copyright Connor Hicks and contributors, 2024.