Skip to content

SDK-43: Add LLM unlearning support#185

Closed
benglewis wants to merge 1 commit into
mainfrom
codex/2026-01-13/add-unlearning-data-support
Closed

SDK-43: Add LLM unlearning support#185
benglewis wants to merge 1 commit into
mainfrom
codex/2026-01-13/add-unlearning-data-support

Conversation

@benglewis
Copy link
Copy Markdown
Contributor

@benglewis benglewis commented Jan 13, 2026

Summary

  • add SDK models for LLM resources covering Hugging Face sources, unlearning datasets, and runs
  • expose the new LLM helpers from the package root for easier imports
  • exercise the new logic with sanity tests that validate request payloads and launch flow

Testing

  • PYENV_VERSION=3.11.12 pytest tests/llm -q
  • PYENV_VERSION=3.11.12 ruff check .

feature: SDK-43


Codex Task


Note

Adds a new hirundo.llm module to manage LLM resources and unlearning.

  • Introduces BiasType/BiasRunInfo for configuring unlearning runs
  • Adds HuggingFaceTransformersModel and LlmModel with create/list/get/delete and server payload serialization
  • Adds UnlearningExample and LlmUnlearningData with create/list/get/delete for unlearning datasets
  • Adds LlmUnlearningRun with launch and get for run lifecycle
  • Exposes all new LLM helpers via package root __init__
  • New tests validate request URLs/payloads and run launch flow

Written by Cursor Bugbot for commit c44cf64. Configure here.

@benglewis benglewis changed the title feat: add LLM unlearning support (SDK-43) SDK-43: Add LLM unlearning support Jan 13, 2026
@benglewis benglewis self-assigned this Jan 13, 2026
@benglewis
Copy link
Copy Markdown
Contributor Author

This doesn't look right... Lots of things are off

@benglewis benglewis closed this Jan 13, 2026
@benglewis benglewis deleted the codex/2026-01-13/add-unlearning-data-support branch January 13, 2026 08:30
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Comment @cursor review or bugbot run to trigger another review on this PR

Comment thread hirundo/llm.py
f"{API_HOST}/llm/model/",
headers=get_headers(),
timeout=READ_TIMEOUT,
params={"organization_id": organization_id} if organization_id else None,
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Truthiness check ignores zero organization ID value

Low Severity

The list_models and list_datasets methods use a truthiness check (if organization_id) instead of an explicit None check. This causes organization_id=0 to be treated as falsy and silently ignored. The type annotation int | None allows zero, and the create() methods in the same file correctly use if organization_id is not None:. This inconsistency could lead to unexpected behavior when explicitly filtering by organization ID zero.

Additional Locations (1)

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant