Extracción laboral de IA y generador de correo electrónico frío
Este proyecto aprovecha las herramientas y marcos de AI de vanguardia para automatizar el proceso de extraer publicaciones de trabajo de páginas web y generar correos electrónicos fríos personalizados para aplicaciones de empleo basadas en la entrada del usuario y una cartera personalizable de habilidades. Integra Groq-Powered LLM (Modelo de aprendizaje de idiomas), indicaciones de Langchain, raspado web y bases de datos vectoriales para optimizar el proceso de la creación de aplicaciones de empleo de extremo a extremo.
Características
- Rastreo web: extrae automáticamente las publicaciones de trabajo de las páginas web dinámicas utilizando
WebBaseLoader y limpia los datos extraídos para eliminar el ruido. - Extracción de publicaciones de trabajo: utiliza las cadenas rápidas LLM de Langchain para extraer y formatear detalles de trabajo relevantes (papel, experiencia, habilidades, descripción) en objetos JSON válidos.
- Correos electrónicos fríos personalizados: genera correos electrónicos fríos personalizados utilizando un LLM de alimentación de Groq, personalizable con las habilidades del candidato y los enlaces de cartera relevantes.
- Integración de la base de datos vectorial: almacena la pila tecnológica y los metadatos de la cartera utilizando ChromAdB para una consulta eficiente de enlaces relevantes para el correo electrónico frío.
- Generación de correo electrónico dinámico: crea correos electrónicos personalizados y basados en resultados que se alinean con las descripciones de trabajo y resaltan la experiencia y los proyectos más relevantes.
Tecnologías utilizadas
- Integración LLM (Groq): modelo de chatgroq (LLAMA-3.1-70B) para la generación de texto de alta precisión.
- Langchain: utilizado para crear plantillas de inmediato y encadenamiento de LLM para generar respuestas.
- Flask: servidor de backend para manejar las solicitudes de generación de correo electrónico y administrar el raspado de trabajo y la interacción LLM.
- React.js: Frontend para recopilar la entrada del usuario (por ejemplo, nombre de usuario) y activar el proceso de generación de correo electrónico.
- ChromAdB: base de datos vectorial para almacenamiento y consulta de metadatos eficientes.
- PANDAS: Se utiliza para manejar los datos de CSV de cartera y procesarlos para el almacenamiento en ChromadB.
- Flask-Cors: habilitando CORS para el backend del frasco.
Instrucciones de configuración
Requisitos previos
- Python 3
- Node.js y npm (para react frontend)
- Clave de API Groq (para la integración de LLM)
Instalación
Clon el repositorio:
git clone https://github.com/IMRANDIL/cold_email_generator_llm.git
cd cold_email_generator_llm
Configuración de backend (frasco):
- Crear y activar un entorno virtual:
python3 -m venv venv
source venv/bin/activate
- Instale las dependencias de Python requeridas:
pip install -r requirements.txt
- Configurar variables de entorno para la tecla API Groq:
export GROQ_API_KEY= " your-api-key "
- Inicie el servidor Flask:
Configuración de frontend (reaccionar):
- Navegue al directorio
frontend : - Instale las dependencias:
- Inicie el servidor React Development:
Uso
- Visite la interfaz Frontend para ingresar el nombre de usuario y activar el proceso de generación de correo electrónico.
- El backend raspará las publicaciones de trabajo, las procesará con indicaciones de Langchain, consultará la base de datos Vector y generará correos electrónicos fríos personalizados para cada trabajo.
- Los correos electrónicos se devuelven en formato JSON y se muestran en un bloque de código bien formato con una función de "copia al portapapeles".
Salida de ejemplo
{
"subject" : " Application for Lead Software Engineer at XYZ Inc. " ,
"body" : " Dear Hiring Manager, I am writing to express my interest in the Lead Software Engineer position... "
}Mejoras futuras
- Rastreo web dinámico: extender las capacidades de raspado web para manejar sitios web de publicaciones de trabajo más complejos y dinámicos.
- Consulta avanzada: Mejore el mecanismo de consulta de la base de datos vectorial para manejar múltiples conjuntos de habilidades de manera más eficiente.
- Mejoras de la interfaz de usuario: Mejore aún más el frontend react.js para una mejor experiencia del usuario y soporte para múltiples plantillas de correo electrónico.
- Integración de API múltiples: explore la integración con otros modelos LLM (OpenAI, etc.) para una mayor versatilidad.
Licencia
Este proyecto tiene licencia bajo la licencia MIT. Consulte el archivo de licencia para obtener más detalles.