Modificacion #3644
Actualizado por Admin Savia Web Admin hace 4 meses
Deberiamos crear una sección seccion en savia que se llame credenciales IA y que diga Gemini y allí alli peguen la api key. Cuando el usuario pegue la clave en el panel de administración, el backend debe proteger ese dato. *Frontend*: El input del formulario debe ser de tipo password (<input type="password">) para que no quede expuesto en la pantalla. pantalla si alguien camina por detrás del agente de viajes. *Backend*: No guardamos la API Key en texto plano. Porque si Si alguien accede a la tu base de datos, podría usar las claves de todos las agencias. Tenemos que tus clientes. Debes cifrarla usando un algoritmo simétrico como AES-256 utilizando una clave maestra interna de Savia antes de insertarla en la tabla o algo asi lei. de configuraciones de la agencia. *Como seria el *El flujo cuando el usuario sube el PDF* Cuando el usuario agente hace clic agregar nuevo aereo al costado de Multidestino, ponemos un boton en color que se vea y diga "Interpretar PDF con IA" y dentro de la pantalla de "Añadir Aéreo", se ejecuta dispara el siguiente proceso: *Paso 1*: A*: Recuperar y descifrar la clave El backend recibe el archivo PDF, identifica a qué agencia pertenece el usuario, busca la su API Key cifrada en la base de datos y la descifra en memoria para usarla en esa única petición. *Paso 2*: B*: Llamada a la API de Gemini Para leer PDFs, el modelo que podemos usar ideal por velocidad, costo y capacidad en 2026 es el *Gemini 2.5 Flash*. La ventaja competitiva clave de Gemini frente a otros modelos (como ChatGPT) es que acepta archivos nativamente (soporta PDFs directamente, sin necesidad de extrer que vos extraigas el texto primero con librerías raras). *La petición HTTP estructurada a la API de Google se hace de la siguiente manera:* *URL*: [https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=AQUI_VA_LA_API_KEY_DEL_CLIENTE] (https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=AQUI_VA_LA_API_KEY_DEL_CLIENTE) *Headers*: Content-Type: application/json