如何正确使用Async httpx Client与LangChain调用OpenAI?遇属性错误求助
解决LangChain Runnable异步调用的AttributeError问题
问题原因
你传入的async_client参数类型错误:LangChain的OpenAI类(用于Completion模型如gpt-3.5-turbo-instruct)要求async_client为OpenAI官方的异步客户端实例,而非直接传入httpx.AsyncClient,后者没有create()方法,因此触发报错。
正确实现方式
方法一:使用OpenAI官方异步客户端并配置验证关闭
from langchain.llms import OpenAI from langchain.prompts import PromptTemplate from openai import AsyncOpenAI # 创建OpenAI异步客户端,关闭SSL验证 async_client = AsyncOpenAI(verify=False) llm = OpenAI(model_name="gpt-3.5-turbo-instruct", async_client=async_client) prompt = PromptTemplate( input_variables=["text"], template=template, # 确保template变量已提前定义 ) runnable = prompt | llm result = await runnable.ainvoke({"text": text}) # 确保text变量已提前定义
方法二:全局关闭SSL验证(无需手动传async_client)
from langchain.llms import OpenAI from langchain.prompts import PromptTemplate import openai # 全局关闭OpenAI客户端的SSL验证 openai.api_client.verify = False llm = OpenAI(model_name="gpt-3.5-turbo-instruct") prompt = PromptTemplate( input_variables=["text"], template=template, ) runnable = prompt | llm result = await runnable.ainvoke({"text": text})
注意事项
- 确保安装最新版依赖包:
pip install --upgrade langchain openai - 若使用Chat模型(如gpt-3.5-turbo),需改用
ChatOpenAI类,配置逻辑与上述一致。
内容的提问来源于stack exchange,提问作者AlMikFox
相关产品推荐
相关产品推荐

