我遇到了一个令人困惑的 asyncio 问题,在短时间内连续运行我的函数会导致混合响应。该功能同时向人工智能服务发送提示和数据并检索响应。奇怪的是,当我在连续几次运行后快速执行具有不同数据的函数时,响应包括来自先前调用的信息并且存在数据混合,尽管新数据完全不相关。
我怀疑可能存在并发问题或缓存问题,但我正在努力找出确切的原因。
该函数使用 asyncio 进行异步执行,并且我确保每个调用都是独立于其他调用的。
我非常感谢任何见解、建议或调试技巧来解决此问题并确保每个函数调用根据提供的数据产生预期的响应。预先感谢您的协助!
首先听起来有点奇怪。由于没有代码可看,调试起来很难做到。我第一个想到的是:
在较新版本的 asyncio 中,我们有: asyncio.run(my_function()) ,它为我们处理很多东西。在旧版本中,您必须自己做更多的事情:results = Loop.run_until_complete(my_jobs)。这是您必须自己定义主事件循环的地方。
也许这有一点帮助?
干杯