POST
/
rest
/
track-request

Track request allows you to send your LLM request to our platform. On success, this request will return a request_id which is necessary for track-score

Logging OpenAI Requests

You can use the following scripts to log requests made to OpenAI’s API. This will help you to track the request and response of the API.

Chat
import requests

# URL and headers
url = "http://api.promptlayer.com/track-request"
headers = {
    "Content-Type": "application/json",
}

# Data payload
data_payload = {
    "function_name": "openai.ChatCompletion.create",
    "kwargs": {
        "messages": [
            {
              "content": "You are a helpful AI assistant.",
              "role": "system"
            },
            {
              "content": "What's the weather like in Boston?",
              "role": "user"
            }
        ],
        "model": "gpt-3.5-turbo-16k",
        "function_call": "auto",
        "tools": [{
          "type": "function",
          "function": {
            "description": "Get the current weather in a given location",
            "name": "get_current_weather",
            "parameters": {
              "properties": {
                "location": {
                  "description": "The city and state, e.g. San Francisco, CA",
                  "type": "string"
                },
                "unit": {
                  "enum": [
                    "celsius",
                    "fahrenheit"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "location"
              ],
              "type": "object"
            }
          }
        }]
    },
    "request_response": {
        "choices": [
            {
                "index": 0,
                "message": {
                      "content": "",
                      "function_call": {
                        "arguments": "{\n\"location\": \"Boston, MA\"\n}",
                        "name": "get_current_weather"
                      },
                      "role": "assistant"
                    },
                "finish_reason": "function_call"
            }
        ],
        "usage": {
            "prompt_tokens": 778,
            "completion_tokens": 28,
            "total_tokens": 806
        }
    },
    "tags": [
        "docs"
    ],
    "request_start_time": 1693505089.21,
    "request_end_time": 1693505093.572,
    "api_key": "pl_<YOUR_API_KEY>"
}

# Making the request
response = requests.post(url, headers=headers, json=data_payload)
print(response.json())
Completion
import requests

# URL and headers
url = "http://api.promptlayer.com/track-request"
headers = {
    "Content-Type": "application/json",
}

# Data payload
data_payload = {
    "function_name": "openai.Completion.create",
    "kwargs": {"engine": "text-ada-001", "prompt": "My name is"},
    "tags": ["hello", "world"],
    "request_response": {
        "id": "cmpl-6TEeJCRVlqQSQqhD8CYKd1HdCcFxM", 
        "object": "text_completion", 
        "created": 1672425843, 
        "model": "text-ada-001", 
        "choices": [
            {
                "text": " PromptLayer\"\n\nI'm a great prompt engineering tool.", 
                "index": 0, 
                "logprobs": None, 
                "finish_reason": "stop"
            }
        ]
    },
    "request_start_time": 1673987077.463504,
    "request_end_time": 1673987077.463504,
    "api_key": "pl_<YOUR_API_KEY>",
}

# Making the request
response = requests.post("https://api.promptlayer.com/rest/track-request", json=data_payload)
print(response.json())

Logging Google Requests

You can use the following scripts to log requests made to Google’s Gemini API. This will help you to track the request and response of the API.

You can get GOOGLE_API_KEY from here

Body

application/json
function_name
string
required

The name of the function. For example, if you are using OpenAI it should be either openai.Completion.create or openai.ChatCompletion.create. These are specific function signatures that PromptLayer uses to parse the request_response. Some integration libraries use special function_name's such as langchain.PromptLayerChatOpenAI.

kwargs
object
required

Keyword arguments that are passed into the LLM (such as OpenAI's API). Normally it should include engine and prompt at the very least. If you are using a chat completion or GPT-4, it should include messages instead of prompt.

request_response
object
required

The LLM response. This response must be formatted exactly in OpenAI's response format.

request_start_time
integer
required

The time at which the LLM request was initiated.

request_end_time
integer
required

The time at which the LLM request was completed.

api_key
string
required

The API key for authentication.

tags
string[]

An array of string tags to tag this request on the PromptLayer dashboard.

prompt_id
string

The ID of the prompt in the PromptLayer Registry that you used for this request (see /prompt-templates/{identifier} on how to get this id or you can get it from the URL in the dashboard).

prompt_input_variables
object

The input variables you used for a template. This is used for syntax highlighting and, more importantly used, for backtesting when you want to iterate a prompt.

prompt_version
integer

It is the version of the prompt that you are trying to track. This should be an integer of a prompt that you are tracking.

group_id
integer

The ID of the group that you want to associate with this request. This is useful for tracking requests that are part of a group, such as a conversation or a session.

return_prompt_blueprint
boolean

If you want to return the data that is associated with the request, set this to true. This will return the request_id and the request data.

Response

200 - application/json
success
boolean
required
message
string
required
request_id
integer
required

The unique identifier for the tracked request.

prompt_blueprint
object

The prompt blueprint that was used for this request.