bugfix
This commit is contained in:
parent
2c0a46d0f7
commit
226f91dc90
@ -27,6 +27,12 @@ async def liner(async_gen):
|
||||
await asyncio.sleep(0)
|
||||
yield l
|
||||
|
||||
def get_non_verify_ssl():
|
||||
ssl_context = ssl.create_default_context(cafile=certifi.where())
|
||||
ssl_context.check_hostname = False
|
||||
ssl_context.verify_mode = ssl.CERT_NONE
|
||||
return ssl_context
|
||||
|
||||
class StreamHttpClient:
|
||||
def __init__(self, socks5_url="socks5://127.0.0.1:1086"):
|
||||
home = os.path.expanduser("~")
|
||||
@ -46,6 +52,23 @@ class StreamHttpClient:
|
||||
with self.socks_url_file.open("a") as f:
|
||||
f.write(url + "\n")
|
||||
|
||||
async def request(self, method, url, *,
|
||||
headers=None,
|
||||
params=None,
|
||||
data=None,
|
||||
json=None,
|
||||
files=None,
|
||||
chunk_size=1024, **kw):
|
||||
ret = b''
|
||||
async for chunk in self.__call__(method, url, headers=headers,
|
||||
params=params,
|
||||
data=data,
|
||||
json=json,
|
||||
files=files,
|
||||
chunk_size=1024, **kw):
|
||||
ret += chunk
|
||||
return ret
|
||||
|
||||
async def __call__(self, method, url, *,
|
||||
headers=None,
|
||||
params=None,
|
||||
@ -103,11 +126,17 @@ class StreamHttpClient:
|
||||
connector = ProxyConnector.from_url(self.socks5_url) if use_socks else None
|
||||
|
||||
async with aiohttp.ClientSession(connector=connector) as session:
|
||||
req_args = kw
|
||||
req_args = {k:v for k,v in kw.items() if k not in ['verify']}
|
||||
ssl_context = self.ssl_context
|
||||
if 'verify' in kw.keys() and kw.get('verify') == False:
|
||||
ssl_context = get_non_verify_ssl()
|
||||
else:
|
||||
ssl_context = self.ssl_context
|
||||
|
||||
req_args.update({
|
||||
"headers": headers,
|
||||
"params": params,
|
||||
"ssl": self.ssl_context,
|
||||
"ssl": ssl_context,
|
||||
})
|
||||
|
||||
if files:
|
||||
@ -142,11 +171,9 @@ if __name__ == '__main__':
|
||||
else:
|
||||
prompt = 'who are you'
|
||||
hc = StreamHttpClient()
|
||||
url = 'http://devops.opencomputing.ai/v1/chat/completions'
|
||||
headers={'Content-Type': 'application/json'}
|
||||
data='{ "model": "devstral", "stream":true, "messages":[ { "role":"user", "content":"' + prompt + '" } ] }'
|
||||
async for chunk in hc('POST', url, data=data, headers=headers):
|
||||
print(chunk)
|
||||
url = 'https://www.baidu.com'
|
||||
x = await hc.request('GET', url, verify=False, timeout=2)
|
||||
print(x)
|
||||
|
||||
asyncio.new_event_loop().run_until_complete(main())
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user