System Messages#
Overview#
The SystemMessageInterceptor
modifies incoming requests to include custom system messages. This interceptor works with chat-format requests, replacing any existing system messages with the configured message.
Tip
Add Request Logging Interceptor to your interceptor chain to verify if your requests are modified correctly.
Configuration#
CLI Configuration#
--overrides 'target.api_endpoint.adapter_config.use_system_prompt=True,target.api_endpoint.adapter_config.custom_system_prompt="You are a helpful assistant."'
YAML Configuration#
target:
api_endpoint:
adapter_config:
interceptors:
- name: system_message
config:
system_message: "You are a helpful AI assistant."
- name: "endpoint"
enabled: true
config: {}
Configuration Options#
Parameter |
Description |
Type |
Required |
---|---|---|---|
|
System message to add to requests |
str |
Yes |
Behavior#
The interceptor modifies chat-format requests by:
Removing any existing system messages from the messages array
Inserting the configured system message as the first message
Preserving all other request parameters
Example Request Transformation#
# Original request
{
"messages": [
{"role": "user", "content": "What is 2+2?"}
]
}
# After system message interceptor
{
"messages": [
{"role": "system", "content": "You are a helpful AI assistant."},
{"role": "user", "content": "What is 2+2?"}
]
}
If an existing system message is present, the interceptor replaces it:
# Original request with existing system message
{
"messages": [
{"role": "system", "content": "Old system message"},
{"role": "user", "content": "What is 2+2?"}
]
}
# After system message interceptor
{
"messages": [
{"role": "system", "content": "You are a helpful AI assistant."},
{"role": "user", "content": "What is 2+2?"}
]
}