Commit Graph

26 Commits

Author SHA1 Message Date
Chloé Daems
3b68855a83
fix: Refacto & update dropbox refresh (#2875)
This pull request adds functionality to sync files with DropBox. It
includes the following changes:

- Created a BaseSync class with all specific function for each clouds
- Created a SyncUtils class that takes in a BaseSync and apply the pipe
- fix the refresh method for DropBox

Please review and merge this pull request to enable DropBox sync
functionality in the application.

---------

Co-authored-by: Stan Girard <stan@quivr.app>
Co-authored-by: Amine Dirhoussi <aminediro@quivr.app>
2024-07-19 09:47:11 +02:00
Chloé Daems
4806dc5809
feat(integrations): dropbox (#2864)
# Description

## 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):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-07-17 01:10:35 -07:00
Stan Girard
d36ad19791
feat: Update sync active notification category (#2873)
The code changes in `sync_routes.py` update the category for the sync
notification from "sync" to "generic". This change ensures that the
notification is categorized correctly.

# 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):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-16 08:58:59 -07:00
Antoine Dewez
ed97004269
feat(frontend): new notifications design (#2870)
# 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):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-16 08:18:05 -07:00
Stan Girard
7e3841e2f2
feat: Update sync generic bulk (#2869)
The code changes in `sync_routes.py` update the category for the sync
notification from "sync" to "generic". This change ensures that the
notification is categorized correctly.

# 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):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 10:18:45 -07:00
AmineDiro
9d3e9edfd2
feat: quivr api use quivr core (#2868)
# Description

- `quivr-api` uses `quivr-core` for generating   
- separate `rag_service` 
- removed the package quivr_core from api.
2024-07-15 10:10:03 -07:00
Stan Girard
2f8bcdcdd5
feat(integrations): Add integration fields to Knowledge and SyncsUser models (#2853)
This pull request adds integration fields to the Knowledge and SyncsUser
models. The integration fields include `integration` and
`integration_link`. These fields allow for better integration with
external systems and provide additional information about the
integration.

---------

Co-authored-by: chloedia <chloedaems0@gmail.com>
Co-authored-by: Stan Girard <stan@quivr.app>
Co-authored-by: AmineDiro <aminedirhoussi1@gmail.com>
2024-07-15 10:04:57 -07:00
Stan Girard
c643157b75
feat: Update crawl_endpoint to include knowledge_id in task kwargs (#2867)
# 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):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 08:31:46 -07:00
Stan Girard
9cb7bd97d8
feat: Update category for sync notification (#2866)
The code changes in `sync_routes.py` update the category for the sync
notification from "sync" to "generic". This change ensures that the
notification is categorized correctly.

# 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):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 07:58:22 -07:00
AmineDiro
a90a01ccf2
feat: quivr api send notification (#2865)
# Description

- Quivr notification service. listens to celery events and updates
knowledge status.
- Process file notification will wait for retried tasks
2024-07-15 06:37:42 -07:00
Stan Girard
c8dd70affc
feat(celery): add retry logic for dcos (#2862)
# 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):

---------

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 03:32:00 -07:00
Stan Girard
37793d549a
feat: Improve file loading logic in File model (#2861)
The code changes in `files.py` improve the file loading logic in the
File model. The `load()` method now returns the loaded content, which is
then assigned to the `documents` variable. Additionally, the logger now
includes information about the loaded documents.

# 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):

Co-authored-by: Stan Girard <stan@quivr.app>
2024-07-15 03:10:14 -07:00
Stan Girard
77e1cfb77f
feat: Update file loading logic in File model (#2857) 2024-07-12 16:50:27 +02:00
Stan Girard
5cc1ae5423
feat: Add category and brain_id fields to CreateNotification and Notification models (#2856)
# 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):
2024-07-12 06:56:55 -07:00
AmineDiro
35eb07f7a2
fix: quiv core stream duplicate and quivr-core rag tests (#2852)
# Description

`quivr-core`
- Generate a fixture to simulate a model with function calling
- Monkey patch `QuivrQARAG` stream 
-  Tests function

`quivr-api`
- Fixes empty API responses 
- Fixes non function calling models

---------

Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-07-12 06:07:39 -07:00
Stan Girard
86676c3f39
feat: Add bulk_id field to CreateNotification and Notification models (#2854)
# 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):
2024-07-12 06:04:39 -07:00
Stan Girard
064557f480
feat: Add bulk_id field to CreateNotification and Notification models (#2850)
This pull request adds a new field called `bulk_id` to the
`CreateNotification` and `Notification` models. The `bulk_id` field is
an optional UUID that can be used for bulk operations.
2024-07-12 01:51:27 -07:00
Antoine Dewez
2d2ccc382e
fix(backend): thumbs button were broken (#2849)
# 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):

---------

Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-07-11 16:29:48 +02:00
Antoine Dewez
29cdbca8a8
fix(frontend): remove possibilities to create brain if max amount (#2847)
# 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):
2024-07-11 15:37:24 +02:00
AmineDiro
23ea00726a
fix: fixes duplicate response bug (#2843)
# Description

closes #2794.

Fixes duplicate responses in stream
2024-07-11 06:09:43 -07:00
Stan Girard
cde7c81de1
feat: Improve error handling in acquiring token (#2807)
The code changes handle the case when the access token is not present in
the result of acquiring the token. It now logs an error message with the
specific reason for the failure and raises an HTTPException with a
corresponding detail message. This improves the error handling and
provides more information to the user.

Note: The commit message follows the convention used in the recent user
commits and adheres to the established format.

# 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):
2024-07-09 01:14:37 -07:00
AmineDiro
1fa79de859
fix: RAG service bug assertion error (#2796)
# Description

Fixes assertion error on brains of brain type integration.
!/!: temporary fix casts user_id to string for the assertion
2024-07-04 06:36:34 -07:00
AmineDiro
757bceeb95
fix: asyncpg pooling config fix (#2795)
# Description

closes #2782.

Changes `sqlalchemy` connection pooling config : 

- **pool_pre_ping=True** : pessimistic disconnect handling. 

> - It is critical to note that the pre-ping approach does not
accommodate **for connections dropped in the middle of transactions or
other SQL operations** ! But this should only happen if we lose the
database either due to network of DB server restart.

- **pool_size=10**, with no db side pooling for now, if 6 uvicorn
process workers are spawned (or 6 instances of the backed) we have a
pool of 60 processes connecting to the database.
- **pool_recycle=1800** :  Recycles the pool every 30min

Added additional session config : 
- expire_on_commit=False, When True, all instances will be fully expired
after each commit, so that all attribute/object access subsequent to a
completed transaction will load from the most recent database state.
- autoflush=False, query operations will issue a Session.flush() call to
this Session before proceeding. We are calling `session.commit` (which
flushes) on each repository method so ne need to reflush on subsequent
access
2024-07-04 05:28:02 -07:00
Chloé Daems
913217f682
feat: add megaparse (#2785)
Add megaparse as the main parser

---------

Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-07-04 02:23:15 -07:00
Stan Girard
2e4b80138c
chore: Update flashrank npm dependency to version 0.2.5 (#2781)
# 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):
2024-06-28 09:09:17 -07:00
AmineDiro
2e75de4039
feat(backend): quivr-monorepo and quivr-core package (#2765)
# Description

closes #2722.

- Creates `quivr-monorepo` 
- Separates `quivr-core`
- Update dockerfiles and docker-compose

---------

Co-authored-by: aminediro <aminediro@github.com>
2024-06-27 03:51:01 -07:00