Giter Club home page Giter Club logo

chinese-nlp-book / rasa_chinese_book_code Goto Github PK

View Code? Open in Web Editor NEW
317.0 8.0 112.0 3.47 MB

《Rasa实战:构建开源对话机器人》官方随书代码 | The official source code of Rasa in Action: Building Open Source Conversational AI

Home Page: https://item.jd.com/13624358.html

Python 60.29% Shell 0.42% Makefile 2.52% CSS 24.90% HTML 11.87%
rasa rasa-chatbot conversational-ai conversational-bots chatbot-framework chatbots chatbot-application chatbot-platform

rasa_chinese_book_code's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rasa_chinese_book_code's Issues

webapi使用

第五章,查询天气,

如果使用webapi怎么请求呢,
第一步:发送:
http://localhost:5005/conversations/0/messages
{
  "sender": "user",
  "text": "上海的天气怎么样"
}

第二步:调用http://localhost:5005/conversations/0/predict
第三步:取第二步得分最高的action开始执行:
http://localhost:5005/conversations/0/execute
{
  "name": "weather_form"
}
得到需要确认日期,
第四步:
http://localhost:5005/conversations/0/messages
{
  "sender": "user",
  "text": "明天的"
}

到这里之后,slots都有了,怎么触发查询天气呢?

第三,四章README.md需要修改下.

第三章 README.md:

 ##启动Rasa动作服务器
 ```shell
-rasa run action
+rasa run actions
 ``
 
 ##启动Rasa服务器和客户端

第四章 README.md:

尝试输入一些查询,例如“如何检查面试结果?”并查看回复。

玩得开心!

+## 运行服务(网页)具体步骤:
+### 运行Rasa服务器
+```bash
+rasa run --cors "*"
+``
+### 运行网页客户端
+```bash
+python -m http.server
+`` 
+### 使用浏览器打开链接:http://localhost:8000/

第三章 网络连接问题

请教一下,第三章的报时机器人,为什么会出现下面的问题呢?python是3.9,系统是windows11.

Your input -> 现在几点了?
2022-05-06 16:40:28 ERROR rasa.core.actions.action - Failed to run custom action 'action_query_date'. Couldn't connect to the server at 'http://localhost:5055/webhook'. Is the server running? Error: Cannot connect to host localhost:5055 ssl:default [远程计算机拒绝网络连接。]
2022-05-06 16:40:28 ERROR rasa.core.processor - Encountered an exception while running action 'action_query_date'.Bot will continue, but the actions events are lost. Please check the logs of your action server for more information.dows_events.py", line 599, in finish_connect
Traceback (most recent call last):
File "D:\anaconda\envs\rasa2\lib\site-packages\aiohttp\connector.py", line 969, in _wrap_create_connection
return await self._loop.create_connection(*args, **kwargs) # type: ignore # noqa
File "D:\anaconda\envs\rasa2\lib\asyncio\base_events.py", line 1056, in create_connection
raise exceptions[0]
File "D:\anaconda\envs\rasa2\lib\asyncio\base_events.py", line 1041, in create_connection
sock = await self._connect_sock(ite-packages\rasa\core\actions\action.py", line 742, in run
File "D:\anaconda\envs\rasa2\lib\asyncio\base_events.py", line 955, in _connect_sock
await self.sock_connect(sock, address)ckages\rasa\utils\endpoints.py", line 164, in request
File "D:\anaconda\envs\rasa2\lib\asyncio\proactor_events.py", line 702, in sock_connect
return await self._proactor.connect(sock, address)tp\client.py", line 1117, in aenter
File "D:\anaconda\envs\rasa2\lib\asyncio\windows_events.py", line 812, in _poll
value = callback(transferred, key, ov)ckages\aiohttp\client.py", line 520, in _request
File "D:\anaconda\envs\rasa2\lib\asyncio\windows_events.py", line 599, in finish_connect
ov.getresult()a\envs\rasa2\lib\site-packages\aiohttp\connector.py", line 535, in connect
ConnectionRefusedError: [WinError 1225] 远程计算机拒绝网络连接。
File "D:\anaconda\envs\rasa2\lib\site-packages\aiohttp\connector.py", line 892, in _create_connection
The above exception was the direct cause of the following exception:eout)
File "D:\anaconda\envs\rasa2\lib\site-packages\aiohttp\connector.py", line 1051, in _create_direct_connection
Traceback (most recent call last):
File "D:\anaconda\envs\rasa2\lib\site-packages\rasa\core\actions\action.py", line 742, in runirect_connection
response: Any = await self.action_endpoint.request(
File "D:\anaconda\envs\rasa2\lib\site-packages\rasa\utils\endpoints.py", line 164, in requestte_connection
async with session.request(ection_key, exc) from exc
File "D:\anaconda\envs\rasa2\lib\site-packages\aiohttp\client.py", line 1117, in __aenter__ault [远程计算机拒绝网络连接。]
self._resp = await self._coro
File "D:\anaconda\envs\rasa2\lib\site-packages\aiohttp\client.py", line 520, in _request
conn = await self._connector.connect(
File "D:\anaconda\envs\rasa2\lib\site-packages\aiohttp\connector.py", line 535, in connect
proto = await self._create_connection(req, traces, timeout)essor.py", line 869, in _run_action
File "D:\anaconda\envs\rasa2\lib\site-packages\aiohttp\connector.py", line 892, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout).py", line 774, in run
File "D:\anaconda\envs\rasa2\lib\site-packages\aiohttp\connector.py", line 1051, in _create_direct_connection
raise last_excions.RasaException: Failed to execute custom action.
File "D:\anaconda\envs\rasa2\lib\site-packages\aiohttp\connector.py", line 1020, in _create_direct_connection
transp, proto = await self._wrap_create_connection(
File "D:\anaconda\envs\rasa2\lib\site-packages\aiohttp\connector.py", line 975, in _wrap_create_connection
raise client_error(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host localhost:5055 ssl:default [远程计算机拒绝网络连接。]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\anaconda\envs\rasa2\lib\site-packages\rasa\core\processor.py", line 869, in _run_action
events = await action.run(
File "D:\anaconda\envs\rasa2\lib\site-packages\rasa\core\actions\action.py", line 774, in run
raise RasaException("Failed to execute custom action.")
rasa.shared.exceptions.RasaException: Failed to execute custom action.

第五章启动问题

环境是windows10,启动动作服务器时遇到如下问题
无法将“SENIVERSE_KEY=xxx”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

多轮对话确定一个推荐,怎么实现?

多轮对话确定一个推荐,怎么实现?
人:你好
AI:你好
人:我要找大学
AI:你什么学历
人:高中
AI:你什么年龄
人:18岁
AI:你想读什么专业
人:计算机
AI:你想再什么地区
人:北京
AI:推荐你北京大学

如果要实现多轮条件合并才能推出结果,怎么实现呢?

Rasa Core模块如何在postman请求

windows10系统, rasa run actions 和 rasa run --enable-api都已经正常启动,并且5005/model/parse NLU模块访问成功, 请教一下5005/webhooks/rest/webhook模块还需要开启什么服务才能访问吗?
post_nlu
rasa_core
rasa_sdk
rasa服务

actions报错

第6章代码示例,我在网页端已经启动了,actions也启动了,我问了“有哪些歌手”,出来的答案是对的,但是我问“有哪些男歌手”时,actions服务报错:
2024-01-25 15:34:00 INFO rasa_sdk.endpoint - Starting action endpoint server...
using Neo4jKnowledgeBase
2024-01-25 15:34:00 INFO rasa_sdk.executor - Registered function for 'action_response_query'.
2024-01-25 15:34:00 INFO rasa_sdk.endpoint - Starting plugins...
2024-01-25 15:34:00 INFO rasa_sdk.endpoint - Action endpoint is up and running on http://0.0.0.0:5055
2024-01-25 15:34:48 ERROR rasa_sdk.endpoint - Exception occurred during execution of request <Request: POST /webhook>
Traceback (most recent call last):
File "handle_request", line 83, in handle_request
)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa_sdk\endpoint.py", line 113, in webhook
result = await executor.run(action_call)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa_sdk\executor.py", line 398, in run
events = await utils.call_potential_coroutine(
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa_sdk\utils.py", line 297, in call_potential_coroutine
return await coroutine_or_return_value
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa_sdk\knowledge_base\actions.py", line 146, in run
object_types = self.knowledge_base.get_object_types()
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa_sdk\knowledge_base\storage.py", line 116, in get_object_types
raise NotImplementedError("Method is not implemented.")
NotImplementedError: Method is not implemented.

unhappy path

第五章的代码是不是没实现unhappy path

第6章知识图谱相关问题

/Chapter06/neo4j_knowledge_base.py中
result = loop.run_until_complete(kb.get_object("singer", "周杰伦")) print(result)

代码报错,看起来是neo4j的匹配语句出问题导致的
query = "MATCH (o:{object_type} {{{key}:{value}}}) RETURN o, ID(o)".format(
object_type=object_type, key=key_attribute, value=object_identifier
)
这里得到key和value不知道是哪个出了问题
MATCH (o:Singer {id:周杰伦}) RETURN o, ID(o)

可以帮忙看看怎么修改么?实际运行的pythonweb服务也是报错的

如何加载本地下载好的bert-base-chinese?

你好,我运行rasa train nul时报网络连接huggingface错误,所以我自行下载了bert-base-chinese到本地,但是我不知道如何加载,谢谢。

(rasa3) D:\rasa3\hospital>rasa train nlu
D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\core\tracker_store.py:1044: MovedIn20Warning: Deprecated API features detected! These feature(s) are not compatible with SQLAlchemy 2.0. To prevent incompatible upgrades prior to updating applications, ensure requirements files are pinned to "sqlalchemy<2.0". Set environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings. Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this message. (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)
Base: DeclarativeMeta = declarative_base()
D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\shared\utils\validation.py:134: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
D:\Anaconda3\envs\rasa3\lib\site-packages\pkg_resources_init_.py:2871: DeprecationWarning: Deprecated call to pkg_resources.declare_namespace('mpl_toolkits').
Implementing implicit namespace packages (as specified in PEP 420) is preferred to pkg_resources.declare_namespace. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
declare_namespace(pkg)
D:\Anaconda3\envs\rasa3\lib\site-packages\pkg_resources_init_.py:2871: DeprecationWarning: Deprecated call to pkg_resources.declare_namespace('ruamel').
Implementing implicit namespace packages (as specified in PEP 420) is preferred to pkg_resources.declare_namespace. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
declare_namespace(pkg)
2024-01-23 15:20:58 INFO rasa.engine.training.hooks - Restored component 'JiebaTokenizer' from cache.
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\ZZ\AppData\Local\Temp\jieba.cache
Loading model cost 0.556 seconds.
Prefix dict has been built successfully.
Traceback (most recent call last):
File "D:\Anaconda3\envs\rasa3\lib\site-packages\urllib3\connection.py", line 174, in _new_conn
conn = connection.create_connection(
File "D:\Anaconda3\envs\rasa3\lib\site-packages\urllib3\util\connection.py", line 95, in create_connection
raise err
File "D:\Anaconda3\envs\rasa3\lib\site-packages\urllib3\util\connection.py", line 85, in create_connection
sock.connect(sa)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\Anaconda3\envs\rasa3\lib\site-packages\urllib3\connectionpool.py", line 715, in urlopen
httplib_response = self._make_request(
File "D:\Anaconda3\envs\rasa3\lib\site-packages\urllib3\connectionpool.py", line 404, in _make_request
self._validate_conn(conn)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\urllib3\connectionpool.py", line 1058, in _validate_conn
conn.connect()
File "D:\Anaconda3\envs\rasa3\lib\site-packages\urllib3\connection.py", line 363, in connect
self.sock = conn = self._new_conn()
File "D:\Anaconda3\envs\rasa3\lib\site-packages\urllib3\connection.py", line 179, in _new_conn
raise ConnectTimeoutError(
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x000001F4B7251640>, 'Connection to huggingface.co timed out. (connect timeout=10)')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\Anaconda3\envs\rasa3\lib\site-packages\requests\adapters.py", line 486, in send
resp = conn.urlopen(
File "D:\Anaconda3\envs\rasa3\lib\site-packages\urllib3\connectionpool.py", line 799, in urlopen
retries = retries.increment(
File "D:\Anaconda3\envs\rasa3\lib\site-packages\urllib3\util\retry.py", line 592, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /bert-base-chinese/resolve/main/pytorch_model.bin (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000001F4B7251640>, 'Connection to huggingface.co timed out. (connect timeout=10)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\engine\graph.py", line 403, in _load_component
self._component: GraphComponent = constructor( # type: ignore[no-redef]
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\engine\graph.py", line 221, in load
return cls.create(config, model_storage, resource, execution_context)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\nlu\featurizers\dense_featurizer\lm_featurizer.py", line 100, in create
return cls(config, execution_context)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\nlu\featurizers\dense_featurizer\lm_featurizer.py", line 67, in init
self._load_model_instance()
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\nlu\featurizers\dense_featurizer\lm_featurizer.py", line 155, in _load_model_instance
self.model = model_class_dict[self.model_name].from_pretrained(
File "D:\Anaconda3\envs\rasa3\lib\site-packages\transformers\modeling_tf_utils.py", line 2668, in from_pretrained
if has_file(pretrained_model_name_or_path, WEIGHTS_NAME, **has_file_kwargs):
File "D:\Anaconda3\envs\rasa3\lib\site-packages\transformers\utils\hub.py", line 609, in has_file
r = requests.head(url, headers=headers, allow_redirects=False, proxies=proxies, timeout=10)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\requests\api.py", line 100, in head
return request("head", url, **kwargs)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\requests\api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\requests\sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\requests\sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\requests\adapters.py", line 507, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /bert-base-chinese/resolve/main/pytorch_model.bin (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x000001F4B7251640>, 'Connection to huggingface.co timed out. (connect timeout=10)'))

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "D:\Anaconda3\envs\rasa3\lib\runpy.py", line 197, in _run_module_as_main
return run_code(code, main_globals, None,
File "D:\Anaconda3\envs\rasa3\lib\runpy.py", line 87, in run_code
exec(code, run_globals)
File "D:\Anaconda3\envs\rasa3\Scripts\rasa.exe_main
.py", line 7, in
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa_main
.py", line 133, in main
cmdline_arguments.func(cmdline_arguments)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\cli\train.py", line 202, in run_nlu_training
return train_nlu(
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\model_training.py", line 453, in train_nlu
return _train_graph(
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\model_training.py", line 286, in _train_graph
trainer.train(
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\engine\training\graph_trainer.py", line 105, in train
graph_runner.run(inputs={PLACEHOLDER_IMPORTER: importer})
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\engine\runner\dask.py", line 101, in run
dask_result = dask.get(run_graph, run_targets)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\dask\local.py", line 557, in get_sync
return get_async(
File "D:\Anaconda3\envs\rasa3\lib\site-packages\dask\local.py", line 500, in get_async
for key, res_info, failed in queue_get(queue).result():
File "D:\Anaconda3\envs\rasa3\lib\concurrent\futures_base.py", line 439, in result
return self.__get_result()
File "D:\Anaconda3\envs\rasa3\lib\concurrent\futures_base.py", line 391, in __get_result
raise self._exception
File "D:\Anaconda3\envs\rasa3\lib\site-packages\dask\local.py", line 542, in submit
fut.set_result(fn(*args, **kwargs))
File "D:\Anaconda3\envs\rasa3\lib\site-packages\dask\local.py", line 238, in batch_execute_tasks
return [execute_task(*a) for a in it]
File "D:\Anaconda3\envs\rasa3\lib\site-packages\dask\local.py", line 238, in
return [execute_task(a) for a in it]
File "D:\Anaconda3\envs\rasa3\lib\site-packages\dask\local.py", line 229, in execute_task
result = pack_exception(e, dumps)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\dask\local.py", line 224, in execute_task
result = _execute_task(task, data)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\dask\core.py", line 119, in _execute_task
return func(
(_execute_task(a, cache) for a in args))
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\engine\graph.py", line 483, in call
self._load_component(**constructor_kwargs)
File "D:\Anaconda3\envs\rasa3\lib\site-packages\rasa\engine\graph.py", line 416, in _load_component
raise GraphComponentException(
rasa.engine.exceptions.GraphComponentException: Error initializing graph component for node run_LanguageModelFeaturizer1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.