Skip to content

The Implementation for Bring Your Own Local Model (BYOM) API - #928

Open
Selena Yang (selenayang888) wants to merge 5 commits into
mainfrom
syang/bring-your-own-model
Open

The Implementation for Bring Your Own Local Model (BYOM) API#928
Selena Yang (selenayang888) wants to merge 5 commits into
mainfrom
syang/bring-your-own-model

Conversation

@selenayang888

Copy link
Copy Markdown
Contributor

The implementation to register a local ONNX model from an arbitrary filesystem path and make it available through the standard Catalog/Model/Inference api.

@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
foundry-local Ready Ready Preview Aug 7, 2026 11:38pm

Request Review

Introduce ABI v3 with Info_Clone while preserving v1/v2 tables, restore independent C++ ModelInfo copy construction and assignment, and keep explicit CPU model loading on OGA's default provider. Add C ABI and C++ copy-semantics tests.
@selenayang888
Selena Yang (selenayang888) marked this pull request as ready for review August 6, 2026 01:41
Copilot AI balanced review requested due to automatic review settings August 6, 2026 01:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds persistent registration and inference support for local ONNX models through new local catalog and C/C++ APIs.

Changes:

  • Adds local model registration, persistence, metadata, and lifecycle handling.
  • Extends versioned C/C++ APIs with catalog selection and mutable ModelInfo.
  • Adds unit tests and separates legacy cached models from explicitly registered BYOM models.

Reviewed changes

Copilot reviewed 27 out of 27 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
sdk_v2/cpp/test/internal_api/model_info_test.cc Tests property-bag persistence.
sdk_v2/cpp/test/internal_api/model_info_accessors_test.cc Tests ModelInfo copy semantics.
sdk_v2/cpp/test/internal_api/local_model_catalog_test.cc Tests local catalog behavior.
sdk_v2/cpp/test/internal_api/c_api_test.cc Tests versioned cloning API.
sdk_v2/cpp/test/internal_api/azure_catalog_test.cc Updates unresolved-cache expectations.
sdk_v2/cpp/test/CMakeLists.txt Adds local catalog tests.
sdk_v2/cpp/src/model.h Adds local-model lifecycle state.
sdk_v2/cpp/src/model.cc Implements local loading and unregistering.
sdk_v2/cpp/src/model_info.h Declares property-bag utilities.
sdk_v2/cpp/src/model_info.cc Implements property persistence.
sdk_v2/cpp/src/manager.h Adds multiple catalog support.
sdk_v2/cpp/src/manager.cc Creates public and local catalogs.
sdk_v2/cpp/src/inferencing/session/session.cc Uses collision-safe runtime IDs.
sdk_v2/cpp/src/inferencing/generative/genai_model_instance.cc Revises provider overrides.
sdk_v2/cpp/src/catalog/local_model_catalog.h Defines the local catalog.
sdk_v2/cpp/src/catalog/local_model_catalog.cc Implements registration persistence.
sdk_v2/cpp/src/catalog/catalog_client.h Documents explicit BYOM registration.
sdk_v2/cpp/src/catalog/catalog_client.cc Removes synthesized BYOM entries.
sdk_v2/cpp/src/catalog/base_model_catalog.h Adds catalog types and tombstones.
sdk_v2/cpp/src/catalog/base_model_catalog.cc Implements model deactivation.
sdk_v2/cpp/src/catalog/azure_model_catalog.cc Filters legacy local entries.
sdk_v2/cpp/src/catalog.h Extends the catalog interface.
sdk_v2/cpp/src/c_api.cc Implements versioned BYOM C APIs.
sdk_v2/cpp/include/foundry_local/foundry_local_cpp.inline.h Implements C++ wrappers.
sdk_v2/cpp/include/foundry_local/foundry_local_cpp.h Exposes new C++ APIs.
sdk_v2/cpp/include/foundry_local/foundry_local_c.h Defines C API v3.
sdk_v2/cpp/CMakeLists.txt Builds the local catalog source.

Comment thread sdk_v2/cpp/src/catalog/local_model_catalog.cc Outdated
Comment thread sdk_v2/cpp/src/inferencing/generative/genai_model_instance.cc Outdated
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