Ebbot GPT API
Last updated
Last updated
Welcome to the Ebbot GPT API documentation. Our API offers seamless integration of service-optimized Large Language Models (LLMs) and Knowledge Management tools into your applications. With Ebbot GPT, you can harness sophisticated text generation capabilities and enhance your systems with cutting-edge AI technology. Explore our documentation to learn how to integrate and leverage the full potential of Ebbot GPT in your projects.
If you just want the open API documentation you can see it here:
To make requests to the API, you will need an API key. To obtain one, please request access by filling out this form.
A tenant is required for many requests. Tenants help separate token usage and datasets between different users. Typically, you’ll only need one tenant, but multiple tenants can be used if your business case requires it. Tenants are tied to your API key, ensuring your data remains secure.
ExternalId: The ID you chose when creating the tenant.
Auth: Authentication is done with a bearer token in the authorization header.
Example: "Authorization: Bearer MyAPIKey123"
To list the available models:
Tenants are automatically created when a request with an unknown tenant is made. If you want to manually create a tenant then use this:
(Replace externalId with the id you want to add)
To list the tenants you have created:
A response could look like this:
You are able to create an API key for a tenant if you wish. The tenant is able with the key to: list models, create completions and get usage. If you want to create one you can do it like this:
A response could look like this:
Make sure you save the API key as it will only be shown once!
If you want to add some rate limit rules to the key you can add these as a query parameter:
concurrent
integer
How many requests can be made at the same time per minute.
tokenAllowance
integer
How many tokens can be used per minute.
If you want to list the API keys a tenant has you can use:
A response might look like this:
To be able to revoke a tenant API key you can do it like this:
This is where the magic happens. This is where you get a response from the bot. Here is a simple request with the bare necessities:
A response might look like this:
Request parameters
The following table describes the various parameters you can use when configuring your request. These parameters control different aspects of the response generation and the overall behavior of the API. Each parameter has specific functionality, ranging from controlling randomness in responses to enabling advanced retrieval mechanisms. Understanding these parameters will help you tailor the API's output to better meet your needs and ensure that you can leverage all available features effectively.
top_p
float
Top-p filtering selects words with the highest probability that cumulatively reach a set threshold, ensuring diverse and unpredictable text generation. (Alternative to temperature)
temperature
float
Controls the randomness of the response. Higher values make the output more random.
seed
integer
Attempts to make the answer deterministic.
maxTokens
integer
Maximum number of tokens used in the answer.
contentGuard
boolean
Flags inappropriate content by user and bot (e.g., sexual content, violence).
promptGuard
boolean
Flags if user trying is trying alter the bots behavior.
rag
object
Retrieval Augmented Generation (embedder)
rag.output
string
Placeholder for the word that will be replaced by the response from the embedder in the system prompt (e.g., {documents}
)
rag.dataSetId
string (UUID)
The ID of the dataset that should be used.
rag.returnSources
boolean
If the sources of the datasets should be returned.
rag.searchDefinitions
array
List of search definitions.
rag.searchDefinitions.rnrK
integer
Retrieve and rerank involves first pulling relevant information from a large dataset and then sorting it by importance or relevance. (Experimental)
rag.searchDefinitions.topK
number
Selects the top 'K' items from a list based on the highest scores or most relevance.
rag.searchDefinitions.numberOfMessages
integer
Number of messages to use from the conversation.
rag.searchDefinitions.filter
string
Filters based on specific roles (user, assistant, both).
model
string
The model to be used for the request.
messages
array
The conversation history.
messages[].content
string
The content of the message.
messages[].role
enum
Who sent the message (e.g., system
, user
, assistant
).
When you have gotten a completion you can add the response from the bot to the array of messages and then continue the conversation with your user input. It could look like this:
To get the token usage between two dates:
The response might look something like this: