Spaces:
Runtime error
Runtime error
| import io | |
| from fastapi import FastAPI, File, UploadFile | |
| import subprocess | |
| import os | |
| import requests | |
| import random | |
| from datetime import datetime | |
| from datetime import date | |
| import json | |
| from pydantic import BaseModel | |
| from typing import Annotated | |
| import random | |
| from fastapi import FastAPI, Response | |
| import string | |
| import time | |
| from huggingface_hub import InferenceClient | |
| from fastapi import Form | |
| class Query(BaseModel): | |
| text: str | |
| code:str | |
| host:str | |
| class Query2(BaseModel): | |
| text: str | |
| code:str | |
| filename:str | |
| host:str | |
| class QueryM(BaseModel): | |
| text: str | |
| tokens:int | |
| temp:float | |
| topp:float | |
| topk:float | |
| from fastapi import FastAPI, Request, Depends, UploadFile, File | |
| from fastapi.exceptions import HTTPException | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from fastapi.responses import JSONResponse | |
| app = FastAPI() | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=['*'], | |
| allow_credentials=True, | |
| allow_methods=['*'], | |
| allow_headers=['*'], | |
| ) | |
| # cred = credentials.Certificate('key.json') | |
| # app1 = firebase_admin.initialize_app(cred) | |
| # db = firestore.client() | |
| # data_frame = pd.read_csv('data.csv') | |
| async def startup_event(): | |
| print("on startup") | |
| # requests.get("https://audiospace-1-u9912847.deta.app/sendcode") | |
| audio_space="https://audiospace-1-u9912847.deta.app/uphoto" | |
| import threading | |
| from huggingface_hub.inference_api import InferenceApi | |
| client = InferenceClient() | |
| async def get_answer(q: Query ): | |
| text = q.text | |
| try: | |
| global client | |
| imagei = client.text_to_image(text) | |
| byte_array = io.BytesIO() | |
| imagei.save(byte_array, format='JPEG') | |
| response = Response(content=byte_array.getvalue(), media_type="image/png") | |
| return response | |
| except: | |
| return JSONResponse({"status":False}) | |
| async def get_answer(q: QueryM ): | |
| text = q.text | |
| try: | |
| client = InferenceClient() | |
| generate_kwargs = dict( | |
| max_new_tokens= int(q.tokens), | |
| do_sample=True, | |
| top_p= q.topp, | |
| top_k=int(q.topk), | |
| temperature=q.temp, | |
| ) | |
| inputs= text | |
| response = client.post(json={"inputs": inputs, "parameters": generate_kwargs}, model="mistralai/Mistral-7B-Instruct-v0.1") | |
| json_string = response.decode('utf-8') | |
| list_of_dicts = json.loads(json_string) | |
| result_dict = list_of_dicts[0] | |
| x=(result_dict['generated_text']) | |
| x=x.replace(inputs,'') | |
| return JSONResponse({"result":x,"status":True}) | |
| except Exception as e: | |
| print(e) | |
| return JSONResponse({"status":False}) | |
| ''' to be removed when main code is updated ''' | |
| async def get_answer(q: Query ): | |
| text = q.text | |
| code= q.code | |
| host= q.host | |
| N = 20 | |
| res = ''.join(random.choices(string.ascii_uppercase + | |
| string.digits, k=N)) | |
| res= res+ str(time.time()) | |
| filename= res | |
| t = threading.Thread(target=do_ML, args=(filename,text,code,host)) | |
| t.start() | |
| return JSONResponse({"id": filename}) | |
| return "hello" | |
| async def get_answer(q: Query2 ): | |
| text = q.text | |
| code= q.code | |
| filename= q.filename | |
| host= q.host | |
| t = threading.Thread(target=do_ML, args=(filename,text,code,host)) | |
| t.start() | |
| return JSONResponse({"id": filename}) | |
| import requests | |
| import io | |
| import io | |
| from PIL import Image | |
| import json | |
| # client = InferenceClient(model="SG161222/Realistic_Vision_V1.4") | |
| def do_ML(filename:str,text:str,code:str,host:str): | |
| try: | |
| global client | |
| imagei = client.text_to_image(text) | |
| byte_array = io.BytesIO() | |
| imagei.save(byte_array, format='JPEG') | |
| image_bytes = byte_array.getvalue() | |
| files = {'file': image_bytes} | |
| global audio_space | |
| url = audio_space+code | |
| data = {"filename": filename} | |
| response = requests.post(url, files=files,data= data) | |
| print(response.text) | |
| if response.status_code == 200: | |
| print("File uploaded successfully.") | |
| # Handle the response as needed | |
| else: | |
| print("File upload failed.") | |
| except: | |
| data={"text":text,"filename":filename} | |
| requests.post(host+"texttoimage2handleerror",data=data) | |