You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenAI函数调用测试中异步函数返回协程对象问题求助

解决异步函数调用返回协程对象的问题

问题根源

Python中调用带async关键字的异步函数时,不会立即执行函数逻辑,而是返回一个协程对象,必须通过特定方式触发执行才能拿到实际结果,这是异步编程的固有特性。

修复方案

1. 异步上下文内调用:用await关键字

如果你的调用代码本身就在异步函数中,直接在similaries前添加await即可获取结果:

async def run_test():
    # 正确获取异步函数执行结果
    gpt_response = await similaries(传入你的参数)
    print(gpt_response)  # 输出GPT接口返回的预期内容

2. 同步上下文内调用:用asyncio.run()触发执行

如果是在普通同步代码(比如主函数、脚本顶层)中调用,需要借助asyncio模块的run()方法来运行协程:

import asyncio

if __name__ == "__main__":
    # 触发协程执行并获取结果
    final_result = asyncio.run(similaries(传入你的参数))
    print(final_result)

3. 确认OpenAI接口的异步适配

确保你使用的是OpenAI的异步客户端(AsyncOpenAI),避免同步客户端与异步函数混用导致的问题:

from openai import AsyncOpenAI

# 初始化异步客户端
client = AsyncOpenAI(api_key="你的API密钥")

async def similaries():
    # 调用异步版本的GPT接口
    completion = await client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": "你的请求文本"}]
    )
    return completion.choices[0].message.content

内容的提问来源于stack exchange,提问作者Marcelo Arbiza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 22:04:58