Documentation Index
Fetch the complete documentation index at: https://docs.learningcommons.org/llms.txt
Use this file to discover all available pages before exploring further.
Import and configure the evaluator of your choice.
from learning_commons_evaluators import (
GoogleLLMProviderConfig,
OpenAILLMProviderConfig,
AnthropicLLMProviderConfig,
ConventionalityEvaluator,
create_config,
)
# Create provider config
google_config = GoogleLLMProviderConfig(api_key="...")
openai_config = OpenAILLMProviderConfig(api_key="...")
anthropic_config = AnthropicLLMProviderConfig(api_key="...")
# Create evaluator config
# NOTE: Telemetry is not yet implemented in v0.1.0
config = create_config(
google_llm_provider_config=google_config,
telemetry_partner_id="your-learning-commons-api-key",
)
# Instantiate evaluator
evaluator = ConventionalityEvaluator(config)
Options
All evaluators accept some base configuration options.
Python provides several ways to create a configuration object:
from learning_commons_evaluators import (
create_config, # Collects telemetry
create_config_no_telemetry, # Does not collect telemetry
create_config_telemetry_with_full_input, # Collects telemetry with input text
)
| Field | Type | Description |
|---|
google_llm_provider_config | GoogleLLMProviderConfig | Google API key, required for evaluators that default to Google models |
openai_llm_provider_config | OpenAILLMProviderConfig | OpenAI API key, required for evaluators that default to OpenAI models |
anthropic_llm_provider_config | AnthropicLLMProviderConfig | Anthropic API key, required for evaluators that default to Claude or when overriding a default model with Claude |
logger | Logger | Custom logger for evaluator output. Can set logging verbosity level. |
telemetry_partner_id | string | Your Learning Commons API key, used for authenticated and anonymous telemetry data collection.
Required for create_config and create_config_telemetry_with_full_input only |
Logging
Customize how your evaluator logs information.
Log level
Control logging verbosity:
# SDK uses Python's standard logging module
import logging
# By default, EvaluatorConfig uses the package logger,
# which propagates to the root logger once your app configures handlers
logging.basicConfig(level=logging.DEBUG)
logging.getLogger("learning_commons_evaluators").setLevel(logging.WARNING)
from learning_commons_evaluators import (
create_config_no_telemetry,
create_logger,
create_silent_logger,
)
logger = create_logger(level=logging.DEBUG)
# Discards logs + does not send as telemetry data
config = create_config_no_telemetry(logger=create_silent_logger())
Custom logger
You can configure your evaluator with a custom logger:
import logging
from learning_commons_evaluators import (
create_config,
)
# Route SDK logs through your own logger
my_logger = logging.getLogger("my_app.evaluators")
custom_logger_config = create_config(..., logger=my_logger)