Commit Graph

4292 Commits

Author SHA1 Message Date
hunteraraujo
fc193568b9 Add RunDetails class for encapsulating benchmark run information
Added a new Dart class called `RunDetails` to represent specific details related to a benchmark run.

The class includes fields for:
- The unique run identifier (`runId`)
- The command used to initiate the benchmark (`command`)
- The time the benchmark was completed (`completionTime`)
- The time the benchmark started (`benchmarkStartTime`)
- The name of the test being run (`testName`)

Serialization and deserialization methods are also provided for JSON compatibility.
2023-09-20 13:12:03 -07:00
hunteraraujo
afe77bbc4f Add TaskInfo class with serialization and documentation
Added a new TaskInfo class to encapsulate information related to a specific benchmark task.

- The TaskInfo class holds attributes like the data file path, regression status, task categories, task details, expected answer, and description.
- Included methods for JSON serialization and deserialization.
- Added comprehensive documentation to describe the purpose, properties, and methods of the TaskInfo class.
2023-09-20 13:07:54 -07:00
hunteraraujo
50ef7b31eb Add Metrics class with serialization and documentation
Added a new Metrics class to represent key performance metrics of a benchmark test run.

- The Metrics class encapsulates various data points like difficulty, success rate, attempted status, success percentage, cost, and runtime.
- Included serialization and deserialization methods for converting between Metrics objects and JSON.
- Added comprehensive documentation to describe the purpose, properties, and methods of the Metrics class.
2023-09-20 13:04:47 -07:00
hunteraraujo
39f8ae515b Add Config Class for Benchmark Configuration Management
This commit introduces a new `Config` class, designed to manage and store configuration settings related to the benchmark run. The class contains two key fields:

1. `agentBenchmarkConfigPath`: The path to the agent's benchmark configuration file.
2. `host`: The address of the host where the benchmark is running.

The class includes methods for serialization and deserialization, allowing easy conversion between `Config` objects and JSON maps.

Documentation comments have also been added for better code readability and understanding.
2023-09-20 13:00:22 -07:00
SwiftyOS
c72a35e92e Added blueprint of an agent tutorial 2023-09-20 17:29:14 +02:00
SwiftyOS
7e65df3f39 Changed repos stats to run daily 2023-09-20 16:46:03 +02:00
SwiftyOS
4d629960bb renamed skills -> abilities 2023-09-20 16:45:47 +02:00
SwiftyOS
9c4617eefa Added the getting started tutorial 2023-09-20 16:45:32 +02:00
SwiftyOS
b952d0d2e0 Updated server endpoint message 2023-09-20 16:24:18 +02:00
SwiftyOS
55bcb99e91 Edited the cron to run every 90mins 2023-09-20 13:23:35 +02:00
SwiftyOS
6dcee70eab Added repo stats 2023-09-20 12:53:29 +02:00
SwiftyOS
8fdccfa05a Added outline for memory tutorial 2023-09-20 12:41:04 +02:00
SwiftyOS
4f002d66be Added outline for skills tutorial 2023-09-20 12:40:52 +02:00
SwiftyOS
93be3f54e3 Adding outline of the planning tutorial 2023-09-20 11:48:42 +02:00
SwiftyOS
309a6af359 Added outline of benchmarking tutorial 2023-09-20 11:48:05 +02:00
SwiftyOS
585ba1a1fd Add outline of agent overview tutorial 2023-09-20 11:47:36 +02:00
SwiftyOS
c707cec362 Added outline of tutorial 1 2023-09-20 11:46:55 +02:00
SwiftyOS
edcd103958 Added llm functions 2023-09-20 09:57:10 +02:00
Swifty
8897e47691 Update frontend build (#5270)
Co-authored-by: GitHub Action <action@github.com>
2023-09-20 09:53:00 +02:00
hunteraraujo
377d0af228 Refactor SkillTreeViewModel and Update TaskQueueView UI for Task Status (#5269)
* Refactor SkillTreeViewModel and Update TaskQueueView UI for Task Status

* Notify UI when updating benchmark status
2023-09-19 23:30:22 -07:00
hunteraraujo
99035103e0 Rename benchmark_service directory to benchmark 2023-09-19 22:16:58 -07:00
hunteraraujo
525571c32e Enhance runBenchmark with TestSuite Tracking (#5268) 2023-09-19 21:31:02 -07:00
hunteraraujo
80682b41cb Add Early Termination to runBenchmark on Benchmark Failure (#5267) 2023-09-19 20:24:52 -07:00
hunteraraujo
a37b486227 Enhance SkillTreeViewModel to Manage Benchmark Status (#5266)
Enhance SkillTreeViewModel to Manage Benchmark Execution and Status
2023-09-19 20:20:31 -07:00
Reinier van der Leer
0ca003d858 AutoGPT: Deprecate MessageHistory 2023-09-20 02:40:35 +02:00
hunteraraujo
f130aa7972 Correct triggerEvaluation endpoint 2023-09-19 17:19:59 -07:00
hunteraraujo
5afab461ee Refactor Benchmarking Workflow and Introduce New Data Models (#5264)
* New benchmark data models

* Update _benchmarkBaseUrl

* Remove ReportRequestBody

* Update benchmark service methods for proxy approach

* Add eval id to SkillNodeData

* Refactor runBenchmark Method for proxy approach
2023-09-19 17:01:15 -07:00
SwiftyOS
2098e192da Removed additional refs to frontend 2023-09-19 15:09:51 +02:00
SwiftyOS
cc7476656f removed frontend command from the cli 2023-09-19 15:08:26 +02:00
SwiftyOS
fa265fdf25 Updated quickstart 2023-09-19 15:02:06 +02:00
SwiftyOS
08db74b8ee Updated the forge readme 2023-09-19 14:53:53 +02:00
SwiftyOS
aa1a65c59c Updated forge to server the frontend again 2023-09-19 13:24:06 +02:00
Swifty
ccd0eb800b Update frontend build (#5258)
Co-authored-by: GitHub Action <action@github.com>
2023-09-19 13:06:20 +02:00
SwiftyOS
360ce60b83 commened out create PR bit 2023-09-19 13:04:57 +02:00
SwiftyOS
172d256e15 Switched pull request step 2023-09-19 12:57:49 +02:00
SwiftyOS
2c187b66b7 More messing with the action 2023-09-19 12:50:44 +02:00
SwiftyOS
9a94ce31d8 Testing PR creation 2023-09-19 12:44:21 +02:00
SwiftyOS
c7f4bd265d Changed to push to a branch and make a pr 2023-09-19 12:35:04 +02:00
SwiftyOS
de4839b050 Testing build action 2023-09-19 12:11:32 +02:00
SwiftyOS
50842af1e5 Made the action only trigger if the frontend is modified 2023-09-19 12:10:39 +02:00
SwiftyOS
833a37e9a6 Added action to build and commit the frontend 2023-09-19 12:02:50 +02:00
hunteraraujo
bf03dd8739 Refactor runBenchmark in SkillTreeViewModel for New Report Generation Flow
This commit updates the runBenchmark method in the SkillTreeViewModel class to align with the new report generation flow. The updated method does the following:

1. Checks if a benchmark is already running to prevent overlapping runs.
2. Sets a flag to indicate that the benchmark is running and notifies the UI.
3. Reverses the selected node hierarchy for report generation.
4. Loops through each node in the reversed hierarchy to:
  - Generate a unique UUID for each test run.
  - Create a ReportRequestBody object.
  - Call the generateSingleReport method in the BenchmarkService.
  - Update the UI after each single report is generated.

5. After all single reports are generated, it calls the generateCombinedReport method in the BenchmarkService, passing in all the generated UUIDs.

6. Finally, it sets the benchmark running flag to false and notifies the UI.

This change improves the report generation flow and allows for both individual and combined reports.
2023-09-18 19:55:01 -07:00
hunteraraujo
5814c5a365 Change mock property to be required in ReportRequestBody 2023-09-18 19:46:56 -07:00
hunteraraujo
b3d0cf9a22 Add UUID dependency 2023-09-18 19:42:42 -07:00
hunteraraujo
0e069c2679 Add generateCombinedReport Method and Rename Existing Method
This commit introduces two major updates to the BenchmarkService class:

1. Renamed the `generateReport` method to `generateSingleReport` for better clarity and specificity.

2. Added a new method called `generateCombinedReport` that takes a list of test run IDs and generates a combined report by posting to the `/reports/query` endpoint.

These changes aim to improve the modularity and readability of the code, while also extending its functionality to handle combined reports.
2023-09-18 17:15:44 -07:00
hunteraraujo
da9fd926c8 Refactor ReportRequestBody for a single test 2023-09-18 17:09:23 -07:00
merwanehamadi
c09a0e7afa Implement old polling mechanism (#5248)
Implement old polling mechanism

Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-09-18 16:23:06 -07:00
hunteraraujo
8923e79b29 Refactor TaskView to Support Combined Data and Test Suite Detail View
This commit introduces substantial improvements to the TaskView class to accommodate both tasks and test suites in a unified view. It also integrates the TestSuiteDetailView to display test suite details when a test suite is selected.

Key Enhancements:

1. Modified the `initState` method to call `fetchAndCombineData()` from TaskViewModel, thereby populating the combined data source.
2. Replaced the ListView that was rendering tasks with a ListView that can render both tasks and test suites.
3. Introduced conditional rendering for TestSuiteDetailView when a test suite is selected.
4. Updated onTap actions to select and deselect tasks and test suites appropriately.
5. Moved to using a Stack layout to allow overlay of TestSuiteDetailView on top of the existing layout.

This refactor enhances the TaskView's capabilities to manage and display both tasks and test suites, offering a more integrated user experience.
2023-09-18 15:08:22 -07:00
hunteraraujo
93094c7223 Extend TaskViewModel to Support Test Suites and Combined Data Sources
This commit significantly expands the functionalities of TaskViewModel to manage both tasks and test suites in a unified manner. The view model now serves as the primary business logic class that interacts with the UI for task and test suite management.

Key Enhancements:
- Introduced `_testSuites` list to store TestSuite objects.
- Added `combinedDataSource` to hold both tasks and test suites.
- Introduced `selectTestSuite` and `deselectTestSuite` methods for TestSuite selection management.
- Added methods for TestSuite CRUD operations (`addTestSuite`, `fetchTestSuites`, `_saveTestSuitesToPrefs`).
- Created `fetchAndCombineData` method to fetch and combine tasks and test suites into a single list, `combinedDataSource`.

This update provides a more robust and unified approach for managing tasks and test suites, thereby improving the application's modularity and scalability.
2023-09-18 15:03:53 -07:00
hunteraraujo
9f92488443 Add TestSuiteDetailView for Detailed Test Suite Management
This commit introduces a new StatefulWidget, TestSuiteDetailView, to offer a dedicated view for managing and interacting with individual Test Suites.

Key Features:
- Created a TestSuiteDetailView class that takes a TestSuite object and a TaskViewModel as parameters.
- Added an AppBar with a back button for easy navigation.
- Utilized ListView.builder to display a list of tasks that belong to the selected Test Suite.
- Integrated with existing TaskViewModel to select and delete tasks within the Test Suite.
- Included a Provider for the ChatViewModel to update the current task ID when a task is selected.

This new view enhances the user experience by providing a focused interface for managing tasks within individual Test Suites. This facilitates better organization and navigation for the user.
2023-09-18 14:59:26 -07:00