Code Monkey home page Code Monkey logo

azizbenali / chatbot-with-additional-knowledge-and-data-exploration-features Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 0.0 73 KB

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: MIT License

Python 100.00%
chatbot generative-ai langchain langchain-app prompt-engineering streamlit-webapp retrieval-augmented-generation agent conversational-agents conversational-bots

chatbot-with-additional-knowledge-and-data-exploration-features's Introduction

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 [[email protected]]

chatbot-with-additional-knowledge-and-data-exploration-features's People

Contributors

azizbenali avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.