Documentazione tecnica

Installazione di Sambha2

Cosa serve sul server e come installare l'applicazione web e i motori di ricerca AI come servizi Windows.

01 — Requisiti tecnici

Requisiti tecnici

Sambha2 è composto da un'applicazione web Java, che gli utenti usano dal browser e che contiene il database, e da tre motori di ricerca AI che girano come servizi separati sullo stesso server. L'applicazione web interroga i motori AI tramite gRPC.

Componente 1 Applicazione web Java 21 · Spring Boot · porta 8080
Componente 2 Database integrato H2 in modalità file, dentro l'applicazione web
Componente 3 Motori di ricerca AI 3 servizi gRPC · porte 50051, 50054, 50056

Requisiti di base Obbligatori

Server

Sistema operativoWindows 10, Windows 11 o Windows Server, 64 bit
PrivilegiAccount amministratore per installare i servizi Windows
CPU, RAM e discoDipendono dalla dimensione dell'archivio profili e dal numero di utenti: Soltea li definisce con voi prima dell'installazione. L'applicazione web usa da sola fino a 4 GB di RAM; indici di ricerca e database crescono con l'archivio.

Applicazione web

JavaJava 21. Il JDK è incluso nel pacchetto di installazione: non serve installarlo a parte
Application serverNessuno: Spring Boot 3.4 con Tomcat incorporato, avviato come archivio Sambha2Web.war eseguibile
Memoria JVM512 MB iniziali, massimo 4 GB (-Xms512m -Xmx4096m)
Porta8080 HTTP (predefinita)
ServizioServizio Windows tramite Apache Commons Daemon (procrun), incluso nel pacchetto

Database

MotoreH2 in modalità file, integrato nell'applicazione web: nessun server di database da installare
SchemaCreato e aggiornato automaticamente all'avvio dell'applicazione
DatiCartella data nella directory dell'applicazione web
Database esternoPer usare un database server esterno contattate Soltea

Motori di ricerca AI

Tre servizi distribuiti come eseguibili autonomi: Python 3.11, PyTorch 2.8 e le altre librerie sono già inclusi, quindi sul server non serve installare Python. I file dei modelli sono nel pacchetto, nella cartella models.

ServizioFunzionePorta gRPCGPU
Embedder DINOv3Calcola l'impronta visiva delle sezioni e riordina i risultati50056Accelerato se presente
Comparatore SiamesaNetConfronta le coppie di sezioni con una rete neurale siamese50054Accelerato se presente
Comparatore RANSACVerifica l'allineamento geometrico tra le sezioni50051Non usata

Rete

Porta TCPUsoAccesso
8080Applicazione web (HTTP)Dai client degli utenti
50051, 50054, 50056Motori di ricerca AI (gRPC, non cifrato)Solo dall'applicazione web

Requisiti opzionali CUDA Opzionali

La GPU non è obbligatoria. Se sul server c'è una scheda NVIDIA, i motori di ricerca AI DINOv3 e SiamesaNet la usano automaticamente per accelerare il calcolo; il comparatore RANSAC lavora sempre su CPU.

GPUNVIDIA con supporto CUDA 12
Driver NVIDIADriver aggiornato con supporto CUDA 12.x: i motori AI usano PyTorch 2.8 costruito per CUDA 12.8
CUDA Toolkit e cuDNNDa non installare a parte: le librerie CUDA e cuDNN usate da PyTorch sono incluse nel pacchetto dei servizi
VRAMRiferimento misurato per l'embedder DINOv3 con la configurazione predefinita: circa 3,3 GB durante l'elaborazione, circa 1,3 GB a riposo. Se più servizi AI usano la stessa scheda, la memoria si somma. La VRAM consigliata per la vostra installazione la indica Soltea.
Senza GPU

All'avvio ogni servizio controlla se CUDA è disponibile; se non lo è passa da solo alla CPU, senza configurazioni aggiuntive. Le funzioni di ricerca restano le stesse, ma calcolo delle impronte e confronti richiedono più tempo.

02 — Istruzioni

Istruzioni di installazione

Nei comandi la cartella di installazione è C:\Sambha2, con l'applicazione web in web e i motori AI in ai: è un esempio, potete usare un percorso diverso. Tutti i comandi vanno eseguiti da un prompt dei comandi aperto come amministratore.

  1. 01

    Preparazione dell'ambiente

    • Server Windows 64 bit con un account amministratore.
    • Nel firewall, aprite la porta 8080 verso i client degli utenti; le porte dei motori AI servono solo all'applicazione web.
    • Solo con GPU NVIDIA: installate il driver NVIDIA e controllate che la scheda sia riconosciuta.
    nvidia-smi
  2. 02

    Installazione dei componenti

    Copiate sul server il pacchetto fornito da Soltea. La struttura attesa è questa:

    C:\Sambha2\
      web\
        Sambha2Web.war
        java\                    JDK 21 incluso
        config\                  instance-config.yaml, application-service.properties
        logs\
        prunsrv.exe
        Sambha2WebServiceInstall.bat
      ai\
        dinov3_embedder_service.exe
        siamesanet_service.exe
        ransac_comparator_service.exe
        _internal\               librerie Python, PyTorch e CUDA
        models\                  file dei modelli
        config\                  file .env e *_logging.ini dei servizi
        logs\
        prunsrv.exe
        Sambha2*ServiceInstall.bat

    Registrate i servizi Windows: ogni script rimuove l'eventuale servizio con lo stesso nome e lo reinstalla con avvio automatico.

    cd /d C:\Sambha2\ai
    Sambha2DinoV3EmbedderServiceInstall.bat
    Sambha2SiamesaNetServiceInstall.bat
    Sambha2RansacComparatorServiceInstall.bat
    
    cd /d C:\Sambha2\web
    Sambha2WebServiceInstall.bat

    Il servizio dell'applicazione web gira con l'account NetworkService: deve poter scrivere nelle cartelle data e logs della sua directory.

  3. 03

    Configurazione

    Motori AI. Ogni servizio legge il proprio file .env in C:\Sambha2\ai\config: porta gRPC, percorso del modello e parametri di elaborazione. Esempio per l'embedder DINOv3:

    # C:\Sambha2\ai\config\dinov3_embedder_service.env (estratto)
    EMBEDDER_PORT=50056
    MODEL_PATH=models\vit_large_patch16_dinov3.pth
    # elaborazioni contemporanee sulla GPU: alzarlo aumenta la VRAM usata
    GPU_MAX_CONCURRENCY=1

    Applicazione web. In C:\Sambha2\web\config\instance-config.yaml, nella sezione searchEngines, ogni motore AI deve indicare host e porta del proprio servizio. Indicate sempre la porta in modo esplicito, uguale a quella del file .env.

    # C:\Sambha2\web\config\instance-config.yaml (estratto)
    searchEngines:
    - name: "DINOv3"
      jsonConfig: '{ "rpcServer": "localhost", "rpcPort": 50056 }'
      enabled: true

    Licenza. La licenza viene fornita da Soltea insieme alle indicazioni per attivarla.

  4. 04

    Avvio come servizio

    I servizi partono da soli all'avvio di Windows. Per avviarli la prima volta, prima i motori AI e poi l'applicazione web:

    sc start Sambha2DinoV3EmbedderService
    sc start Sambha2SiamesaNetService
    sc start Sambha2RansacComparatorService
    sc start Sambha2WebService

    Il primo caricamento dei modelli DINOv3 può essere lento. Se il servizio resta in stato «Starting», aumentate --StartTimeout (predefinito 30 secondi) nello script di installazione e rieseguitelo.

  5. 05

    Verifica del funzionamento

    Controllate che i servizi siano in esecuzione e che le porte rispondano:

    sc query Sambha2WebService
    sc query Sambha2DinoV3EmbedderService
    
    powershell Test-NetConnection -ComputerName localhost -Port 50056
    powershell Test-NetConnection -ComputerName localhost -Port 8080
    • Aprite http://localhost:8080 nel browser del server: deve comparire Sambha2.
    • I log sono nelle cartelle logs di web e ai; se un servizio si ferma subito, guardate il file *-stderr.*.log.
    • Con GPU, il log dell'embedder DINOv3 riporta CUDA is available, using GPU.; senza GPU riporta CUDA is not available, using CPU.
  6. 06

    Aggiornamento

    Fermate i servizi, sostituite i file della nuova versione e riavviate. Prima di aggiornare conviene copiare la cartella data dell'applicazione web: all'avvio la nuova versione aggiorna lo schema del database.

    sc stop Sambha2WebService
    sc stop Sambha2DinoV3EmbedderService
    sc stop Sambha2SiamesaNetService
    sc stop Sambha2RansacComparatorService
    
    rem motori AI: sostituire *.exe, _internal\ e models\ (e i .env in config\ se cambiati)
    rem applicazione web: sostituire Sambha2Web.war
    
    sc start Sambha2DinoV3EmbedderService
    sc start Sambha2SiamesaNetService
    sc start Sambha2RansacComparatorService
    sc start Sambha2WebService

    Gli script di installazione vanno rieseguiti solo se cambiano percorsi, nomi degli eseguibili o parametri dei servizi.

Licenza e supporto

Licenza, installazione assistita e supporto

Per la licenza di Sambha2, per un'installazione assistita sul vostro server o per qualsiasi dubbio tecnico contattate Soltea.

Contatta Soltea