RagaAI-Catalyst
raga-ai-hub/RagaAI-Catalyst
Python SDK for AI Agent Observability and Evaluation
Overview
RagaAI Catalyst is a Python SDK designed to enhance the observation, monitoring, and evaluation of large language model projects. It provides tools for project management, dataset handling, trace analysis, prompt engineering, synthetic data generation, guardrail creation, and more.
Categories
Tags
Similar tools
langflow
langflow-ai/langflow
Langflow is a powerful platform for building and deploying AI-powered agents and workflows.
graphrag
microsoft/graphrag
A modular graph-based Retrieval-Augmented Generation (RAG) system
langfuse
langfuse/langfuse
Langfuse: Open source AI engineering platform for LLM evaluation, observability, and prompt management.
RAG_Techniques
NirDiamant/RAG_Techniques
Advanced RAG Techniques
mlflow
mlflow/mlflow
The open source AI engineering platform for agents, LLMs, and ML models.
llm-action
liguodongiot/llm-action
分享大模型技术原理和实战经验,涵盖工程化、应用落地
Install
pip install RagaAI-CatalystREADME
RagaAI Catalyst
RagaAI Catalyst is a comprehensive platform designed to enhance the management and optimization of LLM projects. It offers a wide range of features, including project management, dataset management, evaluation management, trace management, prompt management, synthetic data generation, and guardrail management. These functionalities enable you to efficiently evaluate, and safeguard your LLM applications.
Table of Contents
- RagaAI Catalyst
- Installation
- Configuration
- Usage
- Project Management
- Dataset Management
- Evaluation Management
- Trace Management
- Agentic Tracing
- Prompt Management
- Synthetic Data Generation
- Guardrail Management
- Red-teaming
Installation
To install RagaAI Catalyst, you can use pip:
pip install ragaai-catalyst
Configuration
Before using RagaAI Catalyst, you need to set up your credentials. You can do this by setting environment variables or passing them directly to the RagaAICatalyst class:
from ragaai_catalyst import RagaAICatalyst
catalyst = RagaAICatalyst(
access_key="YOUR_ACCESS_KEY",
secret_key="YOUR_SECRET_KEY",
base_url="BASE_URL"
)
you'll need to generate authentication credentials:
- Navigate to your profile settings
- Select "Authenticate"
- Click "Generate New Key" to create your access and secret keys
Note: Authetication to RagaAICatalyst is necessary to perform any operations below.
Usage
Project Management
Create and manage projects using RagaAI Catalyst:
# Create a project
project = catalyst.create_project(
project_name="Test-RAG-App-1",
usecase="Chatbot"
)
# Get project usecases
catalyst.project_use_cases()
# List projects
projects = catalyst.list_projects()
print(projects)
Dataset Management
Manage datasets efficiently for your projects:
from ragaai_catalyst import Dataset
# Initialize Dataset management for a specific project
dataset_manager = Dataset(project_name="project_name")
# List existing datasets
datasets = dataset_manager.list_datasets()
print("Existing Datasets:", datasets)
# Create a dataset from CSV
dataset_manager.create_from_csv(
csv_path='path/to/your.csv',
dataset_name='MyDataset',
schema_mapping={'column1': 'schema_element1', 'column2': 'schema_element2'}
)
# Get project schema mapping
dataset_manager.get_schema_mapping()
For more detailed information on Dataset Management, including CSV schema handling and advanced usage, please refer to the Dataset Management documentation.
Evaluation
Create and manage metric evaluation of your RAG application:
from ragaai_catalyst import Evaluation
# Create an experiment
evaluation = Evaluation(
project_name="Test-RAG-App-1",
dataset_name="MyDataset",
)
# Get list of available metrics
evaluation.list_metrics()
# Add metrics to the experiment
schema_mapping={
'Query': 'prompt',
'response': 'response',
'Context': 'context',
'expectedResponse': 'expected_response'
}
# Add single metric
evaluation.add_metrics(
metrics=[
{"name": "Faithfulness", "config": {"model": "gpt-4o-mini", "provider": "openai", "threshold": {"gte": 0.232323}}, "column_name": "Faithfulness_v1", "schema_mapping": schema_mapping},
]
)
# Add multiple metrics
evaluation.add_metrics(
metrics=[
{"name": "Faithfulness", "config": {"model": "gpt-4o-mini", "provider": "openai", "threshold": {"gte": 0.323}}, "column_name": "Faithfulness_gte", "schema_mapping": schema_mapping},
{"name": "Hallucination", "config": {"model": "gpt-4o-mini", "provider": "openai", "threshold": {"lte": 0.323