Skip to content

在event loop中执行会报错:RuntimeError: asyncio.run() cannot be called from a running event loop #11

@sunshaoyan

Description

@sunshaoyan

看了代码,tool调用是通过asyncio.run()实现的,但是外部调用时,在FastAPI中或者其他事件循环中,无法嵌套调用asyncio.run()

File "XXX/lib/python3.12/site-packages/LightAgent/la_core.py", line 719, in run return self._core_run_logic(response, stream, max_retry) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "XXX/lib/python3.12/site-packages/LightAgent/la_core.py", line 749, in _core_run_logic return self._run_non_stream_logic(response, max_retry) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "XXX/lib/python3.12/site-packages/LightAgent/la_core.py", line 777, in _run_non_stream_logic tool_response = asyncio.run(self.tool_dispatcher.dispatch(function_call.name, function_args)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "XXX/lib/python3.12/asyncio/runners.py", line 191, in run raise RuntimeError( RuntimeError: asyncio.run() cannot be called from a running event loop

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions