Module: Braintrust
- Defined in:
- lib/braintrust.rb,
lib/braintrust/api.rb,
lib/braintrust/eval.rb,
lib/braintrust/task.rb,
lib/braintrust/setup.rb,
lib/braintrust/state.rb,
lib/braintrust/trace.rb,
lib/braintrust/config.rb,
lib/braintrust/logger.rb,
lib/braintrust/prompt.rb,
lib/braintrust/scorer.rb,
lib/braintrust/server.rb,
lib/braintrust/contrib.rb,
lib/braintrust/dataset.rb,
lib/braintrust/version.rb,
lib/braintrust/eval/case.rb,
lib/braintrust/functions.rb,
lib/braintrust/eval/cases.rb,
lib/braintrust/eval/trace.rb,
lib/braintrust/server/sse.rb,
lib/braintrust/eval/result.rb,
lib/braintrust/eval/runner.rb,
lib/braintrust/eval/scorer.rb,
lib/braintrust/server/rack.rb,
lib/braintrust/api/datasets.rb,
lib/braintrust/eval/context.rb,
lib/braintrust/eval/summary.rb,
lib/braintrust/internal/env.rb,
lib/braintrust/api/functions.rb,
lib/braintrust/contrib/setup.rb,
lib/braintrust/internal/http.rb,
lib/braintrust/internal/time.rb,
lib/braintrust/server/router.rb,
lib/braintrust/eval/evaluator.rb,
lib/braintrust/eval/formatter.rb,
lib/braintrust/eval/functions.rb,
lib/braintrust/internal/retry.rb,
lib/braintrust/contrib/context.rb,
lib/braintrust/contrib/patcher.rb,
lib/braintrust/internal/origin.rb,
lib/braintrust/server/rack/app.rb,
lib/braintrust/contrib/registry.rb,
lib/braintrust/trace/attachment.rb,
lib/braintrust/api/internal/auth.rb,
lib/braintrust/api/internal/btql.rb,
lib/braintrust/internal/callable.rb,
lib/braintrust/internal/encoding.rb,
lib/braintrust/internal/template.rb,
lib/braintrust/trace/span_filter.rb,
lib/braintrust/contrib/integration.rb,
lib/braintrust/server/auth/no_auth.rb,
lib/braintrust/trace/span_exporter.rb,
lib/braintrust/contrib/support/otel.rb,
lib/braintrust/internal/thread_pool.rb,
lib/braintrust/server/handlers/eval.rb,
lib/braintrust/server/handlers/list.rb,
lib/braintrust/trace/span_processor.rb,
lib/braintrust/api/internal/projects.rb,
lib/braintrust/contrib/rails/railtie.rb,
lib/braintrust/vendor/mustache/utils.rb,
lib/braintrust/contrib/openai/patcher.rb,
lib/braintrust/contrib/support/openai.rb,
lib/braintrust/server/handlers/health.rb,
lib/braintrust/server/middleware/auth.rb,
lib/braintrust/server/middleware/cors.rb,
lib/braintrust/vendor/mustache/parser.rb,
lib/braintrust/server/auth/clerk_token.rb,
lib/braintrust/vendor/mustache/context.rb,
lib/braintrust/api/internal/experiments.rb,
lib/braintrust/contrib/ruby_llm/patcher.rb,
lib/braintrust/vendor/mustache/mustache.rb,
lib/braintrust/vendor/mustache/settings.rb,
lib/braintrust/vendor/mustache/template.rb,
lib/braintrust/contrib/anthropic/patcher.rb,
lib/braintrust/contrib/openai/deprecated.rb,
lib/braintrust/vendor/mustache/generator.rb,
lib/braintrust/contrib/openai/integration.rb,
lib/braintrust/vendor/mustache/enumerable.rb,
lib/braintrust/contrib/rails/server/engine.rb,
lib/braintrust/contrib/ruby_llm/deprecated.rb,
lib/braintrust/contrib/ruby_openai/patcher.rb,
lib/braintrust/contrib/anthropic/deprecated.rb,
lib/braintrust/contrib/ruby_llm/integration.rb,
lib/braintrust/server/services/eval_service.rb,
lib/braintrust/server/services/list_service.rb,
lib/braintrust/vendor/mustache/context_miss.rb,
lib/braintrust/contrib/anthropic/integration.rb,
lib/braintrust/contrib/rails/server/generator.rb,
lib/braintrust/contrib/ruby_openai/deprecated.rb,
lib/braintrust/contrib/ruby_openai/integration.rb,
lib/braintrust/contrib/openai/instrumentation/chat.rb,
lib/braintrust/contrib/rails/server/eval_controller.rb,
lib/braintrust/contrib/rails/server/list_controller.rb,
lib/braintrust/contrib/openai/instrumentation/common.rb,
lib/braintrust/contrib/ruby_llm/instrumentation/chat.rb,
lib/braintrust/contrib/rails/server/health_controller.rb,
lib/braintrust/contrib/ruby_llm/instrumentation/common.rb,
lib/braintrust/contrib/anthropic/instrumentation/common.rb,
lib/braintrust/contrib/openai/instrumentation/responses.rb,
lib/braintrust/contrib/ruby_openai/instrumentation/chat.rb,
lib/braintrust/contrib/anthropic/instrumentation/messages.rb,
lib/braintrust/contrib/openai/instrumentation/moderations.rb,
lib/braintrust/contrib/ruby_openai/instrumentation/common.rb,
lib/braintrust/contrib/rails/server/application_controller.rb,
lib/braintrust/contrib/ruby_openai/instrumentation/responses.rb,
lib/braintrust/contrib/anthropic/instrumentation/beta_messages.rb,
lib/braintrust/contrib/ruby_openai/instrumentation/moderations.rb
Overview
Backward compatibility shim for the old ruby-openai integration API. This file now just delegates to the new API.
Defined Under Namespace
Modules: Contrib, Eval, Functions, Internal, Log, Scorer, Server, Setup, Task, Trace, Vendor Classes: API, Config, Dataset, Error, Prompt, State
Constant Summary collapse
- ScorerId =
Deprecated.
Use Braintrust::Scorer::ID instead.
Scorer::ID
- DatasetId =
Deprecated.
Use Braintrust::Dataset::ID instead.
Dataset::ID
- VERSION =
"0.3.2"
Class Method Summary collapse
-
.auto_instrument!(config = nil) ⇒ Array<Symbol>?
Auto-instrument available integrations.
-
.current_state ⇒ State?
Get the current global state.
-
.init(api_key: nil, org_name: nil, default_project: nil, app_url: nil, api_url: nil, set_global: true, blocking_login: false, enable_tracing: true, tracer_provider: nil, filter_ai_spans: nil, span_filter_funcs: nil, exporter: nil, auto_instrument: nil) ⇒ State
Initialize Braintrust SDK.
-
.instrument!(name, **options) ⇒ void
Instrument a registered integration by name.
Class Method Details
.auto_instrument!(config = nil) ⇒ Array<Symbol>?
Auto-instrument available integrations.
Discovers which integrations have their target libraries loaded and instruments them automatically. This is the primary public API for enabling auto-instrumentation.
Environment variables:
- BRAINTRUST_AUTO_INSTRUMENT: set to "false" to disable (default: enabled)
- BRAINTRUST_INSTRUMENT_ONLY: comma-separated list of integrations to include
- BRAINTRUST_INSTRUMENT_EXCEPT: comma-separated list of integrations to exclude
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/braintrust/contrib.rb', line 42 def self.auto_instrument!(config = nil) should_instrument = case config when nil Internal::Env.auto_instrument when false false when true, Hash true end return unless should_instrument only = Internal::Env.instrument_only except = Internal::Env.instrument_except if config.is_a?(Hash) only = config[:only] || only except = config[:except] || except end Contrib.auto_instrument!(only: only, except: except) end |
.current_state ⇒ State?
Get the current global state
76 77 78 |
# File 'lib/braintrust.rb', line 76 def self.current_state State.global end |
.init(api_key: nil, org_name: nil, default_project: nil, app_url: nil, api_url: nil, set_global: true, blocking_login: false, enable_tracing: true, tracer_provider: nil, filter_ai_spans: nil, span_filter_funcs: nil, exporter: nil, auto_instrument: nil) ⇒ State
Initialize Braintrust SDK
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/braintrust.rb', line 52 def self.init(api_key: nil, org_name: nil, default_project: nil, app_url: nil, api_url: nil, set_global: true, blocking_login: false, enable_tracing: true, tracer_provider: nil, filter_ai_spans: nil, span_filter_funcs: nil, exporter: nil, auto_instrument: nil) state = State.from_env( api_key: api_key, org_name: org_name, default_project: default_project, app_url: app_url, api_url: api_url, blocking_login: blocking_login, enable_tracing: enable_tracing, tracer_provider: tracer_provider, filter_ai_spans: filter_ai_spans, span_filter_funcs: span_filter_funcs, exporter: exporter ) State.global = state if set_global auto_instrument!(auto_instrument) state end |
.instrument!(name, **options) ⇒ void
This method returns an undefined value.
Instrument a registered integration by name. This is the main entry point for activating integrations.
80 81 82 |
# File 'lib/braintrust/contrib.rb', line 80 def self.instrument!(name, **) Contrib.instrument!(name, **) end |