Concepts

TreeScale App configuration consists of 2 parts.

  1. AI Model configuration
  2. Application API Endpoints configuration

Each configuration step is independent of another, giving flexibility for changing the AI Model or AI Provider without touching existing Application API configuration.

TreeScale Platform has an application configuration versioning, where whenever you publish a new release, we make a new version and keep the old ones in case you want to roll it back at some point. It is also possible to access older version APIs and not worry about publishing something wrong because older versions would still be functional unless you clean them up.

AI Model Configuration

TreeScale Platform supports multiple AI Model providers and self-hosted open-source models. To get started, we automatically select the latest OpenAI Model to give an easy go-to solution for your TreeScale Application testing process.

Each AI Model Provider (including us) has an API Key for authenticating over that and using their AI Model. TreeScale App configuration should set that API Key to be able to execute AI Model for a given provider. We have some helper defaults in place, which should help you get started more effortlessly. For example, select the OpenAI model provider. We will have a key for you set for the initial debugging, which has limitations for not abusing and is impossible to use for production.

Application API Endpoints

API Endpoints are the entry point for using TreeScale Apps, and each endpoint should have a defined request template as a prompt to the target AI Model as an input. The template can contain variables with a format of {variable} which we will automatically extract and validate as a request body. The central concept here is to hide a prompt from the API users and ask ONLY for input variables defined in prompt templates.

For example, if the prompt template is defined like this below for the endpoint /country-population

Respond with many people living in this given country: {country}

Return only a plain number as an integer without additional text or details.

we have a country variable which should be inside a POST Request body to /country-population

Our platform takes care of doing that validations, request/response logging and much more…

Each endpoint can have multiple extensions enabled, like File upload or data input callbacks. Over time we will add more extensions and will enable chaining between prompts and endpoints.

Routing paths are defined using a standard URL routing naming conventions, however, currently it is limited only as a first root level paths like those ones below

Example endpoint paths

POST https://app1.tsapp.dev/country-population
POST https://app1.tsapp.dev/test-endpoint
...
...

All requests have to be with an HTTP POST method and contain the Application API Key that you can find inside application settings page or the Debugging page.

Example request with bearer token

POST https://app1.tsapp.dev/country-population
Authorization: Bearer <api key>

{
   "params": { "country": "USA" }
}