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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file qna-builder-0.1.3.tar.gz.

File metadata

  • Download URL: qna-builder-0.1.3.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for qna-builder-0.1.3.tar.gz
Algorithm Hash digest
SHA256 a5c1c5429a54b91dd24ec85c2463a8cf8cabebd6fba3ec0f634fb1b3747b9ad9
MD5 26a0f696737900f6dd9744fffcabeaea
BLAKE2b-256 15f6439bf873040b39bcdc353ab621c6b5e5527f190edbfa0bf8485602688b45

See more details on using hashes here.

File details

Details for the file qna_builder-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: qna_builder-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for qna_builder-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 617c039298ddf47759a8c7f657c077938348f518f2b3f7f9c58c6f302c0229b0
MD5 456e9957cfcd8aa7e209eeb5c67faa05
BLAKE2b-256 9037c48a0fe15f5fe3a54c5d95c4156dc7b86f18252a5dd22af56058e6446665

See more details on using hashes here.

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