Skip to content

Add LLM Agent and RAG Support #97

@blkdmr

Description

@blkdmr

We would like to start adding support for LLM agents and RAG workflows, similar in spirit to tools like LangChain.

An agent is a system where a language model can:

  • receive instructions and context
  • decide what actions to take
  • call tools/functions
  • keep memory/history
  • generate responses based on previous steps

RAG, or Retrieval-Augmented Generation, is a workflow where the model can search external data, such as documents or vector databases, and use the retrieved information to generate better answers.

What Can Be Done

Some possible first steps:

  • Define a basic Agent interface
  • Add support for simple tool calling
  • Create a minimal message/history structure
  • Add simple RAG utilities
  • Add examples showing how agents and RAG could be used
  • Discuss what features should or should not be included

Possible Module Structure

A possible starting structure could be:

fenn/
└── agents/
    ├── __init__.py
    ├── agent.py
    ├── tools.py
    ├── memory.py
    ├── messages.py
    └── rag.py

This is only a proposal. The structure can change as the design becomes clearer.

Discussion

New and existing contributors are very welcome to help shape this.

Please feel free to:

  • comment here with ideas

  • open related issues

  • propose a small PR

  • discuss the direction on Discord

The first goal is not to build everything at once, but to agree on a simple starting point.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions