Skip to main content
In this section, we will guide you on how to start chatting with your chatbot using the GPT-trainer API. Before you begin, please ensure you meet the following prerequisites:

Prerequisites

  • An API key for accessing the GPT-trainer API.
  • A development environment or tool for making HTTP requests, such as Curl or a programming language like Python.
Please note that to chat on specific topics, your chatbot needs to have relevant data sources uploaded.

Start with creating a chat session

Why Create a Chat Session?

Before sending messages to the chatbot, it’s essential to create a chat session. A chat session acts as a container that holds all the messages exchanged between you and the chatbot. Here’s why creating a chat session is necessary:
  1. Message Context: A chat session allows you to maintain context throughout a conversation. It ensures that the chatbot understands the context of your questions or statements.
  2. Order of Messages: The chat session helps in maintaining the order of messages. This is crucial for having meaningful and coherent conversations with the chatbot.
  3. State Management: The chat session allows you to manage the state of the conversation. You can continue a conversation seamlessly by referencing the same session UUID.

Create a chat session

To create a chat session, you need to use a POST request to the API endpoint: https://app.gpt-trainer.com/api/v1/chatbot/{chatbot_uuid}/session/create.
Make sure to replace {chatbot_uuid} with the UUID of your chatbot.

Example Request

Here’re example command to create a chatbot using the GPT-trainer API:
Replace token with your actual API key.
curl --location --request POST 'https://app.gpt-trainer.com/api/v1/chatbot/{chatbot_uuid}/session/create' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
import requests

url = 'https://app.gpt-trainer.com/api/v1/chatbot/{chatbot_uuid}/session/create'
headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <token>'
}


response = requests.post(url,  headers=headers, params=params)

if response.status_code == 200:
    print("Request successful!")
    print(response.json())
else:
    print("Request failed with status code:", response.status_code)
    print(response.text)
const axios = require("axios");

const url =
  "https://app.gpt-trainer.com/api/v1/chatbot/{chatbot_uuid}/session/create";
const headers = {
  "Content-Type": "application/json",
  Authorization: "Bearer <token>",
};

axios
  .post(url, { headers, params })
  .then((response) => {
    console.log("Request successful!");
    console.log(response.data);
  })
  .catch((error) => {
    console.error("Request failed:", error);
  });
This API request returns JSON data that you can reuse to send messages:
{
  "created_at": "string",
  "modified_at": "string",
  "uuid": "string"
}
The uuid from this response is essential for sending messages within the established chat session. It will be used in the following steps.

Chat Within a Session

Send Messages

With a chat session created, you can now send messages to your chatbot. Use the following API endpoint to send messages and get a streamed AI response:
https://app.gpt-trainer.com/api/v1/session/{session_uuid}/message/stream
Make sure to replace {session_uuid} with the uuid obtained from the chat session creation response

Example Request

Here’re example command to create a message using the GPT-trainer API:
Replace token with your actual API key.
curl --location --request POST 'https://app.gpt-trainer.com/api/v1/session/{session_uuid}/message/stream' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--data-raw '{"query": "Your query goes here"}'
import requests

url = f"https://app.gpt-trainer.com/api/v1/session/{session_uuid}/message/stream"
headers = {
    "Authorization": "Bearer YOUR_ACCESS_TOKEN",
    "Content-Type": "application/json"
}

data = {
    "query": "Your query goes here"
}

response = requests.post(url, headers=headers, json=data, stream=True)

if response.status_code == 200:
    for line in response.iter_lines(decode_unicode=True):
        # Process streaming response here
        print(line + '\n')
else:
    print("Error:", response.status_code)
const xhr = new XMLHttpRequest();
xhr.open(
  "POST",
  `https://app.gpt-trainer.com/api/v1/session/{session_uuid}/message/stream`,
  true
);

xhr.setRequestHeader("Authorization", "Bearer YOUR_ACCESS_TOKEN");
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");

const data = JSON.stringify({ query: "Your query goes here" });

xhr.send(data);

xhr.onprogress = () => {
  const streamingResponse = xhr.responseText;
  console.log(streamingResponse);
};

xhr.onreadystatechange = () => {
  if (xhr.readyState === 4) {
    if (xhr.status === 200) {
      console.log("Streaming completed successfully");
    } else {
      console.error("Error:", xhr.status);
    }
  }
};
That’s it! You’ve now learned how to chat with your own chatbot using the GPT-trainer API.