Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Labeling queues #165

Merged
merged 15 commits into from
Nov 6, 2024
Merged

Labeling queues #165

merged 15 commits into from
Nov 6, 2024

Conversation

dinmukhamedm
Copy link
Member

@dinmukhamedm dinmukhamedm commented Nov 6, 2024

  • Data and target are any form JSON
  • more efficient image processing
  • updates to the spans table (store project id)
  • allow grouping spans with manual trace id
  • labeling queues beta v0
  • fixes to online evals

Important

Introduces labeling queues feature with database schema updates, API routes, and frontend components, along with improvements to image processing and online evaluations.

  • Labeling Queues:
    • Introduced labeling_queues and labeling_queue_items tables in schema.ts.
    • Added API routes for creating, moving, and removing items in labeling queues.
    • Implemented Labels and Queue components for managing labeling queues in the frontend.
  • Database Changes:
    • Updated spans table to include project_id in schema.ts.
    • Modified datapoints to allow target to be nullable.
    • Added migrations for new tables and schema changes.
  • API and Backend:
    • Added datapoints_to_labeling_queues function in utils.rs for queue conversion.
    • Updated create_evaluation in evaluations.rs to handle labeling queues.
    • Removed storage parameter from several functions in traces module.
  • Frontend:
    • Updated datasets and evaluations API routes to use new schema paths.
    • Added CreateQueueDialog and Queues components for managing queues.
    • Enhanced AddLabel component to support evaluator and label value pairs.
  • Miscellaneous:
    • Improved image processing by removing storage feature checks.
    • Updated paginatedGet function in utils.ts to simplify query logic.

This description was created by Ellipsis for 6e4cc4e. It will automatically update as commits are pushed.

dinmukhamedm and others added 15 commits November 2, 2024 14:45
* lift the restriction on data and target to be json objects

* fix in dataset panel and zod schema
* upload images on consumer side of rabbitmq

* Update app-server/src/language_model/chat_message.rs

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* v0: write human eval data to queues as specified in client SDKs (#134)

* v0: write human eval data to queues as specified in client SDKs

* remove index in batch and insert one-by-one

* cherry-pick some frontend updates from labeling_queue_ui to fix build

* write executor span id to labeling queue

* update the shape of labeling queue action slightly (#151)

* update resultId in action to be in camelCase (#153)

* labeling queues (#156)

* updated table name

---------

Co-authored-by: Dinmukhamed Mailibay <47117969+dinmukhamedm@users.noreply.github.com>
Co-authored-by: Din <dinmukhamed.mailibay@gmail.com>
* batch insert labeling queue items, ignore non-existent queues

* minor fix in comment

* fix sync sleep
* insert human eval scores to clickhouse

* don't setup env vars
Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Looks good to me! Reviewed everything up to 6e4cc4e in 2 minutes and 26 seconds

More details
  • Looked at 9119 lines of code in 78 files
  • Skipped 1 files when reviewing.
  • Skipped posting 4 drafted comments based on config settings.
1. frontend/lib/db/modifiers.ts:31
  • Draft comment:
    Consider handling cases where filter.value is an array to support SQL IN operations. This will ensure that filters with array values are correctly converted to SQL conditions.
  • Reason this comment was not posted:
    Comment was on unchanged code.
2. frontend/lib/db/utils.ts:82
  • Draft comment:
    Ensure that removing baseQuery and baseFilters from paginatedGet does not break existing functionality that relied on these parameters for complex queries.
  • Reason this comment was not posted:
    Comment did not seem useful.
3. frontend/lib/traces/types.ts:21
  • Draft comment:
    Ensure that LabelClass includes all necessary fields and that the types are correctly inferred from the database schema using typeof labelClasses.$inferSelect.
  • Reason this comment was not posted:
    Confidence changes required: 50%
    In frontend/lib/traces/types.ts, the LabelClass type is defined using typeof labelClasses.$inferSelect. This is a dynamic type inference from the database schema, which is a good practice for keeping types in sync with the database. However, it's important to ensure that all necessary fields are included and correctly typed.
4. frontend/lib/utils.ts:421
  • Draft comment:
    Ensure that JSON validation is handled appropriately elsewhere in the codebase, as the isJsonStringAValidObject function has been removed.
  • Reason this comment was not posted:
    Comment did not seem useful.

Workflow ID: wflow_GdIZ0mXH1kWlJERm


You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet mode, and more.

@dinmukhamedm dinmukhamedm merged commit b73967f into main Nov 6, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants