import modal
import json
from uuid import uuid4
import pandas as pd
from sklearn import metrics
from sklearn import model_selection
import random
import asyncio


f = modal.Function.lookup("chirpv2_moderator", "ModerationStub.moderate_text")

def get_result(input_text):
    return f.remote(input_text)

good_data = "/home/victor/glockenspiel/notebooks/good_prompts.jsonl"
bad_data = "/home/victor/glockenspiel/notebooks/bad_prompts.jsonl"

x_data = []
y_data = []
with open(good_data, "r") as fp:
    for l in fp.readlines():


    
        line = json.loads(l)
        x_data.append(line.get("prompt", ""))
        y_data.append(1)
with open(bad_data, "r") as fp:
    for l in fp.readlines():
        line = json.loads(l)
        if random.random() < 0.25:
            x_data.append(line.get("prompt", ""))
            y_data.append(0)


async def main():
    print("here")
    x = await asyncio.gather(*[f.remote.aio(data) for data in x_data[:4]])
    print(x)

if __name__ == "__main__":
    await main()
