Spaces:
Sleeping
Sleeping
| from threading import Thread | |
| import gradio as gr | |
| import inspect | |
| from gradio import routes | |
| from typing import List, Type | |
| import requests, os, re, asyncio, queue | |
| import math | |
| import time | |
| import datetime | |
| import requests, json | |
| from huggingface_hub import hf_hub_download | |
| from llama_cpp import Llama | |
| loop = asyncio.get_event_loop() | |
| # Monkey patch | |
| def get_types(cls_set: List[Type], component: str): | |
| docset = [] | |
| types = [] | |
| if component == "input": | |
| for cls in cls_set: | |
| doc = inspect.getdoc(cls) | |
| doc_lines = doc.split("\n") | |
| docset.append(doc_lines[1].split(":")[-1]) | |
| types.append(doc_lines[1].split(")")[0].split("(")[-1]) | |
| else: | |
| for cls in cls_set: | |
| doc = inspect.getdoc(cls) | |
| doc_lines = doc.split("\n") | |
| docset.append(doc_lines[-1].split(":")[-1]) | |
| types.append(doc_lines[-1].split(")")[0].split("(")[-1]) | |
| return docset, types | |
| routes.get_types = get_types | |
| # App code | |
| account_list = dict() | |
| account_list['id'] = "pass" | |
| name_list = dict() | |
| name_list['id'] = 'name' | |
| def chat(x): | |
| return "AI μλ΅μ λλ€." | |
| def register(id, pass): | |
| if id in account_list: | |
| return "exist" | |
| else: | |
| account_list[id] = pass | |
| return "ok" | |
| def login(id, pass): | |
| if id in account_list: | |
| if account_list[id] == pass: | |
| return "login" | |
| else: | |
| return "password error" | |
| else: | |
| return "no id" | |
| def add_name(id, name): | |
| name_list[id] = name | |
| return "ok" | |
| def get_name(id): | |
| if id in name_list: | |
| return name_list['id'] | |
| else: | |
| return "no id" | |
| with gr.Blocks() as demo: | |
| count = 0 | |
| aa = gr.Interface( | |
| fn=chat, | |
| inputs=["text"], | |
| outputs="text", | |
| description="call", | |
| ) | |
| rr = gr.Interface( | |
| fn=register, | |
| inputs=["text", "text"], | |
| outputs="text", | |
| description="call", | |
| ) | |
| ll = gr.Interface( | |
| fn=login, | |
| inputs=["text", "text"], | |
| outputs="text", | |
| description="call", | |
| ) | |
| ad = gr.Interface( | |
| fn=add_name, | |
| inputs=["text", "text"], | |
| outputs="text", | |
| description="call", | |
| ) | |
| nn = gr.Interface( | |
| fn=get_name, | |
| inputs=["text"], | |
| outputs="text", | |
| description="call", | |
| ) | |
| demo.queue(max_size=32).launch(enable_queue=True) |