Commit Graph

48 Commits

Author SHA1 Message Date
Antoine Dewez
2baa405991
feat(frontend): search modal - remove parameters and explore buttons (#2094)
# 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-01-26 16:06:01 -08:00
王春跃
7c9fdd28ed
fix(streaming): Data Truncation Issue in useHandleStream Function (#2079)
**Description**
This PR introduces modifications to the useHandleStream function in the
useHandleStream.ts file, aiming to resolve the issue of data truncation
leading to incomplete display of Q&A on the front end. By optimizing
data handling logic and enhancing error management, this change ensures
the integrity of data streams and accurate display on the front end.

**Changes Made**
Introduced a variable incompleteData to store and process incomplete
data fragments.
Implemented logic to concatenate incomplete data with new chunks and
parse them once complete.
Added error handling to gracefully manage the parsing of incomplete data
and data strings.
Improved the handling of the first data chunk, enhancing the coherence
of data processing.
**Motivation and Context**
The primary motivation for these changes is to address the issue of
incomplete front-end display, caused by data stream truncation under
unstable network conditions. This optimization is intended to enhance
the stability and reliability of the application when handling large
volumes of real-time data streams, ensuring that the user interface
correctly displays complete Q&A information.

**Checklist before requesting a review**
 My code follows the style guidelines of this project.
 I have performed a self-review of my own code.
 I have commented in hard-to-understand areas of my code.
 I have made corresponding changes to the documentation (if applicable).
I have added tests that prove my fix is effective or that my feature
works (if applicable).
 New and existing unit tests pass locally with my changes.
Any dependent changes have been merged and published in downstream
modules (if applicable).
**Screenshots (if appropriate)**

![image](https://github.com/StanGirard/quivr/assets/80630709/fb4f4c7f-5541-418c-8d9a-2cdc8ea641b9)

Co-authored-by: qcloud <ubuntu@localhost.localdomain>
Co-authored-by: Stan Girard <girard.stanislas@gmail.com>
2024-01-25 18:03:08 -08:00
Antoine Dewez
66ffc6b9aa
feat(panel): added (#2088)
# 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-01-25 12:44:24 -08:00
Antoine Dewez
b5e2d5ad9c
feat(frontend): Add Brain On Search Page (#2067)
# Description

- Implement Icon Component
- Implement TextButton Component
- Change Add Brain Button And Set it in the Search Page
- Fix Errors When sending empty message
- Change EsLint rules

## 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-01-22 17:37:45 -08:00
Antoine Dewez
fe42c9a82d
fix(frontend): set chat messages only if needed (#2040)
# 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-01-20 18:39:27 -08:00
Antoine Dewez
a99d23cf83
fix(frontend): don t load chat items on search (#2036)
# 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-01-20 13:23:38 -08:00
Stan Girard
d0b8b797f6
feat(search): new way to interact with Quivr (#2026)
Co-authored-by: Zewed <dewez.antoine2@gmail.com>
Co-authored-by: Antoine Dewez <44063631+Zewed@users.noreply.github.com>
2024-01-19 20:34:30 -08:00
Mamadou DICKO
e2c1a027b0
feat: add chat view new design (#1897)
Issue: https://github.com/StanGirard/quivr/issues/1888

- Add Spinner when history is loading
- Change chat messages fetching logic
- Add cha view new design

Demo:



https://github.com/StanGirard/quivr/assets/63923024/c4341ccf-bacd-4720-9aa1-127dd557a75c
2023-12-14 16:22:09 +01:00
Mamadou DICKO
68da22aa1d
feat: update models logic (#1767)
- The frontend no longer sets a default model
- Either a model is chosen by the user, or it will be done by the
backend

Issue: https://github.com/StanGirard/quivr/issues/1747
2023-11-30 22:08:36 +01:00
Mamadou DICKO
13b174b202
feat: add optimistic update on new message (#1764)
Demo: 



https://github.com/StanGirard/quivr/assets/63923024/3aecb83f-3acd-46d4-900d-a042814c6638


Issue: https://github.com/StanGirard/quivr/issues/1753
2023-11-30 12:49:04 +01:00
Mamadou DICKO
ea227df30e
feat(onboarding): add suggested questions answer (#1390)
https://github.com/StanGirard/quivr/assets/63923024/08554dd5-2765-436a-b900-48b38d582f6c



https://github.com/StanGirard/quivr/issues/1389
2023-10-12 09:39:56 +02:00
Mamadou DICKO
b9172b7442
feat: track onboarding events (#1388)
https://github.com/StanGirard/quivr/issues/1386
2023-10-11 15:56:28 +02:00
Mamadou DICKO
808b8ffa12
feat: update chat list on new chat first message (#1305)
* feat: refecth chats list on first message

* style: change chat items colors
2023-10-03 12:08:14 +02:00
Mamadou DICKO
36fd146fed
feat: improve app ux (#1281)
* style: make FeedItemIcon the same size

* feat: update feed component brain selector label position

* style: change purple to 600

* feat: improve already dropped file message ux

* feat: autoclose feedinput on chatId change

* style: change chat colors

* feat: prevent linebreak in knowledge to upload row

* feat(textFIeld): avoid textfield content going under icon

* feat(knowledgeToUpload): add tooltip on urls and files name

* feat(feedBrain): auto scroll on messages when feed modal get opened

* style: update colors

* refactor: rename uploadCard to FeedCard
2023-09-29 10:24:31 +02:00
Zineb El Bachiri
b64fc044c4
feat: knowledge tab add button (#1277)
* 🚧 🌐 knowledge traductions

* 🔥 replace useKnowledge hook

*  AddKnowledge in knowledge  tab

* 🚧 extract feedBrain in chat hook

* ♻️ use feedBrain method as a prop in KnowledgeToFeedInput

*  custom feedBrain for chat and brain management

*  add loader when deleting

* 🚑 remove chat after auto creation for each feed action

* 🚚 rename KnowledgeProvider into KnowledgeToFeedProvider
2023-09-28 15:39:30 +02:00
Mamadou DICKO
2226eef06b
feat(chatPage): update ui add new feed component (#1275)
* feat(brains): remove unrelevent buttons on management page

* feat: improve feed input ux

* feat: update brain knowledge context add knowledge to feed logic

* feat: allow to drop files everywhere in the chat section

* style: add slide in effect when opening feed card

* test(chatPage): fix failing tests
2023-09-28 11:29:55 +02:00
Mamadou DICKO
ef78dec810
feat: improve knowledge feed process ux (#1274)
* style(deleteBrainModal): reduce buttons space

* refactor: add KnowledgeToFeedInput

* feat: update translations

* feat: update knowledge feed component

* style: reduce knowledge to upload displayer size

* feat: move KnowledgeToFeedInput to @lib

* refactor: rename useSelectedChatPage to useChatNotificationsSync

* feat: change chatPage bg to gray when feed card is opened

* style: change feed process submit button bg to purple
2023-09-27 15:39:04 +02:00
Mamadou DICKO
c8f045dfad
feat: save last chat config and make it default one (#1266)
* fix(RBAC): skip validation for unplug

* feat(chatSettings): set last config as default

---------

Co-authored-by: Zineb El Bachiri <100568984+gozineb@users.noreply.github.com>
2023-09-26 18:41:02 +02:00
Mamadou DICKO
a4a2d769b3
feat: allow setting public brain status to private (#1258)
* feat: refetch brains list on when new brain is added

* feat: update BrainConfig type

* feat: update useSettingsTab add usebrainFormState and useSettings tab

* feat: add <PrivateAccessConfirmationModal/> modal

* feat: update translations

* feat: handle brain status change to private

* feat: validate chat access

* test: fix failaing tests and remove deprecated
2023-09-26 10:35:52 +02:00
Zineb El Bachiri
886d30cf9e
feat(analytics): add google analytics (#1147)
* 🚚 move june analytics to folder and update paths

*  set up google analytics

*  sent firt GA event with react-ga

* 🔒️ update security headers to include vercel and google analytics

* 🚚 rename Vercel Analytics

*  use react-ga4 instread

* 💚 fix tests
2023-09-18 15:12:50 +02:00
Stan Girard
f362269600
feat(notificatins): higher refresh rate (#1184)
* fix

* feat(notificatins): higher refresh rate
2023-09-16 13:51:08 +02:00
Mamadou DICKO
7cc90ef258
feat: add polling for pending notifications (#1152)
* feat: add notification controller

* feat: add polling logic on pending notifications

* feat: refecth notifications on Feed
2023-09-12 18:00:46 +02:00
Mamadou DICKO
10af0c949a
feat: add notifications components (#1148)
* feat: rename ChatMessages to MessagesDialog

* feat: rename history to messages

* feat: add notifications to ChatContext

* feat: add getNotificationsFromChatHistory

* feat: add getMergedChatHistoryWithReducedNotifications

* refactor: update useActionBar

* refactor: update <ChatMessage />-n

* feat: update crawler and endpoint notifications content

* feat: display notifications

* test: update <MessageDialog /> tests

* feat: rename ChatMessage to QADisplay

* feat: rename ChatHistory to ChatMessage

* feat(upload): throw error when file missing

* feat: rename getMergedChatHistoryWithReducedNotifications to getMergedChatMessagesWithReducedNotifications

* feat: change history wording to message

* feat: move getFileIcon to lib

* refactor(NotificationDisplayer): move types to types.ts

* chore: improve ux

* feat: rename MessagesDialog to ChatDialogue
2023-09-12 17:44:15 +02:00
Mamadou DICKO
9464707d40
feat: merge chat history with chat notifications (#1127)
* feat: add chat_id to upload and crawl payload

* feat(chat): return chat_history_with_notifications

* feat: explicit notification status on create

* feat: handle notifications in frontend

* feat: delete chat notifications on chat delete request
2023-09-07 17:23:31 +02:00
Mamadou DICKO
bcf954135c
feat: handle new chat button click (#1054) 2023-08-30 09:45:11 +02:00
Mamadou DICKO
6e43e6f16f
feat: add headless question tracking (#1051) 2023-08-29 12:26:08 +02:00
Mamadou DICKO
072d97adb1
feat: add prompt trigger through # (#1023)
* feat: add prompt trigger to mention input

* feat: update chat shortcuts

* test: update BrainProviderMock

* feat: improve ux

* feat: update message header position

* feat: improve mention input dx

* fix(MentionInput): fix minor bugs

* feat: refactor <ShareBrain/>

* feat: add brain sharing button

* fix: make popover buttons click working

* feat: update backspace handle logic

* feat: update add new brain button ui
2023-08-29 10:50:36 +02:00
Mamadou DICKO
8e94f22782
feat(chat): add brain selection through mention input (#969)
* feat(chat): add brain selection through mention input

* feat: detect mention deletion from editor

* feat: improve ux

* chore: improve dx

* feat: update translations

* feat: improve mention popover ui

* fix: update failing tests

* feat: add mentions suggestion popover

* feat: update translations

* feat: remove add new brain button
2023-08-22 10:05:52 +02:00
Zineb El Bachiri
20d5294795
explicit too many request in chat error (#1000) 2023-08-21 16:07:07 +02:00
Zineb El Bachiri
74da7dde2d
Crawl/update env variables (#931)
* 📝 add env variable for crawl

* 🐛 make CharQuestion with optional attributes

* 💡 make chatQustion config optional
2023-08-18 11:59:20 +02:00
Stepan Lebedev
600ff1ede0
feat(Unplug): chatting without brain streaming (#970)
* 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
2023-08-18 10:32:22 +02:00
Mamadou DICKO
f99f81d10f
feat: add brain missing message (#958) 2023-08-16 10:47:38 +02:00
Mamadou DICKO
80be40ad34
feat: update chat ui (#907)
* feat: remove react-mentions

* feat: add chat header

* feat: remove v2/chat

* feat: add fature flag

* feat: add new chat UI

* feat: add prompt and brain name to messages
2023-08-11 10:06:20 +02:00
Mamadou DICKO
b0514d6149
fix(i18n): update tests for french and spanish (#878)
* add libraries for traslation purposes

* Add button and service for language selection

* add spanish translation on login page

* add spanish translation on upload page

* Add spanish translations for explore page

* Add translations on user page

* Add translations for config page

* Add spanish translations on chat page

* add translations for brain page

* fix GUI and save on local storage

* fix (i18n) init and types

* fix (i18n): typos

* add translation on new brain modal

* add translations on metadata

* Add translations on home page

* fixes types

* fix(frontend-tests): use get by id instead of text

---------

Co-authored-by: Gustavo Maciel <gustavo_m13@outlook.com>
2023-08-07 14:13:41 +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
b72139af60 style(import): fixed 2023-08-01 01:14:16 +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
Matt
9f2cd7b7b6
fix: bug if no brain (#635) 2023-07-14 20:02:26 +01:00
Mamadou DICKO
c1535a9b86
Frontend/test/chat 4 (#523)
* refactor: move getHistory to api/chat

* test(chat): unit-tests getHistory

* refactor: rename useChatService useQuestion

* feat: add updateChat to api/chat

* test(chat): unit-tests updateChat

* refactor(ChatsListItem): add useChatsListItem

* feat: remove http request from provider and remove useChats
2023-07-05 18:33:18 +02:00
Mamadou DICKO
d51d4a1e90
Frontend/test/chat 3 (#517)
* refactor: add addQuestion to chat api

* test(chat): add unit tests to addQuestion
2023-07-05 13:39:07 +02:00
Mamadou DICKO
68642afbb8
Frontend/test/chat 2 (#516)
* feat: add chat api

* refactor(MicButton): move related hook

* feat: add nock http call example

* test(useChatApi): add unit tests
2023-07-05 13:33:26 +02:00
Mamadou DICKO
9bb7ccf651
Frontend/test/chat 1 (#508)
* feat: add providers mocks

* test(<ChatPage/>: add render test using providers
2023-07-05 09:30:22 +02:00
Mamadou DICKO
6acb13d4ae
Frontend/test/chat (#496)
* refactor(<ChatPage/>)

* test(<ChatInput />): add unit tests

* test(<ChatMessages />): add unit tests
2023-07-03 17:39:59 +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
Stan Girard
8978c8ab37 fix(path): made sure the frontend called with a / at the end 2023-06-29 07:33:19 +02:00
Zineb El Bachiri
ccdc5bb7a7
Feat/multiple brains files (#361) 2023-06-28 19:39:27 +02:00
Stan Girard
bdccdf1a0a
perf(analytics): added tracking for file upload and chat (#376) 2023-06-26 12:54:07 +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