import gradio as gr import openai import json from factool import Factool import os def chat_with_gpt(api_key, model, message): openai.api_key = api_key response = openai.ChatCompletion.create( model=model, messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": message}, ] ) return response.choices[0].message['content'] def fact_check(api_key, model, message, response): os.environ['OPENAI_API_KEY'] = api_key factool_instance = Factool("model") inputs = [ { "prompt": message, "response": response, "category": "kbqa", "search_type": "online", }, ] response_list = factool_instance.run(inputs) return response_list def process_input(api_key, model, message): response = chat_with_gpt(api_key, model, message) return fact_check(api_key, model, message, response) iface = gr.Interface(fn=process_input, inputs=["text", gr.inputs.Radio(["gpt-3.5-turbo", "gpt-4"], label="Model"), "text"], outputs=gr.outputs.JSON()) iface.launch()