Overview
NemoEntitystore enables you to:- Store fine-tuned LoRA adapters
- Serve adapters to NIM instances via HTTP API
- Version and track adapter metadata
- Enable multi-tenant model serving
- Integrate with NemoCustomizer for automatic adapter upload
- Support dynamic adapter loading in NIM
When to Use NemoEntitystore
Multi-Tenant Serving
Serve customer-specific adapters from a single NIM instance
Adapter Versioning
Track and manage different versions of fine-tuned models
A/B Testing
Deploy multiple adapter versions and route traffic
Cost Optimization
Share base model infrastructure across tenants
Architecture
NemoEntitystore bridges NemoCustomizer training and NIM serving:Configuration
Complete Example
Key Configuration Fields
NemoDatastore endpoint for storing adapter files.
HTTP URL to NemoDatastore service.
PostgreSQL database configuration for adapter metadata and versioning.
Version of the entity-store image. Should match your NemoCustomizer version.
Integration with Services
NemoDatastore Integration
Entitystore uses Datastore to persist adapter files:- Version control of adapters
- Efficient storage with deduplication
- Access via Git or HTTP
NemoCustomizer Integration
Customizer automatically uploads trained adapters:- Packaged with metadata
- Uploaded to Entitystore
- Registered in the database
- Available for NIM to load
NIM Integration
Configure NIM to poll Entitystore for adapters:NIM polls Entitystore at the specified interval and automatically loads new adapters.
API Usage
List Adapters
Get Adapter Details
Upload Adapter (Manual)
Typically done by NemoCustomizer, but can be manual:Delete Adapter
Adapter Lifecycle
Registration
Entitystore:
- Stores adapter files in NemoDatastore
- Registers metadata in PostgreSQL
- Validates adapter compatibility
Using Adapters in NIM
Request with Adapter
Specify adapter in the request:List Loaded Adapters in NIM
Database Schema
Entitystore uses PostgreSQL to track:- Adapter metadata (name, version, base model)
- Training provenance (job ID, dataset, hyperparameters)
- Storage locations (Datastore repository, file paths)
- Status (ready, uploading, failed)
- Access logs (who/when accessed)
Best Practices
Adapter Management
Adapter Management
- Use semantic versioning (v1.0.0, v1.1.0)
- Include metadata about training data and purpose
- Test adapters before making them available
- Archive old versions rather than deleting
Performance
Performance
- Monitor adapter cache hit rates in NIM
- Adjust
NIM_MAX_GPU_LORASbased on GPU memory - Use faster storage for frequently accessed adapters
- Pre-load commonly used adapters
Multi-Tenancy
Multi-Tenancy
- Use adapter naming conventions (tenant-purpose-version)
- Implement access control if needed
- Monitor adapter usage per tenant
- Set resource quotas for adapter storage
Production Deployment
Production Deployment
- Run multiple replicas for HA
- Backup PostgreSQL regularly
- Monitor Datastore storage capacity
- Implement adapter approval workflows
Monitoring
Key Metrics
- Number of registered adapters
- Adapter upload/download rates
- Storage usage in Datastore
- NIM adapter cache statistics
- API request latency
Health Checks
Troubleshooting
Adapter Upload Fails
Adapter Upload Fails
Check:
- NemoDatastore is accessible
- Database connection is healthy
- Adapter file format is correct
- Storage quota not exceeded
NIM Not Loading Adapters
NIM Not Loading Adapters
Verify:
NIM_PEFT_SOURCEpoints to Entitystore- Adapter is marked as “ready” in database
- NIM has network access to Entitystore and Datastore
- Adapter is compatible with base model
Database Migration Fails
Database Migration Fails
Solutions:
- Check init container logs
- Verify PostgreSQL version compatibility
- Ensure database user has proper permissions
- Check if database already exists
Advanced Usage
Adapter Metadata Schema
Adapters support rich metadata:Adapter Approval Workflow
Implement approval before serving:- Adapter uploaded with status “pending”
- Review adapter quality and metrics
- Approve via API:
PATCH /v1/adapters/{id}with{"status": "ready"} - NIM only loads adapters with status “ready”
Next Steps
Train Adapters
Fine-tune models with NemoCustomizer
Serve with NIM
Configure NIM for dynamic adapter loading
Setup Datastore
Configure adapter file storage
API Reference
Detailed API documentation