URL Patterns
Smarter installations host multiple URL patterns to serve different parts of the application. The Smarter platform consists of:
Host |
Description |
|---|---|
Web Application |
A web application for Prompt Engineers and system administrators. |
REST API |
A REST API that supports client software including the command-line interface (CLI), the Smarter Chat React UI component, and third-party integrations. |
Sandbox Endpoints |
REST API endpoints for sandbox (undeployed) LLMClients/Agents |
Deployed Endpoints |
REST API endpoints for deployed LLMClient/Agents |
the URL patterns are implements using Django’s URL routing system. For more information on the URL configuration, see smarter/hosts.py.
Example URL Patterns
Here are some example URL patterns for a Smarter installation hosted at platform.example.com:
URL Pattern |
Description |
|---|---|
|
|
|
|
https://platform.example.com/api/v1/llm-clients/1/chat/ |
REST API endpoints for sandbox LLMClients/Agents. |
https://stackademy-api.3141-5926-5359.api.example.com/ |
REST API endpoints for deployed LLMClients/Agents. |
LLMClient/Agents are served by the same Django view logic, regardless of whether they are sandbox or deployed. The difference between the two is as follows:
SSL/TLS certificates management. certificates are independently managed for deployed resources whereas sandbox resources are part of the web platform. Part of the deployment process involves creating a Kubernetes Ingress resource that provisions a TLS certificate for the deployed endpoint. See smarter/apps/llm_client/k8s/ingress.yaml.tpl for implementation details.
Authentication. Deployed resources authenticate via Smarter API keys <./api-keys.html>, whereas sandbox resources authenticate via the Django session cookie.