Class: DatadogAPIClient::V2::AIGuardAPI
- Inherits:
-
Object
- Object
- DatadogAPIClient::V2::AIGuardAPI
- Defined in:
- lib/datadog_api_client/v2/api/ai_guard_api.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Returns the value of attribute api_client.
Instance Method Summary collapse
-
#evaluate_ai_guard_request(body, opts = {}) ⇒ Object
Evaluate an AI Guard request.
-
#evaluate_ai_guard_request_with_http_info(body, opts = {}) ⇒ Array<(AIGuardEvaluateResponse, Integer, Hash)>
Evaluate an AI Guard request.
-
#initialize(api_client = DatadogAPIClient::APIClient.default) ⇒ AIGuardAPI
constructor
A new instance of AIGuardAPI.
Constructor Details
#initialize(api_client = DatadogAPIClient::APIClient.default) ⇒ AIGuardAPI
Returns a new instance of AIGuardAPI.
22 23 24 |
# File 'lib/datadog_api_client/v2/api/ai_guard_api.rb', line 22 def initialize(api_client = DatadogAPIClient::APIClient.default) @api_client = api_client end |
Instance Attribute Details
#api_client ⇒ Object
Returns the value of attribute api_client.
20 21 22 |
# File 'lib/datadog_api_client/v2/api/ai_guard_api.rb', line 20 def api_client @api_client end |
Instance Method Details
#evaluate_ai_guard_request(body, opts = {}) ⇒ Object
Evaluate an AI Guard request.
29 30 31 32 |
# File 'lib/datadog_api_client/v2/api/ai_guard_api.rb', line 29 def evaluate_ai_guard_request(body, opts = {}) data, _status_code, _headers = evaluate_ai_guard_request_with_http_info(body, opts) data end |
#evaluate_ai_guard_request_with_http_info(body, opts = {}) ⇒ Array<(AIGuardEvaluateResponse, Integer, Hash)>
Evaluate an AI Guard request.
Analyzes a conversation for security threats such as prompt injection,
jailbreak attempts, and other AI-specific attacks. Returns an action
recommendation (ALLOW, DENY, or ABORT) along with the detected threat
tags and their confidence scores.
AI Guard must be activated for the organization, and the calling user or
application key requires the ai_guard_evaluate permission. The action is a
recommendation for the caller to enforce: ALLOW permits the interaction,
DENY blocks the interaction, and ABORT terminates the workflow.
This endpoint is rate limited to 700 requests per minute per organization.
Organization token limits can also result in a 429 response.
Malformed messages return a 400 response. Requests exceeding the raw-input
limit of 1,000,000 tokens return a 413 response; this limit applies to the
input context, not only the size of the HTTP request body.
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/datadog_api_client/v2/api/ai_guard_api.rb', line 53 def evaluate_ai_guard_request_with_http_info(body, opts = {}) unstable_enabled = @api_client.config.unstable_operations["v2.evaluate_ai_guard_request".to_sym] if unstable_enabled @api_client.config.logger.warn format("Using unstable operation '%s'", "v2.evaluate_ai_guard_request") else raise DatadogAPIClient::APIError.new(message: format("Unstable operation '%s' is disabled", "v2.evaluate_ai_guard_request")) end if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: AIGuardAPI.evaluate_ai_guard_request ...' end # verify the required parameter 'body' is set if @api_client.config.client_side_validation && body.nil? fail ArgumentError, "Missing the required parameter 'body' when calling AIGuardAPI.evaluate_ai_guard_request" end # resource path local_var_path = '/api/v2/ai-guard/evaluate' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # HTTP header 'Content-Type' header_params['Content-Type'] = @api_client.select_header_content_type(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] || @api_client.object_to_http_body(body) # return_type return_type = opts[:debug_return_type] || 'AIGuardEvaluateResponse' # auth_names auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] = opts.merge( :operation => :evaluate_ai_guard_request, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type, :api_version => "V2" ) data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: AIGuardAPI#evaluate_ai_guard_request\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |