File size: 1,731 Bytes
c57ef37 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
import os
import g4f
import requests
import json
import time
import pytz
from datetime import datetime
files = os.listdir("g4f/Provider/Providers")
files = [f for f in files if os.path.isfile(os.path.join("g4f/Provider/Providers", f))]
files.sort(key=str.lower)
while True:
status = {'data':[]}
for file in files:
if file.endswith(".py"):
name = file[:-3]
try:
p = getattr(g4f.Provider,name)
status['data'].append({
"provider": name,
"model": [],
"url":p.url
})
for i in p.model:
status['data'][-1]['model'].append({i:{'status':''}})
try:
response = g4f.ChatCompletion.create(model=i, provider=p, messages=[{"role": "user", "content": "Say 'Hello World!'"}], stream=False)
if 'Hello World' in response or 'Hello' in response or 'hello' in response or 'world' in response or 'th' in response or 'images' in response:
status['data'][-1]['model'][-1][i]['status'] = 'Active'
else:
status['data'][-1]['model'][-1][i]['status'] = 'Inactive'
except:
status['data'][-1]['model'][-1][i]['status'] = 'Inactive'
except:
pass
print(status)
status['key'] = "test"
tz = pytz.timezone('Asia/Shanghai')
now = datetime.now(tz)
print(now)
status['time'] = now.strftime("%Y-%m-%d %H:%M:%S")
r = requests.post("https://gpt.lemonsoftware.eu.org/v1/status",data=json.dumps(status),headers={"content-type": "application/json"})
print(r.text)
time.sleep(300)
|