| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- import json
- from Log import logger
- 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_put(self, url, data, headers):
- res = await self.http_put(url, data, headers)
- if res.status_code == 200 or res.status_code == 201:
- return res.json()
- else:
- logger.error(res.text)
- return {}
- async def chat_ping(self, url, params, headers):
- res = await self.http_get(url, params, headers)
- # print(res.text)
- 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/user/info"
- # ping_url = "http://smartai.com:8294/v1/llm/list"
- # ping_url = "http://192.168.20.119:13002/console/api/workspaces"
- user_token = "eyJhbG|ciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNjEzNzdiYzctZTViYy00YjhiLTgxYTYtNWZkOTVhODVlMmE4IiwiZXhwIjoxNzM5MjU3Njk1LCJpc3MiOiJTRUxGX0hPU1RFRCIsInN1YiI6IkNvbnNvbGUgQVBJIFBhc3Nwb3J0In0.w7xQrepd1dYR4iPXcbuthIZjdm45bTJFbolOM_SE9aQ"
- user_token = "IjU4OTM5M2UyZjMyNzExZWZhZmVjMDI0MmFjMTIwMDA2Ig.Z702yg.Pmyy58wg-YBU5t50mHuqvwTDyjc"
- # 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())
|