Predict an action on a temporary state
Predicts the next action on the tracker state as it is posted to this endpoint. Rasa will create a temporary tracker from the provided events and will use it to predict an action. No messages will be sent and no action will be run.
curl --request POST \
--url 'http://localhost:5005/model/predict?token=' \
--header 'Content-Type: application/json' \
--data '
[
{
"event": "user",
"timestamp": 1774447464.622012,
"metadata": {
"session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905",
"model_id": "80687713793f4d07957e8e51f73df866",
"assistant_id": "my-assistant"
},
"text": "<string>",
"input_channel": "<string>",
"message_id": "<string>",
"anonymized_at": "<string>"
}
]
'import requests
url = "http://localhost:5005/model/predict?token="
payload = [
{
"event": "user",
"timestamp": 1774447464.622012,
"metadata": {
"session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905",
"model_id": "80687713793f4d07957e8e51f73df866",
"assistant_id": "my-assistant"
},
"text": "<string>",
"input_channel": "<string>",
"message_id": "<string>",
"anonymized_at": "<string>"
}
]
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify([
{
event: 'user',
timestamp: 1774447464.622012,
metadata: {
session_id: 'eed351b9-a996-4bb8-83ea-1d18e7cd4905',
model_id: '80687713793f4d07957e8e51f73df866',
assistant_id: 'my-assistant'
},
text: '<string>',
input_channel: '<string>',
message_id: '<string>',
anonymized_at: '<string>'
}
])
};
fetch('http://localhost:5005/model/predict?token=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "5005",
CURLOPT_URL => "http://localhost:5005/model/predict?token=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
[
'event' => 'user',
'timestamp' => 1774447464.622012,
'metadata' => [
'session_id' => 'eed351b9-a996-4bb8-83ea-1d18e7cd4905',
'model_id' => '80687713793f4d07957e8e51f73df866',
'assistant_id' => 'my-assistant'
],
'text' => '<string>',
'input_channel' => '<string>',
'message_id' => '<string>',
'anonymized_at' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:5005/model/predict?token="
payload := strings.NewReader("[\n {\n \"event\": \"user\",\n \"timestamp\": 1774447464.622012,\n \"metadata\": {\n \"session_id\": \"eed351b9-a996-4bb8-83ea-1d18e7cd4905\",\n \"model_id\": \"80687713793f4d07957e8e51f73df866\",\n \"assistant_id\": \"my-assistant\"\n },\n \"text\": \"<string>\",\n \"input_channel\": \"<string>\",\n \"message_id\": \"<string>\",\n \"anonymized_at\": \"<string>\"\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:5005/model/predict?token=")
.header("Content-Type", "application/json")
.body("[\n {\n \"event\": \"user\",\n \"timestamp\": 1774447464.622012,\n \"metadata\": {\n \"session_id\": \"eed351b9-a996-4bb8-83ea-1d18e7cd4905\",\n \"model_id\": \"80687713793f4d07957e8e51f73df866\",\n \"assistant_id\": \"my-assistant\"\n },\n \"text\": \"<string>\",\n \"input_channel\": \"<string>\",\n \"message_id\": \"<string>\",\n \"anonymized_at\": \"<string>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:5005/model/predict?token=")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"event\": \"user\",\n \"timestamp\": 1774447464.622012,\n \"metadata\": {\n \"session_id\": \"eed351b9-a996-4bb8-83ea-1d18e7cd4905\",\n \"model_id\": \"80687713793f4d07957e8e51f73df866\",\n \"assistant_id\": \"my-assistant\"\n },\n \"text\": \"<string>\",\n \"input_channel\": \"<string>\",\n \"message_id\": \"<string>\",\n \"anonymized_at\": \"<string>\"\n }\n]"
response = http.request(request)
puts response.read_body{
"scores": [
{
"action": "utter_greet",
"score": 1
}
],
"policy": "policy_2_TEDPolicy",
"confidence": 0.057,
"tracker": {
"sender_id": "default",
"user_id": "usr_a1b2c3d4e5f6",
"current_session_id": "4b3c1e2a-91f0-4d8e-b123-abc123def456",
"slots": [
{
"slot_name": "slot_value"
}
],
"latest_message": {
"text": "Hello!",
"entities": [
{
"start": 123,
"end": 123,
"value": "<string>",
"entity": "<string>",
"confidence": 123
}
],
"intent": {
"confidence": 0.6323,
"name": "greet"
},
"intent_ranking": [
{
"confidence": 0.6323,
"name": "greet"
}
],
"message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
"metadata": {},
"commands": [
{
"command": "start flow",
"flow": "transfer_money"
}
],
"flows_from_semantic_search": [
[
"transfer_money"
]
],
"flows_in_prompt": [
"transfer_money"
]
},
"latest_event_time": 1537645578.314389,
"followup_action": "<string>",
"paused": false,
"stack": [
{
"frame_id": "8UJPHH5C",
"flow_id": "transfer_money",
"step_id": "START",
"frame_type": "regular",
"type": "flow"
}
],
"events": [
{
"event": "user",
"timestamp": 1774447464.622012,
"metadata": {
"session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905",
"model_id": "80687713793f4d07957e8e51f73df866",
"assistant_id": "my-assistant"
},
"text": "<string>",
"input_channel": "<string>",
"message_id": "<string>",
"parse_data": {
"text": "Hello!",
"entities": [
{
"start": 123,
"end": 123,
"value": "<string>",
"entity": "<string>",
"confidence": 123
}
],
"intent": {
"confidence": 0.6323,
"name": "greet"
},
"intent_ranking": [
{
"confidence": 0.6323,
"name": "greet"
}
],
"message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
"metadata": {},
"commands": [
{
"command": "start flow",
"flow": "transfer_money"
}
],
"flows_from_semantic_search": [
[
"transfer_money"
]
],
"flows_in_prompt": [
"transfer_money"
]
},
"anonymized_at": "<string>"
}
],
"latest_input_channel": "rest",
"latest_action_name": "action_listen",
"latest_action": {
"action_name": "<string>",
"action_text": "<string>"
},
"active_loop": {
"name": "restaurant_form"
}
}
}{
"version": "1.0.0",
"status": "failure",
"reason": "BadRequest",
"code": 400
}{
"version": "1.0.0",
"status": "failure",
"reason": "NotAuthenticated",
"message": "User is not authenticated to access resource.",
"code": 401
}{
"version": "1.0.0",
"status": "failure",
"reason": "NotAuthorized",
"message": "User has insufficient permission to access resource.",
"code": 403
}{
"version": "1.0.0",
"status": "failure",
"reason": "Conflict",
"message": "The request conflicts with the currently loaded model.",
"code": 409
}{
"version": "1.0.0",
"status": "ServerError",
"message": "An unexpected error occurred.",
"code": 500
}Authorizations
A plaintext token to secure your server, specified at startup in the argument --auth-token thisismysecret
Query Parameters
Specify which events of the tracker the response should contain.
-
ALL- every logged event. -
APPLIED- only events that contribute to the trackers state. This excludes reverted utterances and actions that got undone. -
AFTER_RESTART- all events since the lastrestartedevent. This includes utterances that got reverted and actions that got undone. -
NONE- no events.
ALL, APPLIED, AFTER_RESTART, NONE Body
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
- Option 12
- Option 13
- Option 14
- Option 15
- Option 16
- Option 17
- Option 18
- Option 19
- Option 20
- Option 21
- Option 22
- Option 23
- Option 24
- Option 25
- Option 26
Event for incoming user message.
Event name
user "user"
Unix timestamp (float) of when the event was applied.
1774447464.622012
Arbitrary metadata attached to the event by the channel or model, e.g. session_id, model_id, assistant_id, model_name.
{
"session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905",
"model_id": "80687713793f4d07957e8e51f73df866",
"assistant_id": "my-assistant"
}
Text of user message.
NLU parser information. If set, message will not be passed through NLU, but instead this parsing information will be used.
Show child attributes
Show child attributes
ISO 8601 timestamp of when PII in this event was anonymized, or null if the event has not been anonymized.
Response
Success
curl --request POST \
--url 'http://localhost:5005/model/predict?token=' \
--header 'Content-Type: application/json' \
--data '
[
{
"event": "user",
"timestamp": 1774447464.622012,
"metadata": {
"session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905",
"model_id": "80687713793f4d07957e8e51f73df866",
"assistant_id": "my-assistant"
},
"text": "<string>",
"input_channel": "<string>",
"message_id": "<string>",
"anonymized_at": "<string>"
}
]
'import requests
url = "http://localhost:5005/model/predict?token="
payload = [
{
"event": "user",
"timestamp": 1774447464.622012,
"metadata": {
"session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905",
"model_id": "80687713793f4d07957e8e51f73df866",
"assistant_id": "my-assistant"
},
"text": "<string>",
"input_channel": "<string>",
"message_id": "<string>",
"anonymized_at": "<string>"
}
]
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify([
{
event: 'user',
timestamp: 1774447464.622012,
metadata: {
session_id: 'eed351b9-a996-4bb8-83ea-1d18e7cd4905',
model_id: '80687713793f4d07957e8e51f73df866',
assistant_id: 'my-assistant'
},
text: '<string>',
input_channel: '<string>',
message_id: '<string>',
anonymized_at: '<string>'
}
])
};
fetch('http://localhost:5005/model/predict?token=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "5005",
CURLOPT_URL => "http://localhost:5005/model/predict?token=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
[
'event' => 'user',
'timestamp' => 1774447464.622012,
'metadata' => [
'session_id' => 'eed351b9-a996-4bb8-83ea-1d18e7cd4905',
'model_id' => '80687713793f4d07957e8e51f73df866',
'assistant_id' => 'my-assistant'
],
'text' => '<string>',
'input_channel' => '<string>',
'message_id' => '<string>',
'anonymized_at' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:5005/model/predict?token="
payload := strings.NewReader("[\n {\n \"event\": \"user\",\n \"timestamp\": 1774447464.622012,\n \"metadata\": {\n \"session_id\": \"eed351b9-a996-4bb8-83ea-1d18e7cd4905\",\n \"model_id\": \"80687713793f4d07957e8e51f73df866\",\n \"assistant_id\": \"my-assistant\"\n },\n \"text\": \"<string>\",\n \"input_channel\": \"<string>\",\n \"message_id\": \"<string>\",\n \"anonymized_at\": \"<string>\"\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:5005/model/predict?token=")
.header("Content-Type", "application/json")
.body("[\n {\n \"event\": \"user\",\n \"timestamp\": 1774447464.622012,\n \"metadata\": {\n \"session_id\": \"eed351b9-a996-4bb8-83ea-1d18e7cd4905\",\n \"model_id\": \"80687713793f4d07957e8e51f73df866\",\n \"assistant_id\": \"my-assistant\"\n },\n \"text\": \"<string>\",\n \"input_channel\": \"<string>\",\n \"message_id\": \"<string>\",\n \"anonymized_at\": \"<string>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:5005/model/predict?token=")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"event\": \"user\",\n \"timestamp\": 1774447464.622012,\n \"metadata\": {\n \"session_id\": \"eed351b9-a996-4bb8-83ea-1d18e7cd4905\",\n \"model_id\": \"80687713793f4d07957e8e51f73df866\",\n \"assistant_id\": \"my-assistant\"\n },\n \"text\": \"<string>\",\n \"input_channel\": \"<string>\",\n \"message_id\": \"<string>\",\n \"anonymized_at\": \"<string>\"\n }\n]"
response = http.request(request)
puts response.read_body{
"scores": [
{
"action": "utter_greet",
"score": 1
}
],
"policy": "policy_2_TEDPolicy",
"confidence": 0.057,
"tracker": {
"sender_id": "default",
"user_id": "usr_a1b2c3d4e5f6",
"current_session_id": "4b3c1e2a-91f0-4d8e-b123-abc123def456",
"slots": [
{
"slot_name": "slot_value"
}
],
"latest_message": {
"text": "Hello!",
"entities": [
{
"start": 123,
"end": 123,
"value": "<string>",
"entity": "<string>",
"confidence": 123
}
],
"intent": {
"confidence": 0.6323,
"name": "greet"
},
"intent_ranking": [
{
"confidence": 0.6323,
"name": "greet"
}
],
"message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
"metadata": {},
"commands": [
{
"command": "start flow",
"flow": "transfer_money"
}
],
"flows_from_semantic_search": [
[
"transfer_money"
]
],
"flows_in_prompt": [
"transfer_money"
]
},
"latest_event_time": 1537645578.314389,
"followup_action": "<string>",
"paused": false,
"stack": [
{
"frame_id": "8UJPHH5C",
"flow_id": "transfer_money",
"step_id": "START",
"frame_type": "regular",
"type": "flow"
}
],
"events": [
{
"event": "user",
"timestamp": 1774447464.622012,
"metadata": {
"session_id": "eed351b9-a996-4bb8-83ea-1d18e7cd4905",
"model_id": "80687713793f4d07957e8e51f73df866",
"assistant_id": "my-assistant"
},
"text": "<string>",
"input_channel": "<string>",
"message_id": "<string>",
"parse_data": {
"text": "Hello!",
"entities": [
{
"start": 123,
"end": 123,
"value": "<string>",
"entity": "<string>",
"confidence": 123
}
],
"intent": {
"confidence": 0.6323,
"name": "greet"
},
"intent_ranking": [
{
"confidence": 0.6323,
"name": "greet"
}
],
"message_id": "b2831e73-1407-4ba0-a861-0f30a42a2a5a",
"metadata": {},
"commands": [
{
"command": "start flow",
"flow": "transfer_money"
}
],
"flows_from_semantic_search": [
[
"transfer_money"
]
],
"flows_in_prompt": [
"transfer_money"
]
},
"anonymized_at": "<string>"
}
],
"latest_input_channel": "rest",
"latest_action_name": "action_listen",
"latest_action": {
"action_name": "<string>",
"action_text": "<string>"
},
"active_loop": {
"name": "restaurant_form"
}
}
}{
"version": "1.0.0",
"status": "failure",
"reason": "BadRequest",
"code": 400
}{
"version": "1.0.0",
"status": "failure",
"reason": "NotAuthenticated",
"message": "User is not authenticated to access resource.",
"code": 401
}{
"version": "1.0.0",
"status": "failure",
"reason": "NotAuthorized",
"message": "User has insufficient permission to access resource.",
"code": 403
}{
"version": "1.0.0",
"status": "failure",
"reason": "Conflict",
"message": "The request conflicts with the currently loaded model.",
"code": 409
}{
"version": "1.0.0",
"status": "ServerError",
"message": "An unexpected error occurred.",
"code": 500
}