import requests import json import logger import time def yi_moe(api_key, model="moyi-chat-v03-sglang", user_content="如何下载github上的项目?", system_content=None): url ="http://10.2.5.29:30869/v1/chat/completions" headers = { "Authorization": "Basic ZjIyMDIwYjRkMTIyM2UyNGI4NjVlMWIxZWI0YzAzZTM6NWJjS01PbENMTDRTV1MxaERkSHlTRzViSTJCd3psR1A=" + api_key, "Content-Type": "application/json" } data = { "model": model, "messages": [ { "role": "system", "content": system_content }, { "role": "user", "content": user_content } ], "temperature": 0.7, "stream": False, "max_tokens": 4096 } max_retries = 5 retry_count = 0 while retry_count < max_retries: try: response = requests.post(url, json=data, headers=headers, timeout=60) if response.status_code == 200: response = response.json() text = response["choices"][0]["message"]["content"] return text else: logger.warning(f"{response.status_code}, {response.text}") retry_count += 1 time.sleep(2) logger.info(f"Retrying... attempt {retry_count}") except Exception as e: logger.error(e) retry_count += 1 time.sleep(2) logger.info(f"Retrying... attempt {retry_count}") return "error"