Class: Braintrust::Client
- Inherits:
-
BaseClient
- Object
- BaseClient
- Braintrust::Client
- Defined in:
- lib/braintrust/client.rb
Constant Summary collapse
- DEFAULT_MAX_RETRIES =
Default max number of retries to attempt after a failed retryable request.
2
Instance Attribute Summary collapse
- #acl ⇒ Braintrust::Resources::ACL readonly
-
#api_key ⇒ Object
readonly
Client options.
- #dataset ⇒ Braintrust::Resources::Dataset readonly
- #experiment ⇒ Braintrust::Resources::Experiment readonly
- #group ⇒ Braintrust::Resources::Group readonly
- #project ⇒ Braintrust::Resources::Project readonly
- #prompt ⇒ Braintrust::Resources::Prompt readonly
- #role ⇒ Braintrust::Resources::Role readonly
- #top_level ⇒ Braintrust::Resources::TopLevel readonly
- #user ⇒ Braintrust::Resources::User readonly
Instance Method Summary collapse
-
#initialize(base_url: nil, api_key: nil, max_retries: nil) ⇒ Client
constructor
Creates and returns a new client for interacting with the API.
Constructor Details
#initialize(base_url: nil, api_key: nil, max_retries: nil) ⇒ Client
Creates and returns a new client for interacting with the API.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/braintrust/client.rb', line 44 def initialize(base_url: nil, api_key: nil, max_retries: nil) base_url ||= "https://api.braintrustdata.com" max_retries ||= DEFAULT_MAX_RETRIES @api_key = [api_key, ENV["BRAINTRUST_API_KEY"]].find { |v| !v.nil? } if @api_key.nil? raise ArgumentError, "api_key is required" end super(base_url: base_url, max_retries: max_retries) @top_level = Braintrust::Resources::TopLevel.new(client: self) @project = Braintrust::Resources::Project.new(client: self) @experiment = Braintrust::Resources::Experiment.new(client: self) @dataset = Braintrust::Resources::Dataset.new(client: self) @prompt = Braintrust::Resources::Prompt.new(client: self) @role = Braintrust::Resources::Role.new(client: self) @group = Braintrust::Resources::Group.new(client: self) @acl = Braintrust::Resources::ACL.new(client: self) @user = Braintrust::Resources::User.new(client: self) end |
Instance Attribute Details
#acl ⇒ Braintrust::Resources::ACL (readonly)
33 34 35 |
# File 'lib/braintrust/client.rb', line 33 def acl @acl end |
#api_key ⇒ Object (readonly)
Client options.
9 10 11 |
# File 'lib/braintrust/client.rb', line 9 def api_key @api_key end |
#dataset ⇒ Braintrust::Resources::Dataset (readonly)
21 22 23 |
# File 'lib/braintrust/client.rb', line 21 def dataset @dataset end |
#experiment ⇒ Braintrust::Resources::Experiment (readonly)
18 19 20 |
# File 'lib/braintrust/client.rb', line 18 def experiment @experiment end |
#group ⇒ Braintrust::Resources::Group (readonly)
30 31 32 |
# File 'lib/braintrust/client.rb', line 30 def group @group end |
#project ⇒ Braintrust::Resources::Project (readonly)
15 16 17 |
# File 'lib/braintrust/client.rb', line 15 def project @project end |
#prompt ⇒ Braintrust::Resources::Prompt (readonly)
24 25 26 |
# File 'lib/braintrust/client.rb', line 24 def prompt @prompt end |
#role ⇒ Braintrust::Resources::Role (readonly)
27 28 29 |
# File 'lib/braintrust/client.rb', line 27 def role @role end |
#top_level ⇒ Braintrust::Resources::TopLevel (readonly)
12 13 14 |
# File 'lib/braintrust/client.rb', line 12 def top_level @top_level end |
#user ⇒ Braintrust::Resources::User (readonly)
36 37 38 |
# File 'lib/braintrust/client.rb', line 36 def user @user end |