Skip to content

restnfeel/demo_armi

Repository files navigation

AgentC - Document Learning Chatbot

AgentC is a RAG (Retrieval-Augmented Generation) based chatbot that can learn from documents and URLs, and provide intelligent responses based on the learned content.

Features

  • 📚 Document Learning: Upload PDF and TXT files for the chatbot to learn from
  • 🌐 Web Content Learning: Learn from web pages by providing URLs
  • 💬 Interactive Chat: Chat with the AI about the learned content
  • ⚙️ Customizable Settings: Configure API keys, model selection, and other parameters
  • 🔄 Persistent Storage: Learned content is stored in a vector database for future use

Prerequisites

  • Python 3.10 or higher
  • Poetry for dependency management
  • OpenAI API key

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/agentc-demo.git
cd agentc-demo
  1. Install dependencies using Poetry:
poetry install
  1. Create a .env file in the project root and add your OpenAI API key:
OPENAI_API_KEY=your_api_key_here

Usage

  1. Start the application:
poetry run streamlit run main.py
  1. Open your web browser and navigate to the URL shown in the terminal (typically http://localhost:8501)

  2. Use the application:

    • Go to the "Learn" page to upload documents or add web content
    • Use the "Chat" page to interact with the AI about the learned content
    • Configure settings in the "Setting" page

Project Structure

agentc-demo/
├── main.py                 # Main application entry point
├── agentc_demo/
│   ├── pages/             # Streamlit pages
│   │   ├── page_chat.py   # Chat interface
│   │   ├── page_learn.py  # Document learning interface
│   │   └── page_setting.py # Settings interface
│   └── utils/
│       └── rag_utils.py   # RAG implementation utilities
├── data/
│   └── vectorstore/       # Vector database storage
├── pyproject.toml         # Project dependencies
└── README.md             # This file

License

MIT License

About

Demo repository for demo_armi

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages