from functools import cache import requests import os from typing import Any from pgsoft.pgdate.date_utils import beijing import json def post_to_pgai_helper(command: str) -> Any: myobj = { "code": os.getenv("pgai_code"), "command": command, } header = {'accept': 'application/json', 'Content-Type': 'application/json'} url_base = "https://steveagi-pgai.hf.space/games/house/nlp" url_read = f"{url_base}/r" try: res = requests.post(url_read, headers=header, json=myobj) if res.status_code == 200: print(res.text) return res.text else: print(res.text) return None except Exception as e: print(e) return None from_cache = True # @cache def call_pgai(service, game, functionality, nlp_command, url, hf_token): calling_start = beijing() print(f"calling ai starts at {calling_start}") try: res = post_to_pgai_helper(nlp_command) except Exception as e: return ( f"{type(e)}, {str(e)}. \nyou may want to make " + "sure your hf_token is correct" ) calling_end = beijing() timecost = calling_end.timestamp() - calling_start.timestamp() print(f"calling ai ends at {calling_end}, costs {timecost:.2f}s") global from_cache from_cache = False if res is not None: outp = json.loads(res) return outp else: return None