Customization
Sometimes, UFO may need additional context or information to complete a task. These information are important and customized for each user. UFO can ask the user for additional information and save it in the local memory for future reference. This customization feature allows UFO to provide a more personalized experience to the user.
Scenario
Let's consider a scenario where UFO needs additional information to complete a task. UFO is tasked with booking a cab for the user. To book a cab, UFO needs to know the exact address of the user. UFO will ask the user for the address and save it in the local memory for future reference. Next time, when UFO is asked to complete a task that requires the user's address, UFO will use the saved address to complete the task, without asking the user again.
Implementation
We currently implement the customization feature in the HostAgent
class. When the HostAgent
needs additional information, it will transit to the PENDING
state and ask the user for the information. The user will provide the information, and the HostAgent
will save it in the local memory base for future reference. The saved information is stored in the blackboard
and can be accessed by all agents in the session.
Note
The customization memory base is only saved in a local file. These information will not upload to the cloud or any other storage to protect the user's privacy.
Configuration
You can configure the customization feature by setting the following field in the config_dev.yaml
file.
Configuration Option | Description | Type | Default Value |
---|---|---|---|
USE_CUSTOMIZATION |
Whether to enable the customization. | Boolean | True |
QA_PAIR_FILE |
The path for the historical QA pairs. | String | "customization/historical_qa.txt" |
QA_PAIR_NUM |
The number of QA pairs for the customization. | Integer | 20 |