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

Clean up API #878

Merged
merged 3 commits into from
Aug 16, 2024
Merged

Clean up API #878

merged 3 commits into from
Aug 16, 2024

Conversation

NolanTrem
Copy link
Collaborator

@NolanTrem NolanTrem commented Aug 16, 2024

  • Remove delete response, use 204 instead
  • Remove alembic, deprecated features from v0.2
  • bug fixes

🚀 This description was created by Ellipsis for commit b636429

Summary:

This PR removes deprecated features, updates delete operations to return 204 status, and refines method signatures and metadata handling.

Key points:

  • Remove DeleteResponse, use HTTP 204 status for delete operations.
  • Remove deprecated Alembic features from version 0.2.
  • Convert methods in r2r/main/api/client/auth.py to static methods.
  • Fix handling of None default for input_types in r2r/main/api/client/management.py.
  • Refine user management logic in r2r/main/api/routes/ingestion/base.py for metadata handling.

Generated with ❤️ by ellipsis.dev

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 e274ae1 in 53 seconds

More details
  • Looked at 747 lines of code in 17 files
  • Skipped 0 files when reviewing.
  • Skipped posting 1 drafted comments based on config settings.
1. r2r/cli/cli.py:15
  • Draft comment:
    The removal of the migration command from the CLI could lead to issues if there's no alternative mechanism for managing database schema changes. Ensure there's a strategy in place for handling migrations.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable:
    The comment is speculative as it assumes there might be an issue without the 'migrate' command, but it doesn't provide a definite issue or a clear action to take. The rules suggest removing speculative comments and those that ask for verification or ensuring behavior.
    The comment might be useful if the removal of the 'migrate' command is indeed an oversight, but without more context, it's speculative.
    The rules clearly state to avoid speculative comments and those that ask for verification, so the comment should be removed unless there's a definite issue.
    The comment should be removed as it is speculative and not actionable based on the provided diff.

Workflow ID: wflow_M3oDM9VFTkd8pRlp


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

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.

❌ Changes requested. Incremental review on 9965e12 in 1 minute and 0 seconds

More details
  • Looked at 169 lines of code in 4 files
  • Skipped 0 files when reviewing.
  • Skipped posting 0 drafted comments based on config settings.

Workflow ID: wflow_U1PQoUk8OFVq9YfM


Want Ellipsis to fix these issues? Tag @ellipsis-dev in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet mode, and more.

@@ -84,7 +88,7 @@ async def update_user(
return await client._make_request("PUT", "user", json=data)

async def delete_user(
client, user_id: uuid.UUID, password: Optional[str] = None
self, client, user_id: uuid.UUID, password: Optional[str] = None
) -> dict:
data = {"user_id": str(user_id), "password": password}
response = await client._make_request("DELETE", "user", json=data)
Copy link
Contributor

Choose a reason for hiding this comment

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

The delete_user method should not return a dictionary since HTTP 204 responses must not include a message body. Consider adjusting the method to align with the new API behavior of using HTTP 204 for delete operations.

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! Incremental review on b636429 in 31 seconds

More details
  • Looked at 140 lines of code in 2 files
  • Skipped 0 files when reviewing.
  • Skipped posting 1 drafted comments based on config settings.
1. r2r/main/api/client/auth.py:96
  • Draft comment:
    The delete_user method should return a 204 status code instead of a dictionary to align with the PR's intent of using HTTP 204 for delete operations.
    return 204
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable:
    The comment suggests a change that is inconsistent with the existing code pattern. The method currently returns a response dictionary, which is likely the intended behavior to maintain consistency with other methods. The suggestion to return a 204 status code directly is not actionable without additional context or changes to the method's logic.
    I might be missing the context of the PR's intent regarding HTTP 204 status codes. The comment could be based on a specific requirement or convention that is not visible in the diff.
    The diff does not provide any indication that the method should deviate from the existing pattern of returning response dictionaries. Without additional context, the comment seems speculative.
    Remove the comment as it suggests a change that is inconsistent with the existing code pattern and lacks sufficient context.

Workflow ID: wflow_OEJJyKFnvwhI8AW4


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

@NolanTrem NolanTrem merged commit de8e1aa into dev Aug 16, 2024
1 check failed
@NolanTrem NolanTrem deleted the Nolan/APIBestPractices branch August 16, 2024 23:43
emrgnt-cmplxty added a commit that referenced this pull request Aug 23, 2024
* Feature/merge graphrag group mgmt (#876)

* add group ids to document abstraction, first steps

* extend group permissions

* up

* add tests for new group features

* up

* fixup auth

* onboard extensive regression tests

* adding regression tests

* finish tests

* rm selenium

* test observability

* uncomment tests

* checkin first set of group tests

* modify search, passing vector tests

* checkin work

* full delete logic

* update search to use new filters

* check in

* Clean up

* Check in

* add search

* tests/test_end_to_end.py::test_ingest_txt_document passing

* cleanup logging

* make schemas explicit

* move to run logger abstraction

* cleanup some test workflows

* revive tests

* tweak to pass tests

* tweak rrf

* finish hybrid search cleanup

* fixup on regr tests, regen payloads

* refresh payloads

* refactor api model

* Feature/refactor api model (#868)

* cleanup imports

* flake and cleanup

* coherent global import / export structure

* add ingestion response models

* add management response models

* cleanups

* checkin work on routes

* remove request models

* last fixes

* merge

* add user / group gating

* working test groups

* updating client

---------

Co-authored-by: NolanTrem <[email protected]>

* Clean up API (#878)

* Get running

* fixes in sdk

* Add in more fixes

* Feature/merge dev owen changes (#880)

* add group ids to document abstraction, first steps

* extend group permissions

* up

* add tests for new group features

* up

* fixup auth

* onboard extensive regression tests

* adding regression tests

* finish tests

* rm selenium

* test observability

* uncomment tests

* checkin first set of group tests

* modify search, passing vector tests

* checkin work

* full delete logic

* update search to use new filters

* check in

* Clean up

* Check in

* add search

* tests/test_end_to_end.py::test_ingest_txt_document passing

* cleanup logging

* make schemas explicit

* move to run logger abstraction

* cleanup some test workflows

* revive tests

* tweak to pass tests

* tweak rrf

* finish hybrid search cleanup

* fixup on regr tests, regen payloads

* refresh payloads

* refactor api model

* Feature/refactor api model (#868)

* cleanup imports

* flake and cleanup

* coherent global import / export structure

* add ingestion response models

* add management response models

* cleanups

* checkin work on routes

* remove request models

* last fixes

* merge

* add user / group gating

* working test groups

* updating client

* rename service to restructure

* add get documents for group endpoint

* fix client bugs

* return delete format

* merge cleanups

* merge

* finalize

---------

Co-authored-by: NolanTrem <[email protected]>

* Shreyas/graphrag test (#881)

* add group ids to document abstraction, first steps

* extend group permissions

* up

* add tests for new group features

* up

* fixup auth

* onboard extensive regression tests

* adding regression tests

* finish tests

* rm selenium

* test observability

* uncomment tests

* checkin first set of group tests

* modify search, passing vector tests

* checkin work

* full delete logic

* update search to use new filters

* check in

* Clean up

* Check in

* add search

* tests/test_end_to_end.py::test_ingest_txt_document passing

* cleanup logging

* make schemas explicit

* move to run logger abstraction

* cleanup some test workflows

* revive tests

* tweak to pass tests

* tweak rrf

* finish hybrid search cleanup

* fixup on regr tests, regen payloads

* refresh payloads

* refactor api model

* Feature/refactor api model (#868)

* cleanup imports

* flake and cleanup

* coherent global import / export structure

* add ingestion response models

* add management response models

* cleanups

* checkin work on routes

* remove request models

* last fixes

* merge

* add user / group gating

* sync

* enrich

* up

* fix global search

* rag

* remove client.py

* rm configs

* rm configs

---------

Co-authored-by: emrgnt-cmplxty <[email protected]>
Co-authored-by: NolanTrem <[email protected]>
Co-authored-by: emrgnt-cmplxty <[email protected]>

* Feature/fix embedding pipe (#882)

* up

* fixup concurrency

* fix ollama embeddings

* fix batching with ollama

* checkin all cleanups

* rm kg cruft (#884)

* rm kg cruft

* tweaks

* tweak 2 (#885)

* Feature/fix retrieval endpoint cruft (#887)

* tweak 2

* fix retrieval endpoint descriptions

* Python SDK (#886)

Clean up Python SDK and routes

* Separate out SDK, add js and go sdk to monorepo (#888)

* Add r2r-js sdk

* Add go sdk

* Pull out python sdk

* remove venv

* Update packages

* Check in fixes

* Remove alembic dependencies

* Feature/merge w nolan (#894)

* cleanup hybrid search

* cleanups in

* Fix structure

* Make graspologic optional

* fix rag stream (#895)

* add py r2r (#896)

* Clean up (#897)

* fix agent (#898)

* define `RAGAgentResponse` (#899)

* Shreyas/unstructured (#900)

* api + oss lib

* rm pdb

* rm poetry lock

* update version

* fixes

* Feature/cleanup client obj logic (#901)

* define `RAGAgentResponse`

* cleanup client logic

* Shreyas/tests (#889)

* init

* tests

* rename service

* api model

* add

* merge

* rm restructure router

* print descriptions

* Refactor CLI (#903)

* Rm files readded by git (#904)

* Remove Execution Wrapper (#905)

* Rm files readded by git

* Fix merge botch

* Feature/fix auth revive tests rebased (#906)

* adding the client touch ups

* fix auth, revive tests

* add back tests

* uncomment run auth workflow

* decruft

* refresh test kg

* fixup toml (#908)

* Feature/fix ingestion update (#909)

* fixup toml

* fix update

* Fix CLI Tests (#912)

Fix CLI tests

* Shreyas/kg runtime cfg (#913)

add kg runtime config

* rename kgenrichmentresponse (#914)

* Feature/add nltk hybrid expansion rebased (#917)

* expand hybrid search with nltk

* cleanups

* cleanup hybrid search

* format

* add setup.py

* update

* add script (#918)

* Fix bug in document chunks (#921)

* Fix bug in update files (#923)

* Shreyas/unstructured (#922)

* fix dockerfiles

* adding config

* fix paths

* mv unstructured dep to docker

* clean

* Update docker_utils.py

* Update unstructured_parsing.py

* Update r2r_chunking.py

* Update app_entry.py

* Feature/repair logging (#925)

* fixing logs

* fix

* rm double logging (#929)

* Configs (#926)

* Fix config logic

* Update config

* Clean up cli entry point

* Disable SSL when installing nltk wordnet (#930)

* Fix analytics endpoint

* Update OpenAI sdk calls (#933)

* Feature/revive advanced rag (#932)

* rm double logging

* revive advanced rag examples

* merge (#934)

* sync model (#935)

* Feature/remove version from ingestion end pt (#936)

* sync model

* remove ability to set version

* tweak versions impl

* fix version bug

* Move docker (#938)

* Move docker

* remove from root

* Clean up sdk/restructure.py

* Fix js tests, completion scoring (#939)

* Shreyas/unstructured docker image (#940)

unstructured docker image

* Update JS (#941)

* Update models (#942)

* Feature/complete group logic (#945)

* fix group logic

* up

* Fix Dockerbuild, Symlink Readme (#944)

* Add back tast prompt override and include title if availible

* Fix docker, sym link readme

* Fix compose file path

* Shreyas/KG Search Result model (#937)

* return type to kg_search_result

* add model

* local and global results

* modify config

* refresh should not be gated by auth (#946)

* Linting sync (#947)

* Remove email from refresh (#948)

* Fix link to image

* Feature/rm print cruft rebase (#953)

* refresh should not be gated by auth

* rm print cruft

* black and sort

* merge

* rm

* update api return type

* Update Actions (#954)

* Update Github Actions (#956)

* Update Actions

* Update actions

* Shreyas/kgsearchresult model (#957)

* return type to kg_search_result

* add model

* local and global results

* modify config

* add models

* up

* fix config path

* fix models

* Login and refresh token bug (#959)

* Update Actions

* Fix bug in login with refresh token

* Point pytest to linux (#960)

* collection docs (#955)

* Feature/merge dev to main (#962)

* merge dev and main

* git rm

* add back collection fix

* fix docker builds (#963)

* Running unstructured docker + code cleanups (#964)

* Small bugfixes on prompts, return types (#965)

* Fix failing CLI tests

* NPM publish action

* remove tarball

* Feature/fix dev tests (#966)

* update auth tests

* fix tests

* back and sort

* decruft

* revert back to gpt-4o

---------

Co-authored-by: NolanTrem <[email protected]>
Co-authored-by: Shreyas Pimpalgaonkar <[email protected]>
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.

1 participant