module NewRelic::Agent::Llm::ResponseHeaders
Constants
- ATTRIBUTES
- ATTRIBUTE_NAME_EXCEPTIONS
- OPENAI_ORGANIZATION
- OPENAI_VERSION
- X_RATELIMIT_LIMIT_REQUESTS
- X_RATELIMIT_LIMIT_TOKENS
- X_RATELIMIT_LIMIT_TOKENS_USAGE_BASED
- X_RATELIMIT_REMAINING_REQUESTS
- X_RATELIMIT_REMAINING_TOKENS
- X_RATELIMIT_REMAINING_TOKENS_USAGE_BASED
- X_RATELIMIT_RESET_REQUESTS
- X_RATELIMIT_RESET_TOKENS
- X_RATELIMIT_RESET_TOKENS_USAGE_BASED
- X_REQUEST_ID
Public Instance Methods
populate_openai_response_headers(headers)
click to toggle source
Headers is a hash of Net::HTTP response headers
# File lib/new_relic/agent/llm/response_headers.rb, line 46 def populate_openai_response_headers(headers) # Embedding, ChatCompletionSummary, and ChatCompletionMessage all need # request_id, so it's defined in LlmEvent. ChatCompletionMessage # adds the attribute via ChatCompletionSummary. self.request_id = headers[X_REQUEST_ID]&.first self.response_organization = headers[OPENAI_ORGANIZATION]&.first self.llm_version = headers[OPENAI_VERSION]&.first self.ratelimit_limit_requests = headers[X_RATELIMIT_LIMIT_REQUESTS]&.first.to_i self.ratelimit_limit_tokens = headers[X_RATELIMIT_LIMIT_TOKENS]&.first.to_i remaining_headers(headers) reset_headers(headers) tokens_usage_based_headers(headers) end
Private Instance Methods
remaining_headers(headers)
click to toggle source
# File lib/new_relic/agent/llm/response_headers.rb, line 62 def remaining_headers(headers) self.ratelimit_remaining_requests = headers[X_RATELIMIT_REMAINING_REQUESTS]&.first.to_i self.ratelimit_remaining_tokens = headers[X_RATELIMIT_REMAINING_TOKENS]&.first.to_i end
reset_headers(headers)
click to toggle source
# File lib/new_relic/agent/llm/response_headers.rb, line 67 def reset_headers(headers) self.ratelimit_reset_requests = headers[X_RATELIMIT_RESET_REQUESTS]&.first self.ratelimit_reset_tokens = headers[X_RATELIMIT_RESET_TOKENS]&.first end
tokens_usage_based_headers(headers)
click to toggle source
# File lib/new_relic/agent/llm/response_headers.rb, line 72 def tokens_usage_based_headers(headers) self.ratelimit_limit_tokens_usage_based = headers[X_RATELIMIT_LIMIT_TOKENS_USAGE_BASED]&.first.to_i self.ratelimit_reset_tokens_usage_based = headers[X_RATELIMIT_RESET_TOKENS_USAGE_BASED]&.first self.ratelimit_remaining_tokens_usage_based = headers[X_RATELIMIT_REMAINING_TOKENS_USAGE_BASED]&.first.to_i end