Installazione di Sambha2
Cosa serve sul server e come installare l'applicazione web e i motori di ricerca AI come servizi Windows.
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.
Requisiti di base Obbligatori
Server
| Sistema operativo | Windows 10, Windows 11 o Windows Server, 64 bit |
|---|---|
| Privilegi | Account amministratore per installare i servizi Windows |
| CPU, RAM e disco | Dipendono 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
| Java | Java 21. Il JDK è incluso nel pacchetto di installazione: non serve installarlo a parte |
|---|---|
| Application server | Nessuno: Spring Boot 3.4 con Tomcat incorporato, avviato come archivio Sambha2Web.war eseguibile |
| Memoria JVM | 512 MB iniziali, massimo 4 GB (-Xms512m -Xmx4096m) |
| Porta | 8080 HTTP (predefinita) |
| Servizio | Servizio Windows tramite Apache Commons Daemon (procrun), incluso nel pacchetto |
Database
| Motore | H2 in modalità file, integrato nell'applicazione web: nessun server di database da installare |
|---|---|
| Schema | Creato e aggiornato automaticamente all'avvio dell'applicazione |
| Dati | Cartella data nella directory dell'applicazione web |
| Database esterno | Per 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.
| Servizio | Funzione | Porta gRPC | GPU |
|---|---|---|---|
| Embedder DINOv3 | Calcola l'impronta visiva delle sezioni e riordina i risultati | 50056 | Accelerato se presente |
| Comparatore SiamesaNet | Confronta le coppie di sezioni con una rete neurale siamese | 50054 | Accelerato se presente |
| Comparatore RANSAC | Verifica l'allineamento geometrico tra le sezioni | 50051 | Non usata |
Rete
| Porta TCP | Uso | Accesso |
|---|---|---|
8080 | Applicazione web (HTTP) | Dai client degli utenti |
50051, 50054, 50056 | Motori 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.
| GPU | NVIDIA con supporto CUDA 12 |
|---|---|
| Driver NVIDIA | Driver aggiornato con supporto CUDA 12.x: i motori AI usano PyTorch 2.8 costruito per CUDA 12.8 |
| CUDA Toolkit e cuDNN | Da non installare a parte: le librerie CUDA e cuDNN usate da PyTorch sono incluse nel pacchetto dei servizi |
| VRAM | Riferimento 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. |
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.
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.
-
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 -
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.batRegistrate 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.batIl servizio dell'applicazione web gira con l'account
NetworkService: deve poter scrivere nelle cartelledataelogsdella sua directory. -
03
Configurazione
Motori AI. Ogni servizio legge il proprio file
.envinC:\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=1Applicazione web. In
C:\Sambha2\web\config\instance-config.yaml, nella sezionesearchEngines, 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: trueLicenza. La licenza viene fornita da Soltea insieme alle indicazioni per attivarla.
-
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 Sambha2WebServiceIl 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. -
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:8080nel browser del server: deve comparire Sambha2. - I log sono nelle cartelle
logsdiwebeai; 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 riportaCUDA is not available, using CPU.
- Aprite
-
06
Aggiornamento
Fermate i servizi, sostituite i file della nuova versione e riavviate. Prima di aggiornare conviene copiare la cartella
datadell'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 Sambha2WebServiceGli script di installazione vanno rieseguiti solo se cambiano percorsi, nomi degli eseguibili o parametri dei servizi.
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