UserSyncInterface / services /gradioService.ts
AUXteam's picture
Upload folder using huggingface_hub
e6db76d verified
import { Client } from "@gradio/client";
const HF_SPACE = "AUXteam/tiny_factory";
export class GradioService {
private static client: any = null;
static async getClient() {
if (!this.client) {
this.client = await Client.connect(HF_SPACE);
}
return this.client;
}
static async identifyPersonas(context: string) {
try {
const client = await this.getClient();
const result = await client.predict("/identify_personas", [context]);
return result.data[0];
} catch (error) {
console.error("Error identifying personas:", error);
throw error;
}
}
static async startSimulationAsync(simulationId: string, contentText: string, format: string = "text") {
try {
const client = await this.getClient();
const result = await client.predict("/start_simulation_async", [simulationId, contentText, format]);
return result.data[0];
} catch (error) {
console.error("Error starting simulation:", error);
throw error;
}
}
static async getSimulationStatus(simulationId: string) {
try {
const client = await this.getClient();
const result = await client.predict("/get_simulation_status", [simulationId]);
return result.data[0];
} catch (error) {
console.error("Error getting simulation status:", error);
throw error;
}
}
static async generateVariants(contentText: string, numVariants: number = 3) {
try {
const client = await this.getClient();
const result = await client.predict("/generate_variants", [contentText, numVariants]);
return result.data[0];
} catch (error) {
console.error("Error generating variants:", error);
return ["Unable to generate variants at this time."];
}
}
static async listSimulations() {
try {
const client = await this.getClient();
const result = await client.predict("/list_simulations", []);
return result.data[0];
} catch (error) {
console.error("Error listing simulations:", error);
return [];
}
}
}