-
Notifications
You must be signed in to change notification settings - Fork 5
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
feat: reimplement core parts of cbrkit #222
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Mirko Lenz <[email protected]>
Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/88a55dffa4d44d294c74c298daf75824dc0aafb5?narHash=sha256-8Eo/jRAgT3CbAloyqOj6uPN1EqBvLI/Tv2g%2BRxHjkhU%3D' (2025-01-27) → 'github:nixos/nixpkgs/9a5db3142ce450045840cc8d832b13b8a2018e0c?narHash=sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw%3D' (2025-01-29) • Updated input 'pyproject-nix': 'github:pyproject-nix/pyproject.nix/78ea10a115be7b7ae45b241d06392e014988a162?narHash=sha256-MpPHyTCrI7dpiRgzZTH7PEMLZCvI2Dc3iOr4GSaQ/II%3D' (2025-01-26) → 'github:pyproject-nix/pyproject.nix/0d9f4b90cee1b5c5d6c142ef22de1e246e003ccc?narHash=sha256-J5M2sj3x4ocM93shScT/3Z4XWHZhwwW1NyQK%2BC%2B8Mys%3D' (2025-01-30) • Updated input 'treefmt-nix': 'github:numtide/treefmt-nix/f2cc121df15418d028a59c9737d38e3a90fbaf8f?narHash=sha256-5An1wq5U8sNycOBBg3nsDDgpwBmR9liOpDGlhliA6Xo%3D' (2025-01-21) → 'github:numtide/treefmt-nix/bebf27d00f7d10ba75332a0541ac43676985dea3?narHash=sha256-j6jC12vCFsTGDmY2u1H12lMr62fnclNjuCtAdF1a4Nk%3D' (2025-01-28) • Updated input 'uv2nix': 'github:pyproject-nix/uv2nix/e47ec890012166425d1f90fb825eff208baaef4b?narHash=sha256-dC7J0Rua2UhP%2BEKlJY3jjQLzgzBnOo1iK/d2aIN0hAs%3D' (2025-01-24) → 'github:pyproject-nix/uv2nix/fd41fdec2fed599ba884bc2706c2263f01e2183c?narHash=sha256-Lwb86tkHoeJdjYaAHYZPkUZJoWXNHb5IQjzDyd4Vxno%3D' (2025-01-30)
Flake lock file updates: • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/b905f6fc23a9051a6e1b741e1438dbfc0634c6de?narHash=sha256-%2Bhu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU%3D' (2025-01-06) → 'github:hercules-ci/flake-parts/32ea77a06711b758da0ad9bd6a844c5740a87abd?narHash=sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm%2BzmZ7vxbJdo%3D' (2025-02-01) • Updated input 'flake-parts/nixpkgs-lib': 'https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz?narHash=sha256-CewEm1o2eVAnoqb6Ml%2BQi9Gg/EfNAxbRx1lANGVyoLI%3D' (2025-01-01) → 'https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz?narHash=sha256-vJzFZGaCpnmo7I6i416HaBLpC%2BhvcURh/BQwROcGIp8%3D' (2025-02-01) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/9a5db3142ce450045840cc8d832b13b8a2018e0c?narHash=sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw%3D' (2025-01-29) → 'github:nixos/nixpkgs/102a39bfee444533e6b4e8611d7e92aa39b7bec1?narHash=sha256-Q4vhtbLYWBUnjWD4iQb003Lt%2BN5PuURDad1BngGKdUs%3D' (2025-02-01)
NOTABLE CHANGE: The entire library has largely been rewritten, so there will be additional breaking changes. Please refer to the Readme and the tests for more information. NOTABLE CHANGE: The function `cbrkit.reuse.build` now expects a retriever function instead of a similarity function so that more logic can be shared between the phases. NOTABLE CHANGE: To better support the new retrieval functions, the arguments `limit`, `min_similarity`, and `max_similarity` of the function `cbrkit.retrieval.build` have been removed. Instead, wrap your call of `cbrkit.retrieval.build` with the new function `cbrkit.retrieval.dropout` that now exposes these arguments. NOTABLE CHANGE: The functions `apply` and `mapply` have been removed to better support processing multiple queries at once. They have been replaced by the functions `apply_query` and `apply_queries`. Both return the same result object, so the return value of `apply_queries` is not identical to the one of the previous `mapply` function. The functions `apply` and `apply_query` however share the same return type. NOTABLE CHANGE: The number of processes to use for retrieval is no longer passed to the `apply` functions, but instead given to the `build` function. NOTABLE CHANGE: To better support the new retrieval functions, the arguments `limit`, `min_similarity`, and `max_similarity` of the function `cbrkit.retrieval.build` have been removed. Instead, wrap your call of `cbrkit.retrieval.build` with the new function `cbrkit.retrieval.dropout` that now exposes these arguments. NOTABLE CHANGE: CBRkit now provides additional modules for `adapt`, `reuse`, `cycle`, and `eval`. NOTABLE CHANGE: We added support for logging via the standard library. NOTABLE CHANGE: There is a new `synthesis` module that provides tight integration with various LLM providers. This can for instance be used to develop RAG applications using CBR. NOTABLE CHANGE: Loading and dumping cases has been reworked, we now provide generators to construct serialization and deserialization functions. NOTABLE CHANGE: Caching of similarity values has been added, simply wrap your existing similarity function with the new `cbrkit.sim.cache` wrapper. NOTABLE CHANGE: A new embedding module `cbrkit.sim.embed` has been added that provides a better interface to compose string-based similarity functions that rely on vectors. It also includes a cache that can be stored on disk. NOTABLE CHANGE: Similarity functions for graphs have been overhauled and now provide a more consistent interface.
This will be merged locally instead |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Over the past months, almost everything in CBRkit has been reworked to be more modular. We also implemented many new features. While breaking changes will still happen in the future, we want to integrate these changes into the main branch and come back to more regular releases of the library.