Package dev.braintrust.api
Class BraintrustApiClient.InMemoryImpl
java.lang.Object
dev.braintrust.api.BraintrustApiClient.InMemoryImpl
- All Implemented Interfaces:
BraintrustApiClient
- Enclosing interface:
- BraintrustApiClient
Implementation for test doubling
-
Nested Class Summary
Nested classes/interfaces inherited from interface dev.braintrust.api.BraintrustApiClient
BraintrustApiClient.CreateDatasetRequest, BraintrustApiClient.CreateExperimentRequest, BraintrustApiClient.CreateProjectRequest, BraintrustApiClient.Dataset, BraintrustApiClient.DatasetEvent, BraintrustApiClient.DatasetFetchRequest, BraintrustApiClient.DatasetFetchResponse, BraintrustApiClient.DatasetList, BraintrustApiClient.Experiment, BraintrustApiClient.ExperimentList, BraintrustApiClient.Function, BraintrustApiClient.FunctionInvokeRequest, BraintrustApiClient.FunctionListResponse, BraintrustApiClient.HttpImpl, BraintrustApiClient.InMemoryImpl, BraintrustApiClient.InsertEventsRequest, BraintrustApiClient.InsertEventsResponse, BraintrustApiClient.LoginRequest, BraintrustApiClient.LoginResponse, BraintrustApiClient.OrganizationAndProjectInfo, BraintrustApiClient.OrganizationInfo, BraintrustApiClient.Project, BraintrustApiClient.ProjectList, BraintrustApiClient.Prompt, BraintrustApiClient.PromptData, BraintrustApiClient.PromptListResponse -
Constructor Summary
ConstructorsConstructorDescriptionInMemoryImpl(BraintrustApiClient.OrganizationAndProjectInfo... organizationAndProjectInfos) InMemoryImpl(List<BraintrustApiClient.OrganizationAndProjectInfo> organizationAndProjectInfos, List<BraintrustApiClient.Prompt> prompts) -
Method Summary
Modifier and TypeMethodDescriptionfetchDatasetEvents(String datasetId, BraintrustApiClient.DatasetFetchRequest request) Fetch dataset events with paginationgetDataset(String datasetId) Get dataset metadata by IDgetFunction(String projectName, String slug, String version) Get a function by project name and slug, with optional version.Creates an experiment.getOrCreateProject(String projectName) Creates or gets a project by name.Get project and org info for the given config.getProject(String projectId) Gets a project by ID.Get project and org info for the default project IDgetProjectAndOrgInfo(String projectId) Get project and org info for the given project IDGet a prompt by slug and optional versioninvokeFunction(String functionId, BraintrustApiClient.FunctionInvokeRequest request) Invoke a function (scorer, prompt, or tool) by its ID.login()Attempt Braintrust loginqueryDatasets(String projectName, String datasetName) Query datasets by project name and dataset name
-
Constructor Details
-
InMemoryImpl
-
InMemoryImpl
public InMemoryImpl(List<BraintrustApiClient.OrganizationAndProjectInfo> organizationAndProjectInfos, List<BraintrustApiClient.Prompt> prompts)
-
-
Method Details
-
login
Description copied from interface:BraintrustApiClientAttempt Braintrust login- Specified by:
loginin interfaceBraintrustApiClient- Returns:
- LoginResponse containing organization info
-
getOrCreateProject
Description copied from interface:BraintrustApiClientCreates or gets a project by name.- Specified by:
getOrCreateProjectin interfaceBraintrustApiClient
-
getProject
Description copied from interface:BraintrustApiClientGets a project by ID.- Specified by:
getProjectin interfaceBraintrustApiClient
-
getOrCreateExperiment
public BraintrustApiClient.Experiment getOrCreateExperiment(BraintrustApiClient.CreateExperimentRequest request) Description copied from interface:BraintrustApiClientCreates an experiment.- Specified by:
getOrCreateExperimentin interfaceBraintrustApiClient
-
getProjectAndOrgInfo
Description copied from interface:BraintrustApiClientGet project and org info for the default project ID- Specified by:
getProjectAndOrgInfoin interfaceBraintrustApiClient
-
getProjectAndOrgInfo
public Optional<BraintrustApiClient.OrganizationAndProjectInfo> getProjectAndOrgInfo(String projectId) Description copied from interface:BraintrustApiClientGet project and org info for the given project ID- Specified by:
getProjectAndOrgInfoin interfaceBraintrustApiClient
-
getOrCreateProjectAndOrgInfo
public BraintrustApiClient.OrganizationAndProjectInfo getOrCreateProjectAndOrgInfo(BraintrustConfig config) Description copied from interface:BraintrustApiClientGet project and org info for the given config. Creating them if necessary- Specified by:
getOrCreateProjectAndOrgInfoin interfaceBraintrustApiClient
-
getPrompt
public Optional<BraintrustApiClient.Prompt> getPrompt(@Nonnull String projectName, @Nonnull String slug, @Nullable String version) Description copied from interface:BraintrustApiClientGet a prompt by slug and optional version- Specified by:
getPromptin interfaceBraintrustApiClient
-
fetchDatasetEvents
public BraintrustApiClient.DatasetFetchResponse fetchDatasetEvents(String datasetId, BraintrustApiClient.DatasetFetchRequest request) Description copied from interface:BraintrustApiClientFetch dataset events with pagination- Specified by:
fetchDatasetEventsin interfaceBraintrustApiClient
-
getDataset
Description copied from interface:BraintrustApiClientGet dataset metadata by ID- Specified by:
getDatasetin interfaceBraintrustApiClient
-
queryDatasets
Description copied from interface:BraintrustApiClientQuery datasets by project name and dataset name- Specified by:
queryDatasetsin interfaceBraintrustApiClient
-
getFunction
public Optional<BraintrustApiClient.Function> getFunction(@Nonnull String projectName, @Nonnull String slug, @Nullable String version) Description copied from interface:BraintrustApiClientGet a function by project name and slug, with optional version.- Specified by:
getFunctionin interfaceBraintrustApiClient- Parameters:
projectName- the name of the project containing the functionslug- the unique slug identifier for the functionversion- optional version identifier (transaction id or version string)- Returns:
- the function if found
-
invokeFunction
public Object invokeFunction(@Nonnull String functionId, @Nonnull BraintrustApiClient.FunctionInvokeRequest request) Description copied from interface:BraintrustApiClientInvoke a function (scorer, prompt, or tool) by its ID.- Specified by:
invokeFunctionin interfaceBraintrustApiClient- Parameters:
functionId- the ID of the function to invokerequest- the invocation request containing input, expected output, etc.- Returns:
- the result of the function invocation
-