This commit adds a new GitHub Actions workflow file
`backend-core-tests.yml` to the repository. This workflow is triggered
on push and pull request events, specifically for changes made to the
`backend/core` directory. The workflow runs tests for the backend/core
module using a Tika server as a service. It checks the health of the
Tika server before running the tests. The workflow sets up Python,
installs dependencies using Poetry, and runs the tests using pytest.
This commit is necessary to automate the testing process for the
backend/core module and ensure that the tests are run consistently and
reliably.
Co-authored-by: aminediro <aminedirhoussi@gmail.com>
# Description
- Introduce `LLMEndpoint` class: wrapper around a `BaseChatLLM` to load
OpenAI compatible models
- Add `brain.search(...)` function to retrieve
- Test with test-coverage:
- Added ability to load brain `from langchain.Document`
- Configured mypy and poetry lock in `.pre-commit.yaml`
# Test coverage
![image](https://github.com/QuivrHQ/quivr/assets/14312141/629ede66-146e-400f-b40b-8c22a9258a47)
---------
Co-authored-by: aminediro <aminedirhoussi@gmail.com>
This commit updates the GitHub Actions workflows for the backend services (quivr-com-backend, quivr-com, raise-frontend, raise, theodo-backend, and theodo-frontend) to trigger on tag pushes instead of branch pushes. This change allows for more controlled deployments and ensures that only tagged versions are deployed to the respective environments.
This commit adds the release-please-core workflow and configuration files for the python package in the backend. The release-please workflow is triggered on push to the main branch and on manual workflow dispatch. It sets up Python, installs Poetry, configures Poetry, and runs release-please for the backend/core package. The release-please configuration file specifies the release type, package name, bump patch for minor pre-major, changelog notes type, include v in tag, tag separator, and component.
# Description
Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.
## Checklist before requesting a review
Please delete options that are not relevant.
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged
## Screenshots (if appropriate):
* feat(Unplug): Adds new basic headless llm
* feat(Unplug): adds chatting without brain option when no streaming
* feat(Unplug): adds chatting without brain option when streaming
* use function for get_documents_vector_store
* use function for get_embeddings
* use function for get_supabase_client
* use function for get_supabase_db
* delete lasts common_dependencies
* fix(chat routes): HTTPException import correction
Solves "TypeError: HTTPException() takes no keyword arguments"
* fix(chat routes): error in user id comparison in metadata endpoint
current_user.id is a UUID and must be converted to a string before comparison with the chat.user_id string
* fix(backend): temperature signature
* feat(qa): fixed temperature question generator and added doc
* feat(prompt): added instructions to standalone question
* fix(brains-rights): fixed function missing
* feat: add user user identity table
* feat: add user openai api key input
* feat: add encryption missing message
* chore: log more details about 422 errors
* docs(API): update api creation path
* feat: use user openai key if defined
* feat(routes): removed all except openai
* feat(deadcode): removed some deadcode and summarization feature that wasn't used
* feat(streaming): removed privateGPT from it
* chore(requirements): increased version
* 🗃️ update and add fields in brains table
* ✨ update endpoints for more brain attribute
* ✨ new set as default brain endpoint
* 🔥 remove update brain with file
* ✏️ fix wrong auto imports
* 🐛 fix max tokens for model in front
* 🚑 post instead of put to set default brain
* 🚑 update brain creation endpoint with new fields
Just updates `NullableUUID` to extend from `UUID`. This lets FastAPI infer the correct field schema and resolves the /docs and /redocs endpoint failing to render
Signed-off-by: Braden Mars <bradenmars@bradenmars.me>
When attempting to add new files from a crawled github repository, quivr will always fail due to a reference to a non-existant `File.add_files_to_brain` method.
Signed-off-by: Braden Mars <bradenmars@bradenmars.me>
* refactor(BrainUsers)
* feat: give brain share access to EDITORs
* feat(RBAC): add role enum and supports multiple roles check
* feat: make owner right read only for other permissions
* feat: add empty access list message
* feat: set default role to viewer
* feat: reset user invitation form after submit
* feat: add removing access indicator
* feat: add brain name on invitation page
* feat: display brain name on chat page
* feat: clear localStorage on logout
* ♻️ use Single Responsibility Principle on brains_subscription
* ✨ new brain subscription endpoints for invited user
* 📝 add documentation to endpoints
* 🎨 add base_frontend_url to send custom url for brain share
* ✏️ brains instead of brain in url
* ✨ use origin in header for frontend url in subscription email
* 🚚 move and remove unused code
* ✨ new subscription API for BE endpoints in frontend
* ✨ new addBrain to add a shared brain in frontend
* 🥚 new hook for brain invitations
* ✨ new page for brain invitation
* ✨ change frontend url to copy for brain subscription
* ✏️ call RBAC with wrapper function
* ✏️ last typos
* feat(ShareableBrain): add get brain users endpoints
* feat(sdk): add getBrainUsers
* feat(ShareableBrain): display users with access
* feat: rename role to rights
* fix(Brain): fecth brains on auth status change