openai==0.27.8
使用方法:
通过给openai.proxy赋值设置代理,默认情况下是支持http/https代理,不支持socks代理。需要做额外修改,根据不同的需求,使用socks代理所需要的依赖和修改是不同的。
不需要流式返回
不需要流式返回时,openai调用requests库实现,它通过安装依赖即可以使用socks代理
pip install requests[socks]
需要流式返回
需要流式返回时,openai调用aiohttp库实现,这类情况比较麻烦。
aiohttp包不支持socks,需要装了一个让它适配socks的包,
pip install aiosocksy
同时aiohttp库支持socks需要额外传入变量,因此需要修改源码。
在openai/api_requestor.py 770行aiohttp_session方法
原来的代码775行
async with aiohttp.ClientSession() as session:
yield session
修改为:
from aiosocksy.connector import ProxyConnector, ProxyClientRequest
connector = ProxyConnector()
async with aiohttp.ClientSession(connector=connector, request_class=ProxyClientRequest) as session:
yield session