Contenido del curso
Interfaces de la API y streaming
Function calling y salidas estructuradas
Reducción de costos con caching y batch
Ingeniería de producción y control de calidad
Proyecto final de consultas sobre documentos
Web Search sin loop manual
Resumen
La tool nativa Web Search de OpenAI te permite hacer búsquedas en internet sin construir un loop manual, y es clave para desarrolladores que ya trabajaron con function tools y quieren automatizar la ejecución. Aquí verás cómo declararla, qué cambia frente al backend anterior y por qué siempre debes auditar los resultados.
Qué diferencia hay entre function tools y las tools nativas de OpenAI
En la clase previa armamos el loop completo a mano: el modelo pedía una función, nuestro backend la ejecutaba y nosotros devolvíamos el resultado con otra consulta. Con las tools nativas eso desaparece [00:14].
La diferencia más relevante es que no hay loop manual. No tienes que detectar la llamada, ni ejecutar nada, ni devolver el resultado. OpenAI hace la búsqueda por dentro y te devuelve la respuesta final ya con las fuentes citadas [00:25].
¿Qué es una tool nativa de OpenAI? Es una herramienta que OpenAI ya tiene creada y hospeda por su cuenta, como Web Search. Tú solo la declaras en el array de tools y ellos se encargan de toda la ejecución.
Así quedan claros los dos extremos: en las function tools tú controlas la ejecución, y en las tools hospedadas OpenAI se encarga de absolutamente todo [05:30].
Cómo declaro la tool Web Search en el cliente
Todo empieza creando una función en tu archivo de cliente. Se llama generate_with_web_search, recibe un prompt de tipo string y devuelve un string [00:50].
Dentro haces el llamado que ya venías usando en tu endpoint con client.responses.create. Estos son los parámetros que pasas:
- El modelo que vas a utilizar.
- Las instrucciones: responde en español y cita las fuentes que utilices.
- El input, que es el
promptrecibido por parámetro. - El array de tools con un objeto de tipo Web Search.
Esa última línea es la clave. El Web Search es una tool que está directamente en OpenAI y no la estamos creando nosotros [01:20]. Al final la función retorna response.output.text.
¿Cómo se activa Web Search en la API de OpenAI? Agregas un objeto de tipo Web Search dentro del array de tools en
client.responses.create. Con esa sola línea OpenAI busca en internet y devuelve la respuesta con enlaces citados.
Como le pides cada una de las fuentes, la respuesta va a ser mucho más grande de lo habitual [01:35]. Y aquí viene lo interesante: todo esto funcionó con una sola línea de código, la del tool que indica un Web Search [03:40].
Cómo pruebo la búsqueda web desde la terminal
Para probarlo vas a tu archivo main.py, importas la función generate_with_web_search y le pasas un prompt. En el ejemplo usamos: quiero comprar unas zapatillas Jordan, dame un listado de las mejores tiendas online para comprar [02:00].
Al ejecutar main.py en la terminal llega una respuesta larga que:
- Prioriza las tiendas por fiabilidad, variedad y acceso a lanzamientos.
- Entrega el enlace de cada tienda tal como se pidió.
- Lista cinco de las mejores tiendas con detalles de cada una.
- Da recomendaciones prácticas según precio retail, seguridad y lanzamientos.
Lo más importante es que cada tienda mencionada trae su fuente, y al final sugiere afinar la búsqueda por presupuesto, por retros clásicas o por webs que eviten falsificaciones [03:20].
Cómo agrego Web Search a la interfaz web
Una vez que funciona en terminal, lo llevas a la interfaz. En tu archivo de server agregas un nuevo endpoint llamado Web Search, importas la función generate_with_web_search y recibes el mismo parámetro prompt, pero ahora desde el formulario web [04:00].
El resultado se devuelve como un HTML que muestra el texto generado. En el home agregas el formulario debajo del anterior, con estos elementos:
- Un título: buscar en la web con la tool nativa de OpenAI.
- Un formulario que apunta al nuevo endpoint de Web Search.
- Un
text areapara el prompt y un botónsubmitque dice buscar en la web.
Al ejecutar el servidor y usar el mismo prompt de las Jordan, la respuesta ordena Nike primero, Foot Locker segundo y suma más tiendas con sus detalles y categorías [04:40].
Por qué debes auditar los resultados de Web Search
Como en toda respuesta con inteligencia artificial, la recomendación es que juzgues o audites los resultados [05:00]. Y este ejemplo lo demuestra sin filtros.
Al revisar los enlaces:
- Nike entrega el enlace correcto.
- Foot Locker apunta a otro origen, pero sigue siendo Foot Locker.
- Tres tiendas distintas devuelven la página de Nike en su referencia.
- StockX entrega el enlace de GOAT y Flightclub lo confunde con Foot Locker.
El resultado concreto: de ocho resultados, al menos cuatro tienen errores en los enlaces [05:20]. Por eso la consigna es no aceptar todo a ciegas, porque puede colarse una alucinación que complique tu respuesta, sobre todo si vas a usarla para generar otro contenido.
En la sección de recursos tienes el link a la documentación para explorar otras tools nativas de OpenAI. Pruébalas y comparte tus conclusiones en los comentarios. ¿Cuál tool nativa te gustaría automatizar primero?