Skip to content

Develop an advanced chatbot leveraging cutting-edge technologies capable of file uploads, enabling users to receive tailored responses based on the content of the uploaded files. Integrate various tools and agents to enhance the chatbot's capability for comprehensive and accurate responses.

License

AzizBenAli/Chatbot-with-additional-Knowledge-and-Data-Exploration-features

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI-Assistant-for-Knowledge-and-Data-Exploration

Table of Contents

Overview

This AI assistant is a versatile tool designed to cater to various needs, offering a user-friendly interface for:

  • Knowledge-based queries
  • Mathematical problem-solving
  • Latest news updates
  • Conversational interactions
  • CSV data analysis
  • PDF content exploration

App Functionalities

The app exhibits a wide range of functionalities, ensuring adaptability and versatility across various tasks. It supports knowledge-based queries, mathematical problem-solving, provides the latest news updates, engages in conversations, analyzes CSV data, and explores PDF content.

Explore the chatbot's capabilities by watching this short video

streamlit-app-whole-2023-12-29-20-12-61-1_tL3HeGGc.mp4

Conversational Ability

The AI assistant's ability to engage in real discussions with users, setting it apart from traditional question-and-answer chatbots. It offers an interactive and conversational experience, making it more than just a Q&A chatbot.

Conversational Ability

Description: Highlighting the AI Assistant's conversational capabilities.

Latest News Feature

The AI Assistant also enables users to access the latest news, enhancing its utility as a multifaceted tool. Users can stay updated on current affairs and trending topics within the app.

Search

Description: Showcasing the AI Assistant's ability to provide users with the latest news updates, expanding its functionality beyond conventional use cases.

CSV Upload and Query

Users can upload CSV files and query the AI Assistant for specific information and insights. The AI Assistant analyzes the uploaded CSV data and provides relevant answers based on the user's queries.

CSV Upload and Query

Description: Querying the AI Assistant using a CSV file.

PDF Upload and Chat

An essential feature includes the ability to upload multiple PDFs and interact with the AI Assistant for queries. Users can have conversations with the AI Assistant based on the content of the uploaded PDFs, receiving detailed and relevant information.

PDF Upload and Chat

Description: Interacting with the AI Assistant using uploaded PDFs for queries.

Implementation Details

Agents website

We have developed agents to enhance the performance of the large language model and reduce hallucination:

  • Calculator Agent: Improves the AI Assistant's performance in mathematical problem-solving.

  • Python Code Execution Agent: Allows users to execute Python code directly within the AI Assistant.

  • Time Agent: Provides the current time and date information.

  • Web Search Agent: Enables the AI Assistant to search the web for information to answer user queries.

  • CSV Analysis Agent: Reads CSV files and answers questions based on the data. Recently enhanced to provide advanced plot generation capabilities based on user input.This implementation was carried out to offer users a more transparent and informative experience when interacting with the AI Assistant.

RAG Pipeline Paper

We utilize a RAG (Retrieval-Augmented Generation) pipeline to extract information from PDF files, enhancing the AI Assistant's ability to understand and respond to user queries. The pipeline leverages open-source embeddings from Hugging Face and the Mistral open-source model for processing the retrieval and generation steps.

A Memory website

The conversation module of the chatbot seamlessly incorporates the buffer memory functionality inherent in the Langchain library

Technologies Used

  • Ultra-2 Language Model from AI21 Studio: It powers the conversational capabilities and drives the AI's intelligence.
  • Mixtral 8×7B: Utilized to answer queries based on CSV and PDF files, enhancing data interaction capabilities.
  • Hugging Face Transformers and Embeddings: Crucial components for various NLP tasks, contributing to the AI's intelligence and understanding.
  • Python: Employed for backend logic due to its versatility, extensive libraries, and robust functionality.
  • Streamlit: Utilized to create the user-friendly interface, ensuring an interactive and seamless user experience.
  • Langchain: Used for developing prompts and agents, enriching the AI Assistant's functionality and adaptability.

Commands

  • Running the app locally from this repository
  • clone this repository
  • Create a new Python environment provided with pip
  • run pip install -r requirements.txt
  • run streamlit run app.py
  • Now open the 'External URL' in your browser. Enjoy the bot.

streamlit_app

Contributions

Contributions to enhance features or add new capabilities are welcome! Fork the repository, make your changes, and submit a pull request.

Contact Information

For inquiries or feedback, reach out to [benaliazizaba000@gmail.com]

About

Develop an advanced chatbot leveraging cutting-edge technologies capable of file uploads, enabling users to receive tailored responses based on the content of the uploaded files. Integrate various tools and agents to enhance the chatbot's capability for comprehensive and accurate responses.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages