Spaces:
Running
Running
import gradio as gr | |
import requests | |
import json | |
import os | |
# Retrieve the Open Router API Key from the Space secrets | |
API_KEY = os.getenv("OpenRounter_API_KEY") | |
def generate_text(input_text): | |
response = requests.post( | |
url="https://openrouter.ai/api/v1/chat/completions", | |
headers={ | |
"Authorization": f"Bearer {API_KEY}" | |
}, | |
data=json.dumps({ | |
"model": "openai/gpt-4o-mini-2024-07-18", # Optional | |
"messages": [{"role": "user", "content": input_text}], | |
"top_p": 1, | |
"temperature": 1, | |
"frequency_penalty": 0, | |
"presence_penalty": 0, | |
"repetition_penalty": 1, | |
"top_k": 0, | |
}) | |
) | |
# Handle errors | |
if response.status_code != 200: | |
return f"Error: {response.status_code}, {response.text}" | |
# Parse and return the content of the response | |
try: | |
response_json = response.json() | |
return response_json.get("choices", [{}])[0].get("message", {}).get("content", "No content returned.") | |
except json.JSONDecodeError: | |
return "Error: Unable to parse response." | |
# Create Gradio interface | |
iface = gr.Interface(fn=generate_text, inputs="text", outputs="text") | |
iface.launch() | |