Spaces:
Sleeping
Sleeping
| import requests | |
| import json | |
| import sys | |
| from pathlib import Path | |
| sys.path.append(str(Path(__file__).parent.parent.parent)) | |
| from configs import BING_SUBSCRIPTION_KEY | |
| from server.utils import api_address | |
| from pprint import pprint | |
| from concurrent.futures import ThreadPoolExecutor, as_completed | |
| import time | |
| api_base_url = api_address() | |
| def dump_input(d, title): | |
| print("\n") | |
| print("=" * 30 + title + " input " + "="*30) | |
| pprint(d) | |
| def dump_output(r, title): | |
| print("\n") | |
| print("=" * 30 + title + " output" + "="*30) | |
| for line in r.iter_content(None, decode_unicode=True): | |
| print(line, end="", flush=True) | |
| headers = { | |
| 'accept': 'application/json', | |
| 'Content-Type': 'application/json', | |
| } | |
| def knowledge_chat(api="/chat/knowledge_base_chat"): | |
| url = f"{api_base_url}{api}" | |
| data = { | |
| "query": "如何提问以获得高质量答案", | |
| "knowledge_base_name": "samples", | |
| "history": [ | |
| { | |
| "role": "user", | |
| "content": "你好" | |
| }, | |
| { | |
| "role": "assistant", | |
| "content": "你好,我是 ChatGLM" | |
| } | |
| ], | |
| "stream": True | |
| } | |
| result = [] | |
| response = requests.post(url, headers=headers, json=data, stream=True) | |
| for line in response.iter_content(None, decode_unicode=True): | |
| data = json.loads(line[6:]) | |
| result.append(data) | |
| return result | |
| def test_thread(): | |
| threads = [] | |
| times = [] | |
| pool = ThreadPoolExecutor() | |
| start = time.time() | |
| for i in range(10): | |
| t = pool.submit(knowledge_chat) | |
| threads.append(t) | |
| for r in as_completed(threads): | |
| end = time.time() | |
| times.append(end - start) | |
| print("\nResult:\n") | |
| pprint(r.result()) | |
| print("\nTime used:\n") | |
| for x in times: | |
| print(f"{x}") | |