You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Changelog
## General
- Framework renamed from DFF to Chatsky (#368)
## Features
- New `has_text` condition for asserting that specific text is contained
inside the last request (#335)
- Validation stage reworked.
`Pipeline.validation_stage`, `Pipeline.verbose` and `Context.validation`
fields are removed.
Added new type for annotating labels `dff.script.ConstLabel` (#289)
- Functions `cnd.exact_match` and `check_happy_path` now accept both
`Message` and `str`.
The following are now equivalent: `exact_match(Message("text"))` ==
`exact_match("text")`
(#337)
- CLIMessengerInterface moved to `messengers.console` (#328)
- Attachments reworked (#328):
- `Session`, `Command`, `Link`, `Button`, `Keyboard` and `Attachments`
classes removed, `Message.commands` field removed.
- Added `CallbackQuery`, `Contact`, `Invoice`, `Poll`, `Animation`,
`Sticker`, `VoiceMessage`, `VideoMessage` and `MediaGroup` classes.
- Added attachment caching feature.
- Added `has_callback_query` condition.
- Removed `title` field from Data Attachments. Use `caption` instead.
- Telegram Messenger interface reworked (#328):
- Now provides methods for attachment byte download.
- Added support for receiving attachment types as members of
`Message.attachments`. Others may be accessed via
`Message.original_message`.
- Added support for sending new attachment types (`Sticker`, `Poll`,
e.t.c.).
- Added support for extra options such as `disable_notification`,
`message_effect_id` or `caption`.
- Telegram tutorials rewritten to reflect all the changes.
- Added slots that simplify the process of extracting arbitrary data
from user messages and accessing it later (#36):
- New user guide and tutorials on slots
## Documentation
- Return PRE_RESPONSE_PROCESSING and PRE_TRANSITION_PROCESSING tutorials
- New telegram interface tutorials (#328)
- Slots user guide and tutorials (#36)
## Contrib
- Added `poe quick_test` to run tests that are not slow and do not
require docker (#344)
- `Context.framework_states` renamed to `Context.framework_data` and
made `Pydantic.BaseModel` (#359)
- Added `MessengerInterfaceWithAttachments` class (#328)
- Added tools for enabling json serialization via pickle (#328)
- Telegram tests made independent from telegram servers (#328)
- `wrap_sync_function_in_async` moved to `utils.devel` (#36)
# Checklist
- [x] I have performed a self-review of the changes
- [x] Rename repos (this; template; demo)
- [ ] Add new logo; change favicons in conf.py (this can be done later)
- [x] Create new PyPi project and update pypi token
- [ ] Create a new release
- [x] Make a new release on the
[final_dff_release](https://github.com/deeppavlov/dialog_flow_framework/tree/final_dff_release)
branch
The Dialog Flow Framework (DFF) allows you to develop conversational services.
12
-
DFF offers a specialized domain-specific language (DSL) for quickly writing dialogs in pure Python. The service is created by defining a special dialog graph that determines the behavior of the dialog agent. The latter is then leveraged in the DFF pipeline.
11
+
Chatsky allows you to develop conversational services.
12
+
Chatsky offers a specialized domain-specific language (DSL) for quickly writing dialogs in pure Python. The service is created by defining a special dialog graph that determines the behavior of the dialog agent. The latter is then leveraged in the Chatsky pipeline.
13
13
You can use the framework in various services such as social networks, call centers, websites, personal assistants, etc.
14
14
15
-
DFF, a versatile Python-based conversational service framework, can be deployed across a spectrum of platforms,
15
+
Chatsky, a versatile Python-based conversational service framework, can be deployed across a spectrum of platforms,
16
16
ensuring flexibility for both novice and seasoned developers:
17
17
18
-
- Cloud platforms like AWS, Azure, and GCP offer scalable environments for DFF,
18
+
- Cloud platforms like AWS, Azure, and GCP offer scalable environments for Chatsky,
19
19
with options such as AWS Lambda and Azure Functions providing serverless execution.
20
-
- For containerized deployment, Docker and Kubernetes streamline the orchestration of DFF applications.
20
+
- For containerized deployment, Docker and Kubernetes streamline the orchestration of Chatsky applications.
21
21
- Furthermore, the framework's adaptability extends to IoT ecosystems,
22
22
making it suitable for integration with edge devices in scenarios like smart homes or industrial automation.
23
23
24
24
Whether deployed on cloud platforms, containerized environments, or directly on IoT devices,
25
-
DFF's accessibility and customization options make it a robust choice for developing conversational services
25
+
Chatsky's accessibility and customization options make it a robust choice for developing conversational services
26
26
in the evolving landscape of Python applications and IoT connectivity.
27
27
28
-
## Why choose DFF
28
+
## Why choose Chatsky
29
29
30
30
* Written in pure Python, the framework is easily accessible for both beginners and experienced developers.
31
-
* For the same reason, all the abstractions used in DFF can be easily customized and extended using regular language synthax.
32
-
*DFF offers easy and straightforward tools for state management which is as easy as setting values of a Python dictionary.
31
+
* For the same reason, all the abstractions used in Chatsky can be easily customized and extended using regular language synthax.
32
+
*Chatsky offers easy and straightforward tools for state management which is as easy as setting values of a Python dictionary.
33
33
* The framework is being actively maintained and thoroughly tested. The team is open to suggestions and quickly reacts to bug reports.
34
34
35
35
# Quick Start
@@ -44,50 +44,50 @@ in the evolving landscape of Python applications and IoT connectivity.
44
44
45
45
## Installation
46
46
47
-
DFF can be installed via pip:
47
+
Chatsky can be installed via pip:
48
48
49
49
```bash
50
-
pip install dff
50
+
pip install chatsky
51
51
```
52
52
53
-
The above command will set the minimum dependencies to start working with DFF.
53
+
The above command will set the minimum dependencies to start working with Chatsky.
54
54
The installation process allows the user to choose from different packages based on their dependencies, which are:
55
55
```bash
56
-
pip install dff[json] # dependencies for using JSON
57
-
pip install dff[pickle] # dependencies for using Pickle
58
-
pip install dff[redis] # dependencies for using Redis
59
-
pip install dff[mongodb] # dependencies for using MongoDB
60
-
pip install dff[mysql] # dependencies for using MySQL
61
-
pip install dff[postgresql] # dependencies for using PostgreSQL
62
-
pip install dff[sqlite] # dependencies for using SQLite
63
-
pip install dff[ydb] # dependencies for using Yandex Database
64
-
pip install dff[telegram] # dependencies for using Telegram
65
-
pip install dff[benchmark] # dependencies for benchmarking
56
+
pip install chatsky[json] # dependencies for using JSON
57
+
pip install chatsky[pickle] # dependencies for using Pickle
58
+
pip install chatsky[redis] # dependencies for using Redis
59
+
pip install chatsky[mongodb] # dependencies for using MongoDB
60
+
pip install chatsky[mysql] # dependencies for using MySQL
61
+
pip install chatsky[postgresql] # dependencies for using PostgreSQL
62
+
pip install chatsky[sqlite] # dependencies for using SQLite
63
+
pip install chatsky[ydb] # dependencies for using Yandex Database
64
+
pip install chatsky[telegram] # dependencies for using Telegram
65
+
pip install chatsky[benchmark] # dependencies for benchmarking
66
66
```
67
67
68
68
For example, if you are going to use one of the database backends,
69
69
you can specify the corresponding requirements yourself. Multiple dependencies can be installed at once, e.g.
70
70
```bash
71
-
pip install dff[postgresql,mysql]
71
+
pip install chatsky[postgresql,mysql]
72
72
```
73
73
74
74
## Basic example
75
75
76
76
The following code snippet builds a simplistic chat bot that replies with messages
77
77
``Hi!`` and ``OK`` depending on user input, which only takes a few lines of code.
78
78
All the abstractions used in this example are thoroughly explained in the dedicated
To further explore the API of the framework, you can make use of the [detailed documentation](https://deeppavlov.github.io/dialog_flow_framework/index.html).
137
-
Broken down into several sections to highlight all the aspects of development with DFF,
136
+
To further explore the API of the framework, you can make use of the [detailed documentation](https://deeppavlov.github.io/chatsky/index.html).
137
+
Broken down into several sections to highlight all the aspects of development with Chatsky,
138
138
the documentation for the library is constantly available online.
139
139
140
-
# Contributing to the Dialog Flow Framework
140
+
# Contributing to Chatsky
141
141
142
142
We are open to accepting pull requests and bug reports.
143
-
Please refer to [CONTRIBUTING.md](https://github.com/deeppavlov/dialog_flow_framework/blob/master/CONTRIBUTING.md).
143
+
Please refer to [CONTRIBUTING.md](https://github.com/deeppavlov/chatsky/blob/master/CONTRIBUTING.md).
144
144
145
145
# License
146
146
147
-
DFF is distributed under the terms of the [Apache License 2.0](https://github.com/deeppavlov/dialog_flow_framework/blob/master/LICENSE).
147
+
Chatsky is distributed under the terms of the [Apache License 2.0](https://github.com/deeppavlov/chatsky/blob/master/LICENSE).
0 commit comments