import gradio as gr import requests import json from RAGModule import RAGModule # Initialize the RAG module RAG_Triwira = RAGModule() def chat(message: str, chat_history: str): prompt = RAG_Triwira.main(message) url = "http://localhost:11434/api/generate" payload = json.dumps({ "model": "ollama:latest", #"MarcoAland/llama3.1-rag-indo", "prompt": prompt, "format": "json", "stream": False }) headers = { 'Content-Type': 'application/json' } try: response = requests.post(url, headers=headers, data=payload) response.raise_for_status() # Raise an error for bad status codes response_data = response.json() return response_data.get('output', 'No response received') except requests.exceptions.RequestException as e: return f"Connection error: {e}" # def chat(message, chat_history): # yield "test" # Define the Gradio interface iface = gr.Interface( fn=chat, inputs=gr.Textbox(label="Masukan pertanyaan anda", placeholder="Tanyakan saja padaku🌟"), outputs=gr.Textbox(label="Respons Mitrakara"), title="Hai, namaku Mitrakara. Selamat datang!👋", description='''Berikut adalah beberapa tips untuk bertanya denganku✨✨✨\n1. Gunakan kata 'dokumen:' jika ingin bertanya mengenai dokumen/administrasi perusahaan.\n2. Gunakan kalimat tanya yang baik.\n3. Enjoy the conversation.😊''' + '''\n\nContoh penggunaan:\n1. Pertanyaan umum: "Beri saya 5 motivasi untuk menjadi pribadi yang lebih baik."\n2. Pertanyaan mengenai administrasi perusahaan: "Dokumen: Siapa nama ketua direksi dan apa saja tanggung jawab beliau."''', examples=[ ["Beri saya 5 motivasi untuk menjadi pribadi yang lebih baik."], ["Dokumen: Siapa nama ketua direksi dan apa saja tanggung jawab beliau."] ], theme=gr.themes.Soft(), ) # Launch the Gradio interface if __name__ == "__main__": iface.launch(share=True) # change "share=False" to make it private