Skip to main content

Similarity-based conversational dialog engine for Python.

Project description

QnA Builder

QnA Builder logo

Introduction

QnA Builder is a simple, no-code way to build chatbots in Python. It provides a similarity-based conversational dialog engine, QnA Bot, which makes it easy to generate automated responses to input questions according to a set of known conversations, i.e., question-answer pairs, stored in a knowledge base. QnA Bot relies on a collection of question-answer pairs to generate answers for new inputs.

Install

The easiest way to install the qna-builder is by using pip:

pip install qna-builder

This library is shipped as an all-in-one module implementation with minimalistic dependencies and requirements.

Getting started

A QnA Bot can be set up and used in four simple steps:

  1. Import QnABot class
from qnabuilder import QnABot
  1. Initialize a bot
bot = QnABot()
  1. Fit the bot engine to a knowledge base
bot.fit(kb="knowledge_base.json")
  1. Generate answers
bot.answer("Hey. What's up?")

"All good. What's up with you?"

Algorithms

Currently, QnA Bot engine supports the following algorithms for similarity-based answer generation:

  • TF-IDF Vectorization ('tfidf')
  • Murmurhash3 Vectorization ('murmurhash')
  • Count Vectorization ('count')

Supported similarity metrics are as follows:

  • Cosine similarity ('cosine')
  • Euclidean distance ('euclidean')
  • Manhattan distance ('manhattan')

Knowledge base editor

By calling run_editor() method of QnAKnowledgeBase class, the knowledge base editor window will open up in your web browser and allows you to edit your knowledge base by adding, removing, or modifying questions/answers.

from qnabuilder import QnAKnowledgeBase

kb = QnAKnowledgeBase('my_knowledge_base.json')
kb.run_editor()

Here, you can see a screenshot of the knowledge base editor:

QnA Bot Knowledge Base Editor

Note that you need to install the optional requirement streamlit to be able to use the knowledge base editor.

Tests

To run the tests, install development requirements:

pip install -r requirements_dev.txt

Then, run pytest:

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qna-builder-0.1.3.tar.gz (6.3 kB view hashes)

Uploaded Source

Built Distribution

qna_builder-0.1.3-py3-none-any.whl (6.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page