customizable-gpt-chatbot  by shamspias

Scalable chatbot for custom knowledge bases

created 2 years ago
392 stars

Top 74.5% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a dynamic, scalable AI chatbot capable of custom training from various data sources like PDFs, documents, websites, and YouTube videos. It targets developers and businesses seeking to integrate conversational AI with personalized knowledge bases, offering a robust backend with user authentication and flexible deployment options.

How It Works

The chatbot leverages OpenAI's GPT-3.5 for natural language understanding and generation. It utilizes Langchain for efficient data processing, file conversion, and text embedding via OpenAI's text-embedding-ada-002. Vector indexing is handled by Pinecone and FAISS for fast similarity searches, enabling the retrieval of relevant information to inform chatbot responses. A Django REST framework backend manages user authentication (including Google social login) and API interactions, with Celery and Redis/AWS SQS managing asynchronous tasks for scalability.

Quick Start & Requirements

  • Install dependencies: pip install -r requirements.txt
  • Run Celery worker: celery -A config worker --loglevel=info
  • Run Django server: python manage.py runserver
  • Access at: http://127.0.0.1:8000/
  • Prerequisites: Python 3.8+, Django 4.1+, OpenAI API Key, Pinecone API Key, PostgreSQL, Redis or AWS SQS.
  • Additional Linux/macOS dependencies may be required for pycurl and libcurl.
  • Official documentation and deployment guides are available on the GitHub repository.

Highlighted Details

  • Supports custom training from PDFs, documents, websites, and YouTube videos.
  • Integrates user system with Google social authentication.
  • Employs Pinecone and FAISS for efficient vector indexing.
  • Scalable architecture with configurable settings for different environments.
  • Offers multilingual support and PostgreSQL database compatibility.

Maintenance & Community

The project is maintained by shamspias. Further community engagement channels like Discord or Slack are not explicitly mentioned in the README.

Licensing & Compatibility

The README does not specify a license. Compatibility for commercial use or closed-source linking is not detailed.

Limitations & Caveats

The project is described as a "basic implementation" with potential for further customization. Specific dependencies like pycurl and django-storages are conditional on the use of AWS SQS and S3, respectively, which may complicate setup for users not utilizing these services.

Health Check
Last commit

1 year ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
3 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.