Bharat ChatAI est une application de chatbot basée sur l'IA qui intègre divers modèles d'IA et fonctionnalités de traitement de documents. Cette application permet aux utilisateurs de discuter avec l'IA en utilisant différents modèles, de télécharger et de traiter des documents et de récupérer des informations à partir d'URL.
Clonez le dépôt :
git clone https://github.com/itsmohitkumar/bharat-chatbot-groq.git
cd bharat-chatbot-groq
Créez un environnement virtuel et activez-le :
python -m venv env
source env/bin/activate # On Windows, use `envScriptsactivate`
Installez les packages requis :
pip install -r requirements.txt
Créez un fichier .env
dans le répertoire racine du projet et ajoutez votre clé API :
GROQ_API_KEY=your_api_key_here
Exécutez l'application Streamlit :
streamlit run app.py
Pour conteneuriser l'application Bharat ChatAI à l'aide de Docker, procédez comme suit :
Créez un Dockerfile : Dans le répertoire racine de votre projet, créez un Dockerfile
avec le contenu suivant :
# Use an official Python runtime as a parent image
FROM python:3.9-slim
# Set the working directory in the container
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# Make port 8501 available to the world outside this container
EXPOSE 8501
# Define environment variable
ENV GROQ_API_KEY=your_api_key_here
# Run the application
CMD [ "streamlit" , "run" , "app.py" ]
Créez l'image Docker : exécutez la commande suivante dans le terminal pour créer votre image Docker :
docker build -t bharat-chatai .
Exécutez le conteneur Docker : Une fois l'image créée, vous pouvez exécuter l'application dans un conteneur avec :
docker run -p 8501:8501 bharat-chatai
L'application sera accessible sur http://localhost:8501
.
Pour déployer l'application Bharat ChatAI sur AWS EC2, suivez ces étapes :
Lancez une instance EC2 :
t2.micro
(éligible au niveau gratuit).Connectez-vous à l'instance EC2 :
ssh -i " your-key.pem " [email protected]
Installez Docker sur l'instance EC2 :
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
Clonez le référentiel Bharat ChatAI :
git clone https://github.com/itsmohitkumar/bharat-chatbot-groq.git
cd bharat-chatbot-groq
Créez et exécutez le conteneur Docker :
sudo docker build -t bharat-chatai .
sudo docker run -p 80:8501 bharat-chatai
Accédez à l'application :
http://ec2-xx-xx-xx-xx.compute-1.amazonaws.com
). La structure des fichiers du projet est la suivante :
bharat-chatai/
├── src/
│ ├── __init__.py
│ ├── logger.py
│ ├── prompt.py
│ ├── bharatchat/
│ │ ├── __init__.py
│ │ └── chatbot.py
├── setup.py
├── app.py
src/__init__.py
: Fichier d'initialisation du package src
.src/logger.py
: Module de configuration de la journalisation.src/prompt.py
: Module de définition de modèles d'invite.src/bharatchat/__init__.py
: Fichier d'initialisation du package bharatchat
.src/bharatchat/chatbot.py
: Module principal pour la logique du chatbot.setup.py
: Script d'installation du package.app.py
: Fichier d'application principal pour exécuter l'interface Streamlit. La classe Config
gère la configuration de l'application, y compris la récupération de la clé API et la récupération des options de modèle disponibles à partir de l'API Groq.
La classe DocumentProcessor
traite les documents à partir de fichiers ou d'URL téléchargés, les divise en morceaux et les stocke dans un magasin de vecteurs FAISS. Il génère également des résumés des documents traités.
La classe ChatHandler
gère les requêtes de discussion, affiche l'historique des discussions et récupère les réponses à l'aide des vecteurs de document.
La classe ToolsAndAgentsInitializer
initialise les outils et les agents de l'interface de discussion, notamment la configuration du modèle et la création de chaînes combinées pour le traitement des documents et des requêtes.
La classe BharatChatAI
initialise l'application, y compris les intégrations, le traitement des documents et la gestion des discussions. Il exécute également l'interface de l'application Streamlit.
La classe StreamlitInterface
restitue l'interface de l'application Streamlit, y compris l'initialisation de la barre latérale et la gestion des sélections utilisateur.
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Pour toute question ou assistance, veuillez contacter :
Auteur : Mohit Kumar
Courriel : [email protected]