35.1 A license is not needed
Relatude.DB runs fully without a license. The engine, the admin UI and everything else in this manual work the same with or without one. Nothing expires and nothing is held back. A license only connects an installation to Relatude Services. The license is free; you pay for the credits the hosted services use.
Without an API key, nothing is charged and the installation does not report in. On a server,
db.Services.Imaging, FileToText, Translation and IPLookup point at the hosted services from
the start, but a call throws, saying why, before anything leaves the server. db.Services.AI and
db.Services.SMS exist only when AISettings and SMSSettings are set.
Every service is an interface. Implement it against your own vendor account, a model on your own hardware or any code you like, and name your class in the database's settings (§35.2). The code that calls the service does not change.
| Service | Reached through | Interface | Settings | Paid from |
|---|---|---|---|---|
| Embeddings and completions | db.Services.AI |
IAIProvider |
AISettings |
ai_embeddings, ai_completion |
| Image AI | db.Services.Imaging |
IImagingProvider |
ImagingSettings |
ai_image |
| Files to text, OCR included | db.Services.FileToText |
IFileToTextProvider |
FileToTextSettings |
filetotext |
| Translation | db.Services.Translation |
ITranslationProvider |
TranslationSettings |
translation |
| IP lookup and the bot check | db.Services.IPLookup |
IIPLookupProvider |
IPLookupSettings |
free; the license needs the feature iplookup |
| Text messages | db.Services.SMS |
ISMSProvider |
SMSSettings |
sms |
| Admin UI sign-in with a Relatude account | the login page | none | AllowLicenseeAdminLogin |
free |
The interfaces are in the namespaces Relatude.DB.AI, Relatude.DB.Imaging,
Relatude.DB.FileToText, Relatude.DB.Translation, Relatude.DB.IPLookup and Relatude.DB.SMS.
For embeddings and completions, AISettings also offers the built-in providers AzureAI, OpenAI
(any OpenAI-compatible endpoint, a local Ollama included) and Anthropic
(§12.1). The admin UI always has the
master login as well (§12).
Text messages go through the hosted service when SMSSettings is set:
"SMSSettings": { "TypeName": "RelatudeServices" }var quote = await db.Services.SMS.QuoteAsync("+4712345678", text); // parts and credits; nothing is sent
var receipt = await db.Services.SMS.SendAsync("+4712345678", text);Quote a template before you send it to many people. One character outside the GSM alphabet, such as
a curly quote or an emoji, can double the price. SendBatchAsync sends many messages in one call,
all of them or none.