Stan Girard
c21797905d
feat(prompt): added instructions in standalone question & a bit more things ( #826 )
...
* 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
2023-08-02 10:31:42 +02:00
Noe
303ba72028
feat: Introduce repository pattern to prepare adding other database providers ( #646 )
...
* add sqlalchemy models
* add neon settings
* add insert brain
* abstract supabase from Brain class
* abstract supabase from Brain class
* abstract supabase from /models
* update Database to Repository
* update neon_tables to pg_tables
* update chat, api-key and message
* update vector class
* update settings
* update env vars for test
* Update backend-tests.yml
* fix test
* fix fetch_user_requests_count()
* fix fetch_user_requests_count()
* fix increment_user_request_count
* fix increment_user_request_count
* fix asset upload_response message
* fix pyright
* fix brain_subscription
* fix brain_subscription
* fix brain_subscription
* fix get user request stat
* update create_brain_user
* add delete brain vector and user
* add delete brain vector and user
* correctly call function
---------
Co-authored-by: Noé Pion <noe.pion@onfido.com>
Co-authored-by: raoufchebri <raouf@chebri.com>
Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2023-08-01 23:03:47 +02:00
Mamadou DICKO
edcbb30e97
fix: bugs ( #818 )
...
* feat: add chat config modal
* feat: save chat config in localStorage
* feat: remove <ConfigPage/>
* feat: overwrite chat config with brain
* fix(SettingsPage): upload payload keys
* fix: update default brain marker logic
* feat: set new created brain as current selected brain
2023-08-01 16:25:02 +02:00
Stan Girard
c01433c841
fix(openai): user key now used for llm model
2023-08-01 13:46:53 +02:00
Mamadou DICKO
7532b558c7
feat: add user level open ai key management ( #805 )
...
* 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
2023-08-01 09:24:57 +02:00
Stan Girard
3166d089ee
feat(chat): added streaming ( #808 )
...
* feat(tmp): added streaming
* feat(streaming): implemented by changing order
2023-07-31 21:34:34 +02:00
Stan Girard
db40f3cccd
feat(llm): removing all llms to prepare for genoss ( #804 )
...
* 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
2023-07-31 16:01:34 +02:00
Mamadou DICKO
3529222b95
Brain management 4 ( #762 )
...
* feat: add <ApiKeyConfig/>
* feat(SDK): add update brain
* feat: add removeUndefined helper
* feat: remove unnecessary autofocus flag
* add brain settings tab
* ui: add tab delimitor
* feat: improve ux
2023-07-25 23:12:46 +02:00
Zineb El Bachiri
e05f25b025
Feat/update brain fields ( #756 )
...
* 🗃️ 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
2023-07-25 15:22:17 +02:00
Mamadou DICKO
25f859a31e
fix: make max_brain_size overwritable ( #751 )
2023-07-24 14:17:33 +02:00
Braden Mars
914689957d
fix(backend): FastAPI docs broken due to missing schema for NullableUUID
( #739 )
...
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>
2023-07-23 11:14:42 +02:00
Mamadou DICKO
d27504f735
Feat/rate limiting ( #719 )
...
* feat: add max brain count
* fix: prevent page cashing when invitation is invalid
* feat: rename rights to role in frontend
2023-07-20 18:17:55 +02:00
Braden Mars
b3455d3686
fix(parsers.github): AttributeError
when crawling github repository. ( #667 )
...
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>
2023-07-20 16:13:25 +02:00
Mamadou DICKO
eb779f9e58
Minor UX improvments ( #717 )
...
* feat: display user rights on invitation page
* feat: add brain name in invitation email
2023-07-20 15:15:43 +02:00
Mamadou DICKO
d7ca11f5d1
feat: prevent editor to share as owner ( #715 )
...
* feat(UploadPage): redirect to login if not connected
* feat: prevent editor to share as owner
2023-07-20 15:15:32 +02:00
Mamadou DICKO
6c5016c79a
[ShareableBrain]: Feat: require owner role to delete content or remove user access ( #711 )
...
* feat: require owner right to remove content from brain
* feat: require owner right to remove user access from brain
2023-07-19 17:13:02 +02:00
Mamadou DICKO
aa7bc483c2
feat: check user role on brain before file upload ( #709 )
2023-07-19 13:41:46 +02:00
Mamadou DICKO
87458d8de1
Feat/brain access rights ( #705 )
...
* 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
2023-07-19 13:36:23 +02:00
Mamadou DICKO
7a2450eaf4
[ShareableBrain]: improve UX, fix minors bugs, refactor ( #695 )
...
* 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
2023-07-18 18:28:44 +02:00
Zineb El Bachiri
1f5443bd24
🚑 fix resend invitation emails ( #696 )
2023-07-18 18:10:48 +02:00
Stan Girard
8abd979ca2
ci(docker): fixed
2023-07-18 16:54:31 +02:00
Stan Girard
4d3dbc565e
feat(ci): fixed
2023-07-18 16:52:55 +02:00
Stan Girard
78fbe378e8
feat(prompt): added continue
2023-07-18 16:48:43 +02:00
Matt
2f5088547a
test: fix ci
2023-07-18 15:34:08 +01:00
Stan Girard
d16b419035
feat(prompt): added continue
2023-07-18 16:04:56 +02:00
Mamadou DICKO
81b57c504a
Shareable brain 9 ( #677 )
...
* feat: add 20230717173000_add_get_user_id_by_user_email
* feat(ShareableBrain): add update access endpoint
* feat(sdk): add updateBrainAccess
* feat: add brain access control
* feat: improve ux
2023-07-18 14:30:19 +02:00
Zineb El Bachiri
0b091bd8c9
Feat/shareable brains open link authenticated ( #676 )
...
* ♻️ 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
2023-07-18 09:47:59 +02:00
Stan Girard
f63136350b
feat(resend): added env variablers ( #673 )
...
* feat(resend): added env variablers
* fix(resend): made optional
2023-07-17 15:45:31 +02:00
Mamadou DICKO
430ab54479
Shareable brain 8 ( #674 )
...
* 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
2023-07-17 15:45:18 +02:00
Mamadou DICKO
4d00a1ec92
feat(shareBrain): use subscription delete endpoint for brain deletion ( #634 )
2023-07-17 14:38:34 +02:00
Matt
e61f437ce8
Feat/backend core ( #656 )
2023-07-17 07:57:27 +01:00
nicksan222
c4c15a497c
Fixed pandocs ( #662 )
2023-07-15 23:20:47 +02:00
Matt
9f2cd7b7b6
fix: bug if no brain ( #635 )
2023-07-14 20:02:26 +01:00
Matt
211740b400
fix: defined executable for windows/linux users ( #652 )
2023-07-14 18:24:09 +02:00
Mamadou DICKO
fc76f9d466
feat(shareBrain): add unsubscribe endpoint ( #633 )
2023-07-13 18:05:36 +02:00
Mamadou DICKO
f65044e152
fix(RBAC): use dependencies ( #629 )
2023-07-13 17:54:23 +02:00
Mamadou DICKO
83fe9430d0
feat(RBAC): remove decorators ( #627 )
2023-07-13 12:12:02 +02:00
Mamadou DICKO
029f7b75df
Fix: explore routes RBAC ( #613 )
...
* fix(explore_routes): update RBAC logic
* test(backend): update test_upload_explore_and_delete_file_pdf
2023-07-13 11:02:52 +02:00
Matt
cef45ea712
Fix: change vector id to UUID ( #609 )
...
* fix: document upload
* feat: explore fix to use uuid id
* chore: remove prints
* fix: tables.sql
2023-07-12 11:44:34 +01:00
Stan Girard
f9a04ffbe2
test(backend): added csv and pdf upload
2023-07-12 10:03:07 +02:00
Matt
8fbb4b2d91
fix: gpt4all ( #595 )
...
* fix: gpt4all
* fix: pyright
* Update backend/llm/openai.py
* fix: remove backend tag
* fix: typing
* feat: qa_base class
* fix: pyright
* fix: model_path not found
2023-07-11 20:15:56 +02:00
Zineb El Bachiri
f837a6e9b9
Feat/shareable brains send link be ( #599 )
...
* 🗃️ new table for invitations to subscribe to brain
* ✨ new BrainSubscription class
* ✨ new subscription router
* 👽 ️ add RESEND_API_KEY to .env in BE
* 📦 add 'resend' lib to requirements
* ♻️ fix some stanGPT
2023-07-11 18:20:31 +02:00
Matt
cf37666f02
feat: tests get default brain ( #593 )
...
* feat: tests get default brain
* feat: chains docs
* feat: brains docs
* fix: remove brain_id creation from fe
* fix: docs categories
2023-07-11 12:09:56 +02:00
Mamadou DICKO
72924b52bc
[Authorization] Check user role before operations ( #588 )
...
* feat(security): add RBAC on /explore/*
* feat(security): add RBAC on /brains/*
2023-07-11 10:00:06 +02:00
Maria Romanenko
1be71e9e79
docs(backend): add docstrings ( #590 )
2023-07-10 19:28:38 +02:00
Mamadou DICKO
9e9f531c99
Feat/static analysis ( #582 )
...
* feat: add static analysis
* chore: update Makefile add static analysis script
* chore: add vscode extensions recommandations
2023-07-10 14:27:49 +02:00
Stan Girard
fa386d7d5c
feat(prompt): improved
2023-07-07 16:58:49 +02:00
Matt
5735a8ec8c
feat: email edge function ( #545 )
2023-07-07 00:54:21 +02:00
Zineb El Bachiri
9e942ba959
✨ add cors security headers ( #533 )
2023-07-06 19:01:38 +02:00
Matt
f352005dcf
Fix: add missing properties ( #530 )
2023-07-06 09:52:47 +01:00
Zineb El Bachiri
0edc4f628c
🚑 use multithreading instead of multiprocessing for container in ECS ( #525 )
2023-07-05 18:15:18 +02:00
Zineb El Bachiri
01ea71aca8
🐛 send select request supabase in batches with multiprocessing ( #518 )
2023-07-05 14:37:01 +02:00
Matt
f4ba4d9d18
fix: jwt decode to return user object ( #513 )
2023-07-05 08:27:58 +01:00
Matt
e931d29017
feat: new classes ( #499 )
...
* feat: new classes
* chore: private llm refactor and enable streaming
* fix: validation errors in pytest
* fix: default brain behavior
* Update backend/llm/base.py
* chore: remove 🪦
* fix: remove 🪦
2023-07-04 16:56:54 +01:00
Stan Girard
dcaa70a947
feat(functions): improved by removing only get_context ( #459 )
2023-07-03 12:34:37 +02:00
Matt
b33fcc8bf7
feat: base class for llms ( #462 )
2023-07-03 11:16:36 +02:00
Stan Girard
ce18e033c1
ci(test): added test on endpoints ( #454 )
2023-07-02 15:37:23 +02:00
Stan Girard
b444761622
fix(sentry): added fix
2023-07-02 10:54:36 +02:00
Stan Girard
3918ad3015
fix(sentry): removed from variables
2023-07-02 10:26:16 +02:00
Stan Girard
e076bbe79f
Feat/testing backend ( #446 )
...
* feat(pytest): added
* feat(brains): added tests
* feat(actions): pytest
2023-07-02 02:19:30 +02:00
Stan Girard
bab76ba7e5
fix(apikey): fixed with bad casting ( #444 )
2023-07-01 23:30:14 +02:00
Stan Girard
fbd1e17018
feat(sentry): added sentry ( #443 )
2023-07-01 21:12:13 +02:00
Stan Girard
b76262c4f0
Fix a bunch of issues ( #442 )
...
* fix(tokens): overflow
* fix(chat): fixed deletion error of the chat
#441
* fix(default-brain): autoset default brain when on upload page
* fix(promptengineering): changed prompt a bit
* feat(growthbook): removed
* docs(readme): updated
2023-07-01 17:22:28 +02:00
Zineb El Bachiri
81321ea615
🚑 fix on fetch user & csv upload ( #438 )
...
* 🚑 fix on fetch user
* 🚑 fix imports for csv
2023-06-30 12:15:50 +02:00
Zineb El Bachiri
a13219c73f
🚑 quick fix for brain temporary redirect ( #427 )
2023-06-30 10:57:17 +02:00
Matt
6f047f4a39
feat: streaming for standard brain picking ( #385 )
...
* feat: streaming for standard brain picking
* fix(bug): private llm
* wip: test
Co-authored-by: Mamadou DICKO <mamadoudicko@users.noreply.github.com>
* wip: almost good
Co-authored-by: Mamadou DICKO <mamadoudicko@users.noreply.github.com>
* feat: useFetch
* chore: remove 💀
* chore: fix linting
* fix: forward the request if not streaming
* feat: streaming for standard brain picking
* fix(bug): private llm
* wip: test
Co-authored-by: Mamadou DICKO <mamadoudicko@users.noreply.github.com>
* wip: almost good
Co-authored-by: Mamadou DICKO <mamadoudicko@users.noreply.github.com>
* feat: useFetch
* chore: remove 💀
* chore: fix linting
* fix: forward the request if not streaming
* fix: 💀 code
* fix: check_user_limit
* feat: brain_id to new chat stream
* fix: missing imports
* feat: message_id created on backend
Co-authored-by: Mamadou DICKO <mamadoudicko@users.noreply.github.com>
* chore: remove dead
* remove: cpython
* remove: dead
---------
Co-authored-by: Mamadou DICKO <mamadoudicko@users.noreply.github.com>
2023-06-30 10:10:59 +02:00
Zineb El Bachiri
056a68d5ed
Fix/prod ( #425 )
...
* 🐛 update db tables script
* ✏️ fix users routes
* 🐛 add '/' AGAIN in URLs
2023-06-30 10:09:50 +02:00
Zineb El Bachiri
b016413099
✏️ add / in all explore url ( #415 )
...
* ✏️ add / in all explore url
* 🐛 fix user routes
* ⚰️ remove dead code
* ✨ add name to active brain
2023-06-30 09:08:40 +02:00
Zineb El Bachiri
4d9bd512ec
Fix/file upload explore ( #412 )
2023-06-29 18:26:03 +02:00
Stan Girard
3946dbc668
fix(crawler): route
2023-06-29 08:00:34 +02:00
Zineb El Bachiri
ccdc5bb7a7
Feat/multiple brains files ( #361 )
2023-06-28 19:39:27 +02:00
Michael Tan
0888bc5da2
(fix) temporary audio file not removed. ( #377 )
...
* (fix) temporary audio file not removed.
In audio.py file:
texts = text_splitter.split_text(transcript)
Threw an exception.
TypeError: expected string or bytes-like object, got 'OpenAIObject'
This causes the temporary file to persist.
Signed-off-by: Michael Tan <tan.michael@mac.com>
* Additionally fix the reason why text splitting threw the exception.
Default response format is JSON.
Signed-off-by: Michael Tan <tan.michael@mac.com>
---------
Signed-off-by: Michael Tan <tan.michael@mac.com>
2023-06-28 09:47:59 +02:00
Stan Girard
00d7ec131c
fix(vectorstore): removed userid
2023-06-27 11:44:23 +02:00
Stan Girard
81a3d48fbc
fix(vectorstore): issues with userid ( #380 )
...
* fix(vectorstore): issues with userid
* perf(analytics): added tracking for file upload and chat (#376 )
* fix: conditionnaly update functions list (#379 )
---------
Co-authored-by: Mamadou DICKO <63923024+mamadoudicko@users.noreply.github.com>
2023-06-26 19:02:03 +02:00
Mamadou DICKO
e045a55ae7
fix: conditionnaly update functions list ( #379 )
2023-06-26 17:27:06 +02:00
Stan Girard
5fc837b250
feat(brainpicking): simplified ( #371 )
...
* feat(functions): simplified
* refactor(openai): changed to brainpicking
* feat(functions): made them inherit from brainpicking
* feat(privatebrainpicking): added new class
* feat(history&context): added
* Delete test_brainpicking.py
* Delete __init__.py
2023-06-26 10:34:03 +02:00
Stan Girard
572fc7e1b0
fix(openai): skip if api key
2023-06-23 17:59:53 +02:00
Matt
d9b2be19d7
feat: start script ( #367 )
...
* feat: start script
* make faster
2023-06-23 14:20:03 +02:00
Mamadou DICKO
3922d8ca83
Feat/error handling ( #366 )
...
* feat: improve error handling
* docs: explain error handling system
2023-06-23 10:36:55 +02:00
Mamadou DICKO
59fe7b089b
feat(chat): use openai function for answer ( #354 )
...
* feat(chat): use openai function for answer (backend)
* feat(chat): use openai function for answer (frontend)
* chore: refacto BrainPicking
* feat: update chat creation logic
* feat: simplify chat system logic
* feat: set default method to gpt-3.5-turbo-0613
* feat: use user own openai key
* feat(chat): slightly improve prompts
* feat: add global error interceptor
* feat: remove unused endpoints
* docs: update chat system doc
* chore(linter): add unused import remove config
* feat: improve dx
* feat: improve OpenAiFunctionBasedAnswerGenerator prompt
2023-06-22 17:50:06 +02:00
Matt
83fde0aeea
feat: private llm ( #360 )
...
* feat: private llm
* Update backend/vectorstore/supabase.py
* Update backend/vectorstore/supabase.py
2023-06-22 09:45:35 +01:00
Stan Girard
3d11e3fb51
refactor(brain): removed braintoupdate and added brain ( #356 )
...
* refactor(brain): removed braintoupdate and added brain
* feat(brain): updated
2023-06-21 10:16:44 +02:00
Matt
3e753f2d56
feat: stream router ( #353 )
...
* wip: stream router
* feat: chatai streaming
* chore: add comments
* feat: streaming for chains
* chore: comments
2023-06-20 21:53:04 +02:00
Zineb El Bachiri
9c8e0aa0e4
Feat/multiple brains frontend ( #344 )
...
* 🗑️ remove date input from fetch_user_id_from_credentials
* ♻️ refactor backend utils by splitting it into files
* 💡 comments for next actions to update /upload
* 🚚 move SupabaseProvider tp libs
* 🚚 move useAxios to hooks
* ♻️ refacto brain routes
* 🚨 update lintermfor paths
* ✨ new brain context provider
* ✨ new brain component in navbar
* 🚨 fix linter and async
* 🇸🇪 add feature flag for multiple-brains
2023-06-20 16:17:13 +02:00
Mamadou DICKO
e1a740472f
Feat: chat name edit ( #343 )
...
* feat(chat): add name update
* chore(linting): add flake8
* feat: add chat name edit
2023-06-20 09:54:23 +02:00
Stan Girard
8ed8a2c9ef
chore: 🤖 docs
...
added docs
2023-06-20 08:56:17 +02:00
Stan Girard
533446a2b4
chore(refacto): removed unused
2023-06-20 00:14:40 +02:00
Stan Girard
99258790ad
refactor(brainpicking): removed one function
2023-06-19 23:14:42 +02:00
Stan Girard
969e0b48a8
refactor(brains): into brainpicking
2023-06-19 22:55:42 +02:00
Stan Girard
c7fdbf6dec
feat(refacto): removed commons
2023-06-19 22:54:01 +02:00
Stan Girard
72a6ae3dc0
feat(settings): refactored
2023-06-19 22:46:25 +02:00
Stan Girard
b8ec6fd342
refactor(brainsettings): added moved files
2023-06-19 21:21:26 +02:00
Stan Girard
c222f57b22
refactor(settings): moved to own folder
2023-06-19 21:20:08 +02:00
Stan Girard
dc6f610b26
feat(neurons): added class
2023-06-19 21:15:35 +02:00
Stan Girard
d42f14f431
feat(brainpicking): new class
2023-06-19 20:51:13 +02:00
Stan Girard
17aaf18d61
feat(vectorstore): own folder
2023-06-19 20:15:34 +02:00
Stan Girard
954acf1286
fix(llm): changed to stuff
2023-06-19 17:53:07 +02:00
Stan Girard
225280f2f5
fix(doc): retrieval to 8 because it takes a long time
2023-06-19 11:23:58 +02:00
Stan Girard
c0ff030100
feat(k): increased to 16
2023-06-17 01:32:03 +02:00
Stan Girard
65c44b3fb9
feat(chat): improved chain
2023-06-17 01:16:11 +02:00