CoolFace
Apppublic

efeperro/AI-Agentic

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
linkedin_agent.py62 linesDownload Raw Back to agent
1# agent/linkedin_agent.py2 3import os4from openai import OpenAI5from agents import Agent6from agents import OpenAIResponsesModel7from tools.web_search_tool import get_web_search_tool8 9# Asegúrate de tener la variable de entorno OPENAI_API_KEY definida en tu sistema10OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")11if not OPENAI_API_KEY:12    raise ValueError("Debes exportar la clave OPENAI_API_KEY antes de ejecutar el agente.")13 14# Cliente de OpenAI para pasar al modelo15client = OpenAI(api_key=OPENAI_API_KEY)16 17 18def create_agent():19    """20    Crea y retorna un Agent configurado para:21      - Usar el modelo '04-mini-high' (OpenAIChatCompletionsModel).22      - Tener como tool el WebSearchTool nativo de OpenAI Agents SDK.23      - Instrucciones en español para buscar perfiles de LinkedIn según oferta de empleo.24    """25 26    # 1) Primero, instanciamos el modelo basado en 04-mini-high:27    model = OpenAIResponsesModel(28        model="o4-mini",29        openai_client=client30    )31 32    # 2) Obtenemos el WebSearchTool nativo:33    web_search = get_web_search_tool()34 35    # 3) Construimos el agente con instrucciones muy explícitas:36    instrucciones = """37Eres un agente que recibe dos entradas:38  1) Una descripción de oferta de empleo en español.39  2) Un número entero N (cantidad de perfiles a extraer).40 41Tu tarea:42  a) Extraer los términos clave de la oferta.43  b) Invocar la herramienta `web_search` para buscar en Google sitios de LinkedIn44     (usando algo como 'site:linkedin.com/in <términos clave>').45  c) Devolver hasta N perfiles en un formato de lista donde cada elemento tenga:46     - Nombre del candidato (si está en el título o snippet de búsqueda).47     - Enlace completo al perfil de LinkedIn (URL).48  d) Presenta los resultados en un texto claro, cada perfil en una línea separada.49 50Ejemplo de salida (para N=2):51  1. Juan Pérez - https://www.linkedin.com/in/juan-perez-12345 (Ingeniero de Software)52  2. María Gómez - https://www.linkedin.com/in/maria-gomez-67890 (Desarrolladora Backend)53    """54 55    agent = Agent(56        name="linkedin_agent",57        instructions=instrucciones,58        model=model,59        tools=[web_search]60    )61    return agent62