import json
|
|
from app.config.config import settings
|
# from Log import logger
|
from app.service.v2.app_driver.chat_base import ChatBase
|
from app.utils.rsa_crypto import RagflowCrypto
|
|
|
class ChatBaseApply(ChatBase):
|
|
async def chat_get(self, url, params, headers):
|
|
res = await self.http_get(url, params, headers)
|
if res.status_code == 200:
|
return res.json()
|
else:
|
return {}
|
|
async def chat_post(self, url, data, headers):
|
|
res = await self.http_post(url, data, headers)
|
if res.status_code == 200 or res.status_code == 201:
|
return res.json()
|
else:
|
return {}
|
|
async def chat_ping(self, url, params, headers):
|
res = await self.http_get(url, params, headers)
|
if res.status_code != 200:
|
return 0
|
if res.json().get("code") == "unauthorized" or res.json().get("code") == 401:
|
return 0
|
return 200
|
|
async def chat_login(self, url, data, headers):
|
|
res = await self.http_post(url, data, headers)
|
if res.status_code == 200:
|
res_json = res.json()
|
authorization = res.headers.get('Authorization')
|
if authorization:
|
res_json["data"]["access_token"] = authorization
|
return res_json
|
else:
|
return {}
|
|
async def chat_upload(self, url, files, data, headers):
|
|
res = await self.http_upload_file(url, headers=headers, files=files, data=data)
|
if res.status_code == 200 or res.status_code == 201:
|
return res.json()
|
else:
|
return {}
|
|
|
@staticmethod
|
async def password_encrypt(password):
|
password = RagflowCrypto(settings.PUBLIC_KEY, settings.PRIVATE_KEY).encrypt(password)
|
return password
|
|
@staticmethod
|
async def get_chat_headers(token):
|
return {
|
'Content-Type': 'application/json',
|
'Authorization': token
|
}
|
|
|
|
if __name__ == "__main__":
|
async def aa():
|
chat_id = "bcb56e4b-8f21-41f1-b22a-80335fe58345"
|
token = "app-9sbGzhtFuGIducdepzQgX06v"
|
base_url = "http://192.168.20.116"
|
url = f"{base_url}/v1/parameters"
|
chat = ChatBaseApply()
|
data = {
|
"question": "电网技术总结300字",
|
"stream": True,
|
"session_id": "9969c152cce411ef8a140242ac1b0002"
|
}
|
params = {
|
"user": "1"
|
}
|
headers = {
|
'Content-Type': 'application/json',
|
'Authorization': f"Bearer {token}"
|
}
|
# ans = await chat.chat_parameters(url, params, headers)
|
# print(ans)
|
|
ping_url = "http://192.168.20.116:11080/v1/system/version"
|
# ping_url = "http://192.168.20.119:13002/console/api/workspaces"
|
user_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNjEzNzdiYzctZTViYy00YjhiLTgxYTYtNWZkOTVhODVlMmE4IiwiZXhwIjoxNzM5MjU3Njk1LCJpc3MiOiJTRUxGX0hPU1RFRCIsInN1YiI6IkNvbnNvbGUgQVBJIFBhc3Nwb3J0In0.w7xQrepd1dYR4iPXcbuthIZjdm45bTJFbolOM_SE9aQ"
|
# token = "Bearer {}"
|
token = "{}"
|
res = await chat.chat_ping(ping_url, {}, await chat.get_chat_headers(token.format(user_token)))
|
print(res)
|
|
import asyncio
|
|
asyncio.run(aa())
|