Python SDK

1. Environment Setup

os.environ["RAGAAI_CATALYST_BASE_URL"] = "https://catalyst.raga.ai/api""
os.environ["OPENAI_API_KEY"] = "Your LLM API key"
  • Configures the environment.

    • RAGAAI_CATALYST_BASE_URL: The base URL of the RagaAI Catalyst API for interaction.

    • OPENAI_API_KEY: Key to authenticate OpenAI-based LLM interactions.


2. Initializing the RagaAICatalyst Client

catalyst = RagaAICatalyst(
    access_key="Generate access key form settings",
    secret_key="Generate access key form settings",
)
  • Creates an authenticated client to interact with RagaAI Catalyst.

    • access_key and secret_key: Credentials to access RagaAI Catalyst.


3. Initializing the Guardrails Manager

gdm = GuardrailsManager(project_name="Project Name")
  • Purpose: Sets up a guardrails manager for managing guardrail-related configurations.

    • project_name: Links the guardrails to a specific project .


4. Listing Available Guardrails

guardrails_list = gdm.list_guardrails()
print('guardrails_list:', guardrails_list)
  • Retrieves a list of all guardrails configured in the project.

  • Output: A list of guardrails available for use.


5. Listing Fail Conditions

fail_conditions = gdm.list_fail_condition()
print('fail_conditions;', fail_conditions)
  • Retrieves the conditions under which guardrails will flag a failure.

  • Output: A list of fail conditions (e.g., ALL_FAIL, SOME_FAIL, etc.).


6. Retrieving Deployment IDs

pdeployment_list = gdm.list_deployment_ids()
print('deployment_list:', deployment_list)
  • Lists all deployment IDs associated with guardrails.

  • Output: A list of deployment IDs, each representing a configuration of guardrails.


7. Fetching Deployment Details

deployment_id_detail = gdm.get_deployment(17)
print('deployment_id_detail:', deployment_id_detail)
  • Retrieves details of a specific deployment by its ID (17 in this example).

  • Output: Details of the deployment, including associated guardrails and configurations.


8. Adding Guardrails to a Deployment

guardrails_config = {"guardrailFailConditions": ["FAIL"],
                     "deploymentFailCondition": "ALL_FAIL",
                     "alternateResponse": "Your alternate response"}
  • Configures guardrail behavior when conditions fail.

    • guardrailFailConditions: Triggers guardrails when specific conditions are met.

    • deploymentFailCondition: Aggregates multiple failures (ALL_FAIL requires all guardrails to fail).

    • alternateResponse: Fallback response in case of guardrail-triggered failures.

guardrails = [
    {
      "displayName": "Response_Evaluator",
      "name": "Response Evaluator",
      "config": {
          "mappings": [{"schemaName": "Text", "variableName": "Response"}],
          "params": {
              "isActive": {"value": False},
              "isHighRisk": {"value": True},
              "threshold": {"eq": 0},
              "competitors": {"value": ["Google", "Amazon"]}
          }
      }
    },
    {
      "displayName": "Regex_Check",
      "name": "Regex Check",
      "config": {
          "mappings": [{"schemaName": "Text", "variableName": "Response"}],
          "params": {
              "isActive": {"value": False},
              "isHighRisk": {"value": True},
              "threshold": {"lt1": 1}
          }
      }
    }
]
  • Purpose: Defines guardrail configurations.

    • displayName: A user-friendly name for the guardrail.

    • name: The internal name of the guardrail.

    • config: Contains mappings, parameters, and settings for the guardrail's logic.


9. Initializing the GuardExecutor

executor = GuardExecutor(17, gdm, field_map={'context': 'document'})
  • Purpose: Initializes the executor to run evaluations using the deployment id.

    • 17: Deployment ID of the guardrails to apply.

    • field_map: Maps input fields (e.g., context) to expected variables (document).


10. Preparing Input for Evaluation

message = {'role': 'user', 'content': 'What is the capital of France?'}
prompt_params = {'document': 'Paris is not the capital of france'}
model_params = {'temperature': .7, 'model': 'gpt-4o-mini'}
llm_caller = 'litellm'
  • Supplies input for evaluation.

    • message: Represents the user query.

    • prompt_params: Contextual data provided to the model.

    • model_params: Configuration for the LLM response generation.

    • llm_caller: Specifies the API or library to call the LLM.


11. Executing the Guardrails

executor([message], prompt_params, model_params, llm_caller)
  • Runs the guardrails evaluation with the given inputs.

Last updated