import gradio as gr import requests import os import re API_KEY = os.getenv("BNILADRIDAS_API_KEY") or os.getenv("HF_BNILADRIDAS_API_KEY") API_URL = "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-thinking-exp-01-21:generateContent" def clean_response(text): lines = [] for line in text.splitlines(): # Remove bullets like *, #, •, - from the beginning (not numbered lists) line = re.sub(r"^\s*[*#•\-]+\s*", "", line) # Remove markdown bold formatting line = re.sub(r"\*\*(.*?)\*\*", r"\1", line) line = re.sub(r"__(.*?)__", r"\1", line) lines.append(line) return "\n".join(lines) def chat(prompt, _): response = requests.post( API_URL, headers={"Content-Type": "application/json"}, params={"key": API_KEY}, json={"contents": [{"parts": [{"text": prompt}]}]} ) if response.status_code == 200: try: text = response.json()['candidates'][0]['content']['parts'][0]['text'] return clean_response(text) except: return "No response." return f"Error: {response.status_code}" gr.Interface( fn=chat, inputs=[gr.Textbox(label="Ask something"), gr.Radio(["English"], visible=False)], outputs=gr.Textbox(label="Response") ).launch()