ideamirroe / app.py
miguelcastroe's picture
Update app.py
8876b50 verified
import gradio as gr
import requests
# Function to send a request to Inflection AI API
def idea_mirror(input_idea, context=""):
try:
# API endpoint for Inflection AI (replace with the actual endpoint)
api_url = "https://layercake.pubwestus3.inf7ks8.com/external/api/inference"
# Construct the payload
payload = {
"context": [
{"text": input_idea, "type": "Human"},
{"text": context, "type": "Human"} if context else {}
],
"config": "inflection_3_pi"
}
# Headers with API Key
headers = {
"Authorization": "Bearer VRks3d8elJWfQ34pVqdkjydFL6S93taWsPCxFIgUWFc",
"Content-Type": "application/json"
}
# Send the request
response = requests.post(api_url, json=payload, headers=headers)
# Handle the response
if response.status_code == 200:
response_data = response.json()
result = response_data.get("result", "No se pudo obtener un resultado.")
return f"Idea Refinada: {result}"
else:
return f"Error: {response.status_code}, {response.text}"
except Exception as e:
return f"Error procesando la idea: {e}"
# Gradio Interface
with gr.Blocks() as interfaz:
gr.Markdown(
"""
## **Idea Mirror**
### Refinamos tus ideas con claridad y empatía.
"""
)
with gr.Row():
idea_input = gr.Textbox(
label="Ingresa tu idea",
placeholder="Escribe aquí tu idea principal...",
lines=3
)
context_input = gr.Textbox(
label="Contexto (opcional)",
placeholder="Añade más detalles sobre tu idea o audiencia...",
lines=2
)
output_box = gr.Textbox(
label="Resultado",
placeholder="Aquí aparecerá tu idea refinada...",
lines=6,
interactive=False
)
refine_button = gr.Button("Refinar Idea")
# Link the refinement function to the button
refine_button.click(idea_mirror, inputs=[idea_input, context_input], outputs=output_box)
# Launch the Gradio app
interfaz.launch()