Skip to content

distribute-dev/dagen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 workflows

Planned:

  • 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 to get started. It uses docs from 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.

Releases

No releases published

Packages

No packages published

Languages