Skip to content

Probably one of the lightest native RAG + Agent apps out there,experience the power of Agent-powered models and Agent-driven knowledge bases in one click, without complex configuration.

License

Notifications You must be signed in to change notification settings

Wannabeasmartguy/RAGENT

Repository files navigation

RAGenT

English | 中文文档 | 日本語

Probably one of the lightest native RAG + Agent apps out there,experience the power of Agent-powered models and Agent-driven knowledge bases in one click, without complex configuration.

image

Features

Chat and Agent interactions:

  • 💭 Simple, easy-to-use chat box interface.
  • 🌏️ Language options (Simplified Chinese, English)
  • 🔧 Inference support for multiple (local) model sources (Azure OpenAI, Groq, ollama, llamafile)
  • Native Function Call (OpenAI, Azure OpenAI, OpenAI Like, Ollama)
  • 🤖 Multiple Agent modes on-premises
  • 🖥️ Local storage of dialog data and management
    • Multiple export formats(Markdown, HTML)
    • Multiple themes(HTML)

Knowledgebase:

  • Native implementation of Retrieval Augmentation Generation (RAG), lightweight and efficient
  • Optional embedding models (Hugging Face/OpenAI)
  • Easy-to-use knowledge base management
  • Hybrid search, reranking, and specified file retrieval

If you like this project, please star it, it's the biggest encouragement for me!

More details

General

Voice to text input:

image

Export

Support export format, theme selection and export range control:

Export settings and preview

Currently supported themes:

Default Glassmorphism
default theme Glassmorphism theme

RAG Chat

Set up the model (sidebar) and view detailed references:

image

Configure RAG :

image

Function Call

Function calls are supported on both Chat and AgentChat pages, but are implemented differently.

Chat Page

The Function Calls on this page are native and work for all OpenAI Compatible models, but require the model itself to support Function calls.

image

You can also customize the function you want to call, please refer to toolkits.py for writing rules.

AgentChat Page

Relying on the AutoGen framework for implementation (testing), please refer to the documentation of AutoGen for model compatibility.

Function call can significantly enhance the capabilities of LLM and currently supports OpenAI, Azure OpenAI, Groq, and local models.(by LiteLLM + Ollama)。

openai function call

You can also customize the function you want to call, please note that AutoGen's function writing is different from the native function calling writing rules, please refer to the Official Documentation and this project's tools.py.

Quick start

Git

  1. Use git clone https://github.com/Wannabeasmartguy/RAGenT.git to pull the code; Then open your runtime environment in command prompt (CMD) and use pip install -r requirements.txt to install the runtime dependencies.

  2. Configure the model dependencies: Modify the .env_sample file to .env and fill in the following:

    • LANGUAGE: Support English and 简体中文, defualt is English;
    • OPENAI_API_KEY : If you are using an OpenAI model, fill in the api key here;
    • AZURE_OAI_KEY : If you are using an Azure OpenAI model, fill in the api key here;
    • AZURE_OAI_ENDPOINT : If you are using an OpenAI model, fill in the end_point here;
    • API_VERSION: If you are using an Azure OpenAI model, fill in the api version here;
    • API_TYPE: if you are using an Azure OpenAI model, fill in the api type here;
    • GROQ_API_KEY : if you are using Groq as the model source, fill in the api key here;
    • COZE_ACCESS_TOKEN: if you need to use the created Coze Bot, fill in the access token here;

If you are using Llamafile, please set the endpoint within the application after starting the Llamafile model.

  1. launch the application:

Run: Run streamlit run RAGenT.py on the command line can start it.

Route

  • Chat history and configuration local persistence
    • Chat history local persistence
    • Configuration local persistence
  • Increase the number of preset Agents
  • Mixed retrieval, reordering and specified file retrieval
  • 📚️Agent-driven Knowledge Base

About

Probably one of the lightest native RAG + Agent apps out there,experience the power of Agent-powered models and Agent-driven knowledge bases in one click, without complex configuration.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages