Spaces:
Sleeping
Sleeping
Rename setup.py to qwen.py
Browse files
qwen.py
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import uuid
|
2 |
+
import requests
|
3 |
+
|
4 |
+
AUTH_TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImRjOGQyYzY4LWZjNmEtNDEwYy05NWZjLWQ5MDBmNTM4ZTMwMiIsImV4cCI6MTc0NTM5NDAzM30.FCah7LI2l6iDeuy4bMlEbvQ5ewF5yZPmy4sd9dWDkx0"
|
5 |
+
COOKIE_STRING = "acw_tc=c8e56ce0c30043622dcc1e1f547dcfb00b7233283463d50ff3ae6d9c3f46ea37; x-ap=eu-central-1; _bl_uid=R6mOz8Cvmbyr4ObRXgt5gms4yChC; xlly_s=1; cna=XPpnIJOuIDoCAZwmMl5k1RaL; _gcl_au=1.1.2036993275.1742802007.1697406010.1742802025.1742802031; token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImRjOGQyYzY4LWZjNmEtNDEwYy05NWZjLWQ5MDBmNTM4ZTMwMiIsImV4cCI6MTc0NTM5NDAzM30.FCah7LI2l6iDeuy4bMlEbvQ5ewF5yZPmy4sd9dWDkx0; ssxmod_itna=eqIhAKBIeGxjox0xe9DmuxQF8e=DRIDl4BtGRDeq7UNGcD8xiKDHAxAgTCY2tt+oKqK=D339xKSD0yGq+Qx06HDf40W+z=YAtYQtQB4u7ojQivpGQOlwo8K32iigMyHbN71R7+DCPGnG+GZ+ieD44DvDBYD74G+DDeDigiDj4GmDGYddeDFzjRQyl2e=xDwDB=DmdqTKPDfDDL550xmmmxD0TYhKAnY+xGWzeTVbcmQDGt40ej5x0taDBLq+Ih5xDtEEIxN2CO0DFEeNZWDtqD98cbAR7Koxau4x9YkW3KkerN4NGo4S04k0D4BDlrGKiePnewiDkmG7G5dBx1Y4lOImDDAnxqQq7Qbbjx6e2BQHSznS8vYYe6IqdEwYeWx+0x+hNQqYcxNlxiDgqrwYtGPjDx1BQuvDD; ssxmod_itna2=eqIhAKBIeGxjox0xe9DmuxQF8e=DRIDl4BtGRDeq7UNGcD8xiKDHAxAgTCY2tt+oKqK=D339xK+DDptkenxnKGaF0if6xtQDGXHqjbYIWUzpKd27kk5Y1y74kPdILp9TgF0QhnLps5/DjgKxf=G7sZFCThKH2BGW5m7zyEFQTZRzq7wPhgiHhocd5Q5C739dtpAQv8oszZAQMrFQjR7E0/YHM=aeaId70Oq85eEURIkhFO7++aQC+2A8d3ERmUcwYXcUobi1Xl7ioeqxQjKkRlyFrSaebK3+BZz2fhgMRFSR2SSOhSB72nPkDdsB3knUaE34CUprAUCmi1XUCD9iEDKE9PK5Fvgcpp2IKSp+EfdYPQ+NnW5i4UVcPnGrSgrGP0LnKKexo4ELDiOYP0AKLWK5GmBlUexW34x6anGWUje3v6KnG3/iDE8L6YtY3o8cT/YhvIAPltOSD7a2U=KIavCPjQ=5cGG8RbqnIyKv9P=6OpLFaEmRv65ttv8FtppUEDcxeEjEECRpC2j905prBt9aPXuZDIxB0dMhNcchFNs9RUbK=kI4nP5W5eOxtdf9PYFSPKYY0Cu8Np5gmauMr+2ZoORQMV9r27br7qm7x10Kdli4W9bSoePY4lbQzmI3A4lRSjEcAQqaQP7KhOU9CZ27z2ozcv5eGIXWAU5su5YtMSYGWmsmnkxlyaBD+xKlzOhVexriUmDFDqnkuK4zrdYmCD+0iCDt0=pPVWFjKV0FlGOWFD5Dh4jKt0Nx+C7YSeDed8kFRK8ihBPAsE7Y3WABNhDX7q34o0TmeoxFAqlGNePKRPeqSGt7hx+u1h4D; SERVERID=da5c4771678629d528184bcf143b64a2|1742802412|1742802006; tfstk=gkeE4W_pq9BF-LeFrcDy_PpPZpMKsvbfK8gSquqoA20hJ8MrqVryRWZ7qYWrSz3nq4vkjbz4y4cnE4czjViDx8sLxbJgPDcHrahnS0orxHvnraKMvRz2Fp_d9uvrFYbflt6bvHH-EZ1z4th9v0ijqQYWEhAiF0RFRcRLvkHJXwElckEpzUMZ1uDurAciDDDkZ00hbfmjqYvnZpAMSVnoEY0HEcci00RHE2clbl0tqY0urYcu7kqkQmGh4GnVFsBHVYu0xVJk3FhZt1qMNppL_DlUEk0Zmm2ZYXuj6dvGGJ4_qJwK61AZelN4z74RGCHUqWDnckBeQxq318o_FgOr-lwajJlp0KzqLzl0Kf-kUvHrJAogngOx5RuQrJlGcKlSI-GmK51ORbME0z2L83JuolZbpfePuF08OmHickBeQxqnqgWyycVfg8FerQlnXcufbGzMKTAhF-kZdQd-sxnZlMiBwQhnXcufbGRJwf0tbqsIA; isg=BLu7UTXzWCO0uWSXkfJTjWVeSp8lEM8SQsMLIa16rLrRDNDuEeYFYa8AIrRCLCcK"
|
6 |
+
|
7 |
+
def parse_cookies(cookie_str):
|
8 |
+
return {k.strip(): v.strip() for k, v in [c.split('=', 1) for c in cookie_str.split(';')]}
|
9 |
+
|
10 |
+
def qwen_chat(chat_history):
|
11 |
+
session = requests.Session()
|
12 |
+
session.headers.update({
|
13 |
+
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
|
14 |
+
'Accept': 'application/json',
|
15 |
+
'Content-Type': 'application/json',
|
16 |
+
'Authorization': f'Bearer {AUTH_TOKEN}',
|
17 |
+
'Bx-V': '2.5.28',
|
18 |
+
'Version': '0.0.56',
|
19 |
+
'Source': 'web',
|
20 |
+
'Sec-Ch-Ua': '"Not:A-Brand";v="24", "Chromium";v="134"',
|
21 |
+
'Sec-Ch-Ua-Platform': '"Windows"',
|
22 |
+
'Sec-Ch-Ua-Mobile': '?0',
|
23 |
+
'Bx-Ua': '231!NBE3Y+mUQAD+j3/+2A3xjhBjUq/YvqY2leOxacSC80vTPuB9lMZY9mRWFzrwLEkVa1wFtLD+uEMNY5CEJL/R8IC2Bt8HYDjKt0mMwSnoDOw3L4eQW3Foa+WzcsHpPr4wkQTMk7Q1k3MugXfvWl7C8emCixVMXyKnnGrNqNZ/j5VFKnDyszJk2+WcTILBLowyTn3b/oWrpeP86X4/ZkffsTVvNbMW3koC0Q3oyE+jauHhU0+eu6UGHkE+++3+qCS4+ItZdAVKb+Tso+4owOxcfyaf/+OsH+A8qv3GjzSJrXl6jLfqHe7zFFQJe5359SFkkCdOua+wm1UMzo5iluvus0+tVqcRBSFe1rbGzDjOKB1uJYObBucW+bim3hn1AmFUY7rYCKShM+ZaJdkjpfPIwtUeQNlNYP+W2JHZwmGvr324wOTZuI3XffdVRWu4rSsEjo1j+h+VXkzt1lAJfPJ2/feH0mTrIdacGe+ZMtYU8mcCIlABH3dMIVFPhRK3Mkg7lvv22MXGk/oCheWxw3fL7heu24J0vBECNVIDVmddOjiF+FaQJFhvU0VY79xIbtHEx5HGEliy80JNTI+2ccRUX1ZVLoLAEoAh85jhy66RkoL61/Bfb9SFzazJ0/4TPRjhjg3l49rNCx7BmYlO4chFEmP4g/B8jfYe12xDVQqRnat7iOJMzQPLXlkNTRsnrftnTFRq87lUHx1zIlc1U6h9fdyYM4CUCwIS3wDwbSsJjb9avOn5DT5ozLlw5GVEcvs4FZ2KBu0RnQ3GG1WCH39CtG8CV6acFFt2nZnbLr3Ug83TwCNkSUxNbkRM5bUB+NCJ+Y3/wL7fpoqCyiuwwgQeh7p5ArFwMvFi697D64KSBJulHoXY+mnrssPvP3HIgRb/KrCGCye5dvqApj12mmSgPw1ecnxh1/tzLy3Cvq67ynEOGdKjQa+bLSswMGY8W3nfo5nQudHgh7yVVN5Vp/qlUaHl8gLPdQQRMcelk/oaKpOHOcENDHQ7uyQhR0zJcUQta+Fvsf1sfDAW9iJTv7BrxFXlhgz0+zLiwruZqKtrL+iOd7nsUMCeVoYfDWyo1SqC6Q3ogafVvwq0L1d0/eBsJka5OFSbEflTECBJ+aEigtMmAnoIz88YU+OEqwt1WK6Ry2NmnxyRLuTZDz0H/4tq7rjSodQA85nAK/DJp7apQFZ0AuwBY4G1xgCixcb37EXzOwQV0DW56VF19oaoNloCiUYIecS78LXeC8XfYRR5w3co/Rj44vtvXelZ5wVitSDGxv4HTZraUGUFZI9Cv6i9acMmATz4FlW2PMHmZWLG1FiWHMWjfks5hnjBTFSafQOctOxu0rCqLraT/8LeFTE4/sUs4giEtfwDs/+ayf0KydMXZ63TIyYTE0AXpjJ86yRz0eYiQIpyXFuvaakQT3I3/HN2NK3W6FNZVG97ncpFhBX12tHeaHufi20FA1RrIOUQuWWNGByosYgpevwrAHqCZtQmGRhPG9GxEXk8rIfg7uciZOHf+7uJKduA+5xbIAeYN8DJh0yWkIuorH9kZJspB5aOH0OoCLgQVQVdsKZ8f+RI5S3U8WC6/LjGeZWe8mjGUi0aWumQq7lTTGmnZI1eQ2wodxtfbSdhcSGpHQ6ryllraT7ydrnrBlKMGhSzYPjwMi0291CdP6V08Yv2lPM9Q4==",
|
24 |
+
'Bx-Umidtoken': 'T2gA8f38atSlfaqmbcQJJrGMukoEFrxUPlIJJKuwGWCWVmPQfXmdcZMnaV_Zzo0KGjE='
|
25 |
+
})
|
26 |
+
if COOKIE_STRING:
|
27 |
+
session.cookies.update(parse_cookies(COOKIE_STRING))
|
28 |
+
session_id = str(uuid.uuid4())
|
29 |
+
chat_id = str(uuid.uuid4())
|
30 |
+
payload = {
|
31 |
+
"stream": True,
|
32 |
+
"incremental_output": True,
|
33 |
+
"chat_type": "t2t",
|
34 |
+
"model": "qwen-max-latest",
|
35 |
+
"messages": chat_history,
|
36 |
+
"session_id": session_id,
|
37 |
+
"chat_id": chat_id,
|
38 |
+
"id": str(uuid.uuid4())
|
39 |
+
}
|
40 |
+
try:
|
41 |
+
response = session.post(
|
42 |
+
'https://chat.qwen.ai/api/chat/completions',
|
43 |
+
json=payload,
|
44 |
+
stream=True,
|
45 |
+
timeout=30
|
46 |
+
)
|
47 |
+
response.raise_for_status()
|
48 |
+
for line in response.iter_lines(decode_unicode=True):
|
49 |
+
if line and line.startswith("data:"):
|
50 |
+
data = line[5:].strip()
|
51 |
+
chunk = eval(data)
|
52 |
+
delta_content = chunk.get("choices", [{}])[0].get("delta", {}).get("content", "")
|
53 |
+
if delta_content:
|
54 |
+
yield delta_content
|
55 |
+
except requests.exceptions.HTTPError as e:
|
56 |
+
print(f"HTTP Error: {e.response.status_code} - {e.response.text}")
|
57 |
+
except requests.exceptions.RequestException as e:
|
58 |
+
print(f"Request failed: {str(e)}")
|
59 |
+
|
60 |
+
def get_qwen_response(user_message):
|
61 |
+
chat_history = [
|
62 |
+
{
|
63 |
+
"role": "system",
|
64 |
+
"content": "You are a helpful assistant.",
|
65 |
+
"chat_type": "t2t",
|
66 |
+
},
|
67 |
+
{
|
68 |
+
"role": "user",
|
69 |
+
"content": user_message
|
70 |
+
}
|
71 |
+
]
|
72 |
+
return "".join(qwen_chat(chat_history))
|
setup.py
DELETED
@@ -1,50 +0,0 @@
|
|
1 |
-
from setuptools import setup, find_packages
|
2 |
-
import codecs
|
3 |
-
import os.path
|
4 |
-
|
5 |
-
packages = find_packages(
|
6 |
-
where='.',
|
7 |
-
include=[
|
8 |
-
'mypkg*'
|
9 |
-
]
|
10 |
-
)
|
11 |
-
|
12 |
-
def read(rel_path):
|
13 |
-
here = os.path.abspath(os.path.dirname(__file__))
|
14 |
-
with codecs.open(os.path.join(here, rel_path), 'r') as fp:
|
15 |
-
return fp.read()
|
16 |
-
|
17 |
-
def get_version(rel_path):
|
18 |
-
# https://packaging.python.org/en/latest/guides/single-sourcing-package-version/
|
19 |
-
for line in read(rel_path).splitlines():
|
20 |
-
if line.startswith('__version__'):
|
21 |
-
delim = '"' if '"' in line else "'"
|
22 |
-
return line.split(delim)[1]
|
23 |
-
else:
|
24 |
-
raise RuntimeError("Unable to find version string.")
|
25 |
-
|
26 |
-
setup(
|
27 |
-
name='mypkg',
|
28 |
-
version=get_version("mypkg/__init__.py"),
|
29 |
-
description='My (Example) Package',
|
30 |
-
author='Clayton Mork',
|
31 |
-
author_email='[email protected]',
|
32 |
-
license='MIT License',
|
33 |
-
packages=packages,
|
34 |
-
classifiers=[
|
35 |
-
"Programming Language :: Python :: 3",
|
36 |
-
"License :: OSI Approved :: MIT License",
|
37 |
-
"Operating System :: OS Independent",
|
38 |
-
],
|
39 |
-
install_requires=[
|
40 |
-
'pylint>=2.15.5',
|
41 |
-
'numpy>=1.23.4',
|
42 |
-
'opencv-python>=4.6.0.66',
|
43 |
-
'Pillow>=9.2.0',
|
44 |
-
'PyYAML>=6.0'
|
45 |
-
],
|
46 |
-
python_requires='>=3.10',
|
47 |
-
entry_points={
|
48 |
-
"console_scripts": []
|
49 |
-
}
|
50 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|