Spaces:
Runtime error
Runtime error
| import json | |
| from supabase import create_client, Client | |
| from config import SUPABASE_URL, SUPABASE_KEY | |
| supabase: Client = create_client(SUPABASE_URL, SUPABASE_KEY) | |
| def get_user_credits(user_id): | |
| user = supabase.table("users").select("generation_credits, train_credits").eq("id", user_id).execute() | |
| if user.data: | |
| return user.data[0]["generation_credits"], user.data[0]["train_credits"] | |
| return 0, 0 | |
| def update_user_credits(user_id, generation_credits, train_credits): | |
| supabase.table("users").update({ | |
| "generation_credits": generation_credits, | |
| "train_credits": train_credits | |
| }).eq("id", user_id).execute() | |
| def get_or_create_user(google_id, email, name, given_name, profile_picture): | |
| user = supabase.table("users").select("*").eq("google_id", google_id).execute() | |
| if not user.data: | |
| new_user = { | |
| "google_id": google_id, | |
| "email": email, | |
| "name": name, | |
| "profile_picture": profile_picture, | |
| "generation_credits": 2, | |
| "train_credits": 1, | |
| "given_name": given_name | |
| } | |
| result = supabase.table("users").insert(new_user).execute() | |
| return result.data[0] | |
| else: | |
| return user.data[0] | |
| def get_lora_models_info(): | |
| lora_models = supabase.table("lora_models").select("*").is_("user_id", None).execute() | |
| return lora_models.data | |
| def get_user_by_id(user_id): | |
| user = supabase.table("users").select("*").eq("id", user_id).execute() | |
| if user.data: | |
| return user.data[0] | |
| return None | |
| def create_lora_models(user_id, replicate_repo_name, trigger_word, steps, lora_rank, batch_size, learning_rate, hf_repo_name, training_url): | |
| # create a jsonb from trigger_word, train_steps, lora_rank, batch_size, learning_rate values | |
| model_config = { | |
| "train_steps": steps, | |
| "lora_rank": lora_rank, | |
| "batch_size": batch_size, | |
| "learning_rate": learning_rate | |
| } | |
| result = supabase.table("lora_models").insert({ | |
| "user_id": user_id, | |
| "trigger_word": trigger_word, | |
| "lora_name": replicate_repo_name, | |
| "hf_repo": hf_repo_name, | |
| "configs": model_config, | |
| "training_url": training_url | |
| }).execute() | |
| def get_user_lora_models(user_id): | |
| user_models = supabase.table("lora_models").select("*").eq("user_id", user_id).execute() | |
| return user_models.data |