pyAliceKit framework for creating dialog bots on Yandex.Alice
Project description
pyAliceKit
Фреймворк Python для создания диалоговых ботов в Яндекс.Диалоги.
Версия: 0.1.0
🚀 Установка
Установка напрямую с GitHub:
pip install -i https://test.pypi.org/simple/ pyAliceKit
Python >= 3.10
📦 Структура пакета
pyAliceKit/— основной пакетpy_alice/— ядро диалогового движкаcore/— кнопки, ключевые слова, интенты, сессииutils/— вспомогательные функции (dialogs, validation, tools)GUI/— визуализация диалогов (Flask + HTML/JS)
testing/— пример настроек и диалогов
⚡ Простой пример
from pyAliceKit.py_alice.py_alice import PyAlice
from testing import settings
# Пример события от пользователя
event = {"request": {"original_utterance": "привет"}}
# Инициализация бота
alice = PyAlice(params_alice=event, settings=settings)
# Получение ответа
response = alice.get_response_for_alice(type="dict")
print(response)
📖 Пример диалога (ветвящаяся история)
from pyAliceKit.utils.dialogs import include_nodes
from testing.settings import DIALOG_NODES
# Включение диалогов с дочерними узлами
start_story = DIALOG_NODES["start_story"]
# Навигация по левому пути
left_path = start_story["childs"]["left"]
print(left_path["message"]) # start_left_message
🎮 Пример игры без сохранения
DIALOG_NODES["guess_game"] = {
"message": "Я загадал число от 1 до 10. Попробуй угадать!",
"buttons": [],
"events": ["start_guess_game"],
"meta": {"desc": "Мини-игра угадай число"}
}
Событие start_guess_game генерирует случайное число и проверяет ввод пользователя.
@on_event("start_guess_game")
def test_event(event: dict[str, Any], *args: Any, **kwargs: Any) -> None:
pass
🌐 Запуск Flask API для Алисы
from flask import Flask, request, jsonify
from pyAliceKit.py_alice.py_alice import PyAlice
from testing import settings
app = Flask(__name__)
@app.route("/", methods=["POST"])
def alice_handler():
event = request.get_json()
pyAlice = PyAlice(params_alice=event, settings=settings)
response = pyAlice.get_response_for_alice(type="dict")
return jsonify(response)
if __name__ == "__main__":
app.run(port=5000)
🔧 Полезные функции
include_nodes(nodes_dict, recursive=True)— подключает дочерние узлы.
📄 Лицензия
MIT License. См. LICENSE.
📝 TODO (v0.1+)
- Полная валидация DIALOG_NODES
- Тесты
pytest - Расширение GUI для редактирования узлов
- Примеры API с запросами к внешним сервисам
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
pyalicekit-0.1.0.tar.gz
(24.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyalicekit-0.1.0.tar.gz.
File metadata
- Download URL: pyalicekit-0.1.0.tar.gz
- Upload date:
- Size: 24.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65ee23740bbd5fdd69bd9555e0249f75f93e226f66125bff38013546725a40d1
|
|
| MD5 |
6fe89b4267b662e9de5bdafe7250eeb1
|
|
| BLAKE2b-256 |
e07d2fe134f030257432ab548e54bf473691cf5c6c3c7cdc69f7c1b1d681b88f
|
File details
Details for the file pyalicekit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pyalicekit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 33.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a50dbb812c753edb2cb848d990ca87098fe51b5c59acd28aef5035e8f41846da
|
|
| MD5 |
6a8d836f9d1742de102ee4b99560fce5
|
|
| BLAKE2b-256 |
910b0d72bdaa0474dd7102fd9a82ecb87c52ca171141bd9dc082c4eb1a80e043
|