Esta guía explica cómo consultar información médica sobre tratamientos utilizando la API del sistema de agentes.
POST /api/treatments
La API requiere una clave de API válida que debe enviarse en uno de los siguientes headers:
Authorization: Bearer {api_key}x-api-key: {api_key}<API_TOKEN>
Content-Type: application/json Authorization: Bearer <API_TOKEN>
{ "question": "string" }
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
question | string | ✅ | Pregunta sobre tratamientos médicos |
curl -X POST https://dev-agents.hal.onl/api/treatments \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <API_TOKEN>" \ -d '{ "question": "¿Cuál es el tratamiento para la hipertensión arterial?" }'
curl -X POST https://dev-agents.hal.onl/api/treatments \ -H "Content-Type: application/json" \ -H "x-api-key: <API_TOKEN>" \ -d '{ "question": "¿Qué medicamentos se usan para tratar la diabetes tipo 2?" }'
curl -X POST https://dev-agents.hal.onl/api/treatments \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <API_TOKEN>" \ -d '{ "question": "¿Cuáles son los efectos secundarios del metformina?" }'
const getTreatmentInfo = async (question) => { const response = await fetch('https://dev-agents.hal.onl/api/treatments', { method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: 'Bearer <API_TOKEN>', }, body: JSON.stringify({ question, }), }) if (!response.ok) { throw new Error(`Error: ${response.status}`) } return await response.json() } // Uso básico const result = await getTreatmentInfo('¿Cómo se trata la gripe?') // Otro ejemplo const result2 = await getTreatmentInfo('¿Qué precauciones debo tener después de una cirugía?')
import requests import json def get_treatment_info(question): url = 'https://dev-agents.hal.onl/api/treatments' headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer <API_TOKEN>' } payload = {'question': question} response = requests.post(url, headers=headers, json=payload) if response.status_code == 200: return response.json() else: raise Exception(f'Error {response.status_code}: {response.text}') # Uso result = get_treatment_info('¿Cuál es el tratamiento para la depresión?')
{ "success": true, "data": { "message": "El tratamiento para la hipertensión arterial generalmente incluye cambios en el estilo de vida y medicamentos. Los cambios incluyen reducir el consumo de sal, hacer ejercicio regularmente, mantener un peso saludable y limitar el alcohol. Los medicamentos comunes incluyen: inhibidores de la ECA (como enalapril), bloqueadores de los receptores de angiotensina II (como losartán), diuréticos (como hidroclorotiazida), bloqueadores de los canales de calcio (como amlodipino) y betabloqueantes (como metoprolol). Es importante consultar con un médico para determinar el tratamiento más adecuado para cada caso individual.", "sources": [ { "title": "Guías de hipertensión 2023", "url": "https://example.com/hypertension-guidelines", "chunk": "Tratamiento de la hipertensión arterial..." } ], "metrics": { "tokens": { "input": 45, "output": 234 }, "processingTime": 2.3, "model": "gpt-4" } } }
| Campo | Tipo | Descripción |
|---|---|---|
success | boolean | Indica si la operación fue exitosa |
data.message | string | Respuesta del sistema de IA sobre el tratamiento |
data.sources | array | Lista de fuentes consultadas para la respuesta |
data.sources[].title | string | Título de la fuente |
data.sources[].url | string | URL de la fuente |
data.sources[].chunk | string | Fragmento relevante de la fuente |
data.metrics | object | Métricas de procesamiento de la consulta |
data.metrics.tokens | object | Información sobre tokens utilizados |
data.metrics.tokens.input | number | Número de tokens en la entrada |
data.metrics.tokens.output | number | Número de tokens en la salida |
data.metrics.processingTime | number | Tiempo de procesamiento en segundos |
data.metrics.model | string | Modelo de IA utilizado |
{ "success": false, "error": "question es requerido" }
{ "success": false, "error": "API key requerida en header Authorization o x-api-key" }
{ "success": false, "error": "API key inválida" }
{ "success": false, "error": "Error al procesar la solicitud" }
{ "success": false, "error": "Error interno del servidor" }