ModuleNotFoundError: No module named 'actions'
时间: 2023-07-24 12:16:04 浏览: 227
出现 `ModuleNotFoundError: No module named 'actions'` 错误通常是由于 Rasa 找不到自定义操作(custom actions)的 Python 模块。
请确保按照以下步骤设置自定义操作:
1. 创建一个名为 `actions` 的文件夹(可以选择其他名称),并在该文件夹中创建一个 Python 文件,例如 `custom_actions.py`。
2. 在 `custom_actions.py` 文件中定义自定义操作的类,例如:
```python
from typing import Any, Text, Dict, List
from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher
class CustomAction(Action):
def name(self) -> Text:
return "custom_action"
def run(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
# 自定义操作的逻辑
dispatcher.utter_message("This is a custom action!")
return []
```
3. 确保在项目的根目录中有 `endpoints.yml` 文件,并在其中添加正确的自定义操作端点配置,例如:
```yaml
action_endpoint:
url: "http://localhost:5055/webhook"
```
4. 启动自定义操作服务器:
- 在终端中导航到你的自定义操作文件夹(例如 `actions`)。
- 运行以下命令启动自定义操作服务器:
```
rasa run actions
```
5. 在你的故事文件或规则文件中使用自定义操作,例如:
```markdown
## custom action example
* greet
- custom_action
```
确保在运行 Rasa 时,当前工作目录位于项目的根目录,这样 Rasa 才能正确找到自定义操作模块。
如果你仍然遇到 `ModuleNotFoundError` 错误,请确保自定义操作模块的路径正确,并且已安装了所需的依赖项。
阅读全文