Spaces:
Sleeping
Sleeping
File size: 1,949 Bytes
2a14805 98da6b6 2a14805 429cddc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
---
title: AI Tutor
emoji: 💡
colorFrom: blue
colorTo: indigo
sdk: gradio
sdk_version: "4.44.1"
app_file: app.py
pinned: false
---
# Towards AI 🤖: An AI Question-Answering Bot
## Overview
**Towards AI 🤖** is a question-answering bot designed to assist students with queries related to Artificial Intelligence (AI), Machine Learning (ML), and Deep Learning (DL). It leverages Large Language Models (LLMs) and Retrieval-Augmented Generation (RAG) techniques to provide insightful answers, utilizing a vector database for efficient retrieval of knowledge.
## Features
- AI, ML, and DL question-answering capabilities.
- Integration with ChromaDB for persistent storage.
- Utilizes OpenAI's models for generating responses.
- Gradio interface for easy interaction.
- Memory management for maintaining conversation context.
## Requirements
Make sure you have installed the dependencies from requirements.txt file.
```bash
pip install -r requirements.txt
```
## Setup
1. **Clone the Repository**
```bash
git clone https://huggingface.co/yourusername/towards-ai
cd towards-ai
```
2. **Environment Variables**
Create a .env file in the project root and set the following variables:
```bash
OPENAI_API_KEY=
LOGFIRE_TOKEN=
COHERE_API_KEY=
MONGODB_URI=
DB_NAME=ai_tutor_knowledge
```
3. **Download the Vector Database**
The bot requires a pre-trained vector database. If it doesn't exist locally, it will automatically download it from Hugging Face Hub when you run the code.
4. **Usage**
To start the chatbot, run the following command:
```bash
python app.py
```
5. **Gradio Interface**
Once the application is running, you can access the chatbot interface at http://localhost:7860.
6. **Interacting with the Bot**
You can ask the bot any question related to AI, ML, or DL. The bot is designed to provide clear, complete answers based on its knowledge base. |