Similarity-based conversational dialog engine for Python.
Project description
QnA Builder
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:
- Import
QnABot
class
from qnabuilder import QnABot
- Initialize a bot
bot = QnABot()
- Fit the bot engine to a knowledge base
bot.fit(kb="knowledge_base.json")
- 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:
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for qna_builder-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 617c039298ddf47759a8c7f657c077938348f518f2b3f7f9c58c6f302c0229b0 |
|
MD5 | 456e9957cfcd8aa7e209eeb5c67faa05 |
|
BLAKE2b-256 | 9037c48a0fe15f5fe3a54c5d95c4156dc7b86f18252a5dd22af56058e6446665 |