Arranque del Gemelo Comercial Prodisys¶
Ubicación¶
El repositorio operativo del Gemelo se encuentra en:
~/Documents/Prodisys/prodisys-gemelo
La interfaz comercial principal se ejecuta desde:
ui_test.ipynb
El repositorio activo utiliza actualmente la rama:
main
Entorno Python¶
La operación validada del Gemelo Comercial utiliza el Python del entorno
Anaconda base:
/home/prodisys1/anaconda3/bin/python
La versión validada es Python 3.11.
Antes de arrancar puede verificarse con:
which python
python --version
Las dependencias operativas comprobadas incluyen:
pandas
ipywidgets
SQLAlchemy
pyodbc
python-dotenv
requests
BeautifulSoup
El entorno Conda prodisys existe, pero actualmente no contiene todas las
dependencias requeridas por la interfaz comercial. Por tanto, no debe
considerarse el entorno operativo hasta que sea explícitamente reconstruido
y validado.
Variables de entorno¶
Las conexiones y claves se mantienen en el archivo local:
.env
Este archivo contiene, entre otras, variables para:
conexión a ALEPH / SQL Server
driver ODBC
Serper API
El archivo .env:
no debe versionarse en Git
debe mantener permisos restrictivos
no debe copiarse a la documentación
no debe publicarse en HTML
ALEPH y SQL Server¶
ALEPH actúa como fuente de información operativa y CRM.
Antes de iniciar la interfaz debe verificarse que la instancia SQL Server utilizada por ALEPH esté disponible.
La conexión puede comprobarse desde el Gemelo mediante:
cd ~/Documents/Prodisys/prodisys-gemelo
python - <<'PY'
from pathlib import Path
from dotenv import load_dotenv
load_dotenv(Path(".env"), override=True)
from prodisys.ingest.aleph_connection import get_aleph_engine
engine = get_aleph_engine()
with engine.connect() as conn:
value = conn.exec_driver_sql("SELECT 1").scalar()
print("ALEPH:", "OK" if value == 1 else value)
PY
La prueba validada debe retornar:
ALEPH: OK
Serper¶
Serper se utiliza para discovery externo de empresas y fuentes web.
La conectividad puede comprobarse con:
cd ~/Documents/Prodisys/prodisys-gemelo
python - <<'PY'
from pathlib import Path
from dotenv import load_dotenv
load_dotenv(Path(".env"), override=True)
from prodisys.comercial.source_search import _search_serper
results = _search_serper(
query="OpenFOAM",
max_results=2,
timeout=20,
)
print("SERPER resultados:", len(results))
for r in results:
print("-", r.title, "|", r.url)
PY
Una respuesta con resultados confirma que la API está operativa.
JupyterLab¶
Desde el servidor:
cd ~/Documents/Prodisys/prodisys-gemelo
jupyter lab --no-browser --ip=0.0.0.0
El servidor Prodisys se encuentra actualmente en la LAN:
192.168.2.19
Si el puerto 8888 está ocupado por otra aplicación, JupyterLab seleccionará automáticamente otro puerto disponible, por ejemplo 8889.
Desde un cliente de la misma red se accede con:
http://192.168.2.19:<puerto>/lab
Una vez dentro de JupyterLab se debe abrir:
ui_test.ipynb
Arranque de la interfaz comercial¶
La interfaz se construye mediante:
from prodisys.comercial.ui.app_ui import build_comercial_ui
build_comercial_ui()
Si después de cambios de código la interfaz no refleja el estado actual:
Kernel -> Restart Kernel
Módulos principales¶
La interfaz comercial integra actualmente funciones para:
Actividades
Lotes
Empresas
Contactos
Prospectos CRM
scoring y evaluación comercial
discovery web
integración CRM con ALEPH
Los datos operativos se encuentran principalmente bajo:
data/commercial/
Discovery comercial¶
Desde la interfaz:
Actividades -> Perfil activo -> Ejecutar discovery
El perfil controla, entre otros:
países
sectores
palabras clave incluidas
palabras clave excluidas
número máximo de páginas
número máximo de empresas
score mínimo
También puede ejecutarse desde terminal:
python -m prodisys.comercial.prospect_discovery
Pipeline comercial¶
Los comandos principales son:
python -m prodisys.comercial.pipeline_runner --help
python -m prodisys.comercial.pipeline_runner discover
python -m prodisys.comercial.pipeline_runner continue
python -m prodisys.comercial.pipeline_runner integrate
python -m prodisys.comercial.pipeline_runner push-crm
python -m prodisys.comercial.pipeline_runner crm-dry-run
python -m prodisys.comercial.pipeline_runner crm-execute --confirm
python -m prodisys.comercial.pipeline_runner summary
Precauciones CRM¶
Las operaciones de escritura real en ALEPH deben ejecutarse únicamente de forma deliberada.
En particular:
crm-execute --confirm
realiza operaciones reales y no debe utilizarse como prueba de arranque.
Para validación funcional se recomienda utilizar primero:
lectura de datos
preview
dry-run
validación de prospectos
Secuencia recomendada de arranque¶
Entrar a
~/Documents/Prodisys/prodisys-gemelo.Verificar que Python sea el entorno
basevalidado.Confirmar disponibilidad de SQL Server / ALEPH.
Ejecutar una prueba
SELECT 1contra ALEPH.Verificar Serper si se utilizará discovery.
Iniciar JupyterLab.
Acceder desde el cliente al puerto asignado.
Abrir
ui_test.ipynb.Ejecutar
build_comercial_ui().Validar navegación y lectura de información antes de ejecutar escrituras CRM.
Cierre¶
JupyterLab se detiene con Ctrl+C en la terminal donde fue iniciado.
No se recomienda detener servicios SQL compartidos sin verificar previamente si otras aplicaciones dependen de ellos.