R2R V3
We are very excited to introduce R2R V3. We have been working very intensely as a team over this past month to comprehensively address all the feedback we received after recent explosive growth in R2R usage.
In addition to modifying 420 files and tens of thousands of LOC in the core repository, we have refactored the documentation here - https://r2r-docs.sciphi.ai/introduction.
NOTE - This release has many breaking changes w.r.t to R2R v2 and so we are working on a bespoke migration script to help those already in production.
Highlights
- We've added full GraphRAG support as per the Microsoft GraphRAG paper. This implementation is built alongside our integration with Neo4j inside R2R so that you can build a non-ephemeral user-facing system. The system supports dynamic tuning of a number of query parameters so that you can optimize it for your given application, you can read more here!
- Added full group permissions over vector search, meaning you can create unique dynamic groupings of documents which are permissioned at the user level. Support is included for granular actions like
create_group
,update_group
,add_user_to_group
,add_document_to_group
,add_user_to_group
, and more. Get started with the cookbook here. - We've doubled down on hybrid search by improving the full-text search component and its integration with vector search. The new system employs advanced techniques including text stemming, synonym expansion, phrase matching, and partial matching, all combined with a sophisticated ranking algorithm. Additionally, we've implemented runtime configurability through the VectorSearchSettings object. You can read more here.
- We've implemented a powerful RAG Agent that enables developers to add custom tools and behaviors tailored to specific use cases. This allows R2R developers to trivially go from RAG to Agentic RAG, allowing 1-click construction of full chat intelligence. You can read more here.
- Bug fixes and new focus on production R2R has matured significantly over the last quarter and has now answered over 1 million questions in production. As the system matures we are focusing more on supporting developers in production and carrying out our active development in a way that is minimally disruptive. This new release polishes a number of features that were rough / experimental in V2, while removing some features that were not seeing enough use, such as continuous evaluation.
- Slim CLI and Python SDK to reduce bloat required to launch / interact with R2R through docker.
What's Changed
- Feature/merge graphrag group mgmt by @emrgnt-cmplxty in #876
- Clean up API by @NolanTrem in #878
- Feature/merge dev owen changes by @emrgnt-cmplxty in #880
- Shreyas/graphrag test by @shreyaspimpalgaonkar in #881
- Feature/fix embedding pipe by @emrgnt-cmplxty in #882
- rm kg cruft by @emrgnt-cmplxty in #884
- tweak 2 by @emrgnt-cmplxty in #885
- Feature/fix retrieval endpoint cruft by @emrgnt-cmplxty in #887
- Python SDK by @NolanTrem in #886
- Separate out SDK, add js and go sdk to monorepo by @NolanTrem in #888
- Feature/merge w nolan by @emrgnt-cmplxty in #894
- fix rag stream by @emrgnt-cmplxty in #895
- add py r2r by @emrgnt-cmplxty in #896
- Clean up error handling by @NolanTrem in #897
- fix agent by @emrgnt-cmplxty in #898
- define
RAGAgentResponse
by @emrgnt-cmplxty in #899 - Shreyas/unstructured by @shreyaspimpalgaonkar in #900
- Feature/cleanup client obj logic by @emrgnt-cmplxty in #901
- Shreyas/tests by @shreyaspimpalgaonkar in #889
- Refactor CLI by @NolanTrem in #903
- Rm files readded by git by @NolanTrem in #904
- Remove Execution Wrapper by @NolanTrem in #905
- Feature/fix auth revive tests rebased by @emrgnt-cmplxty in #906
- fixup toml by @emrgnt-cmplxty in #908
- Feature/fix ingestion update by @emrgnt-cmplxty in #909
- Fix CLI Tests by @NolanTrem in #912
- Shreyas/kg runtime cfg by @shreyaspimpalgaonkar in #913
- minor fix: rename kgenrichmentresponse by @shreyaspimpalgaonkar in #914
- Feature/add nltk hybrid expansion rebased by @emrgnt-cmplxty in #917
- add script by @emrgnt-cmplxty in #918
- Fix bug in document chunks by @NolanTrem in #921
- Fix bug in update files by @NolanTrem in #923
- Shreyas/unstructured by @shreyaspimpalgaonkar in #922
- Feature/repair logging by @emrgnt-cmplxty in #925
- rm double logging by @emrgnt-cmplxty in #929
- Configs by @NolanTrem in #926
- Disable SSL when installing nltk wordnet by @NolanTrem in #930
- Fix Analytics by @NolanTrem in #931
- Update OpenAI sdk calls by @NolanTrem in #933
- Feature/revive advanced rag by @emrgnt-cmplxty in #932
- sync model by @emrgnt-cmplxty in #935
- Feature/remove version from ingestion end pt by @emrgnt-cmplxty in #936
- Move docker by @NolanTrem in #938
- Fix js tests, completion scoring by @NolanTrem in #939
- Shreyas/unstructured docker image by @shreyaspimpalgaonkar in #940
- Update JS by @NolanTrem in #941
- Sync JS Models by @NolanTrem in #942
- Feature/complete group logic by @emrgnt-cmplxty in #945
- Fix Dockerbuild, Symlink Readme by @NolanTrem in #944
- Shreyas/KG Search Result model by @shreyaspimpalgaonkar in #937
- refresh should not be gated by auth by @emrgnt-cmplxty in #946
- Sync Linting by @NolanTrem in #947
- Remove email in refresh by @NolanTrem in #948
- Feature/rm print cruft rebase by @emrgnt-cmplxty in #953
- Update Action by @NolanTrem in #954
- Update Github Actions by @NolanTrem in #956
- Shreyas/kgsearchresult model by @shreyaspimpalgaonkar in #957
- Login and refresh token bug by @NolanTrem in #959
- Point to Selfhosted runner by @NolanTrem in #960
- collection docs by @emrgnt-cmplxty in #955
- Feature/merge dev to main by @emrgnt-cmplxty in #962
- fix docker builds by @emrgnt-cmplxty in #963
- Running unstructured docker + code cleanups by @shreyaspimpalgaonkar in #964
- Small bugfixes on prompts, return types by @NolanTrem in #965
- Feature/fix dev tests by @emrgnt-cmplxty in #966
- Feature/merge dev and main by @emrgnt-cmplxty in #967
New Contributors
- @tkellogg made their first contribution in #883
- @mmtmr made their first contribution in #893
- @aphedges made their first contribution in #919
- @manuelciosici made their first contribution in #961
Full Changelog: v0.2.85...v3.0.0*