286 Commits

Author SHA1 Message Date
camilleAND 392eeece3e (summarize) new summarize tool integration
Improve the existing tool to manage bigger documents.
2025-11-06 23:17:41 +01:00
Quentin BEY 1f92187dae 🔥(posthog) remove posthog middleware for async mode fix
Posthog fixed their middleware in v6.7.14
This reverts commit fbe9e039cf.
2025-11-06 00:03:46 +01:00
renovate[bot] 9426a7e1ae ⬆️(dependencies) update python dependencies 2025-11-05 23:45:51 +01:00
Quentin BEY e51620a15c ️(web-search) keep running when tool call fails
When the tool call fails, we don't want the user to be blocked
without any clue.

This adds:
 - auto retry when possible
 - nice message preventing the LLM to generate an answer without
   updated information
2025-11-05 14:43:47 +01:00
Eléonore Voisin f1251a3d09 🐛(front) fix target blank links in chat
Add target blank to link in chat
2025-11-05 14:18:48 +01:00
Quentin BEY 7bc293b8e3 💚(docker-hub) force image publishing on trivy fail
Trivy fails but we cannot fix until the problematic
dependency is fixed... For now we force the build.
2025-11-05 12:43:49 +01:00
Quentin BEY bbac17462a 📝(doc) add small how-to for local run
This could help new developpers to run the stack locally.
2025-11-05 11:42:38 +01:00
Quentin BEY 7d7ad0bdcd 📝(doc) add attachments documentation
Describe the way attachments are processed.
2025-11-05 11:31:45 +01:00
Quentin BEY eca8fa5ffe 📝(doc) add agent tool documentation
This describe how tools are configured, what they do and
some of their limitations
2025-11-05 10:29:35 +01:00
Quentin BEY 5e497b2ccb 📝(doc) fix/add documentation
This is a first step to write some useful documentation.
2025-11-05 10:29:35 +01:00
Quentin BEY 55400636b6 🏗️(uvicorn) Django does not manage lifespan yet
This is not a bug, but while the worker tries to start with
lifespan (auto), Django logs an error before starting properly.
2025-11-03 14:02:40 +01:00
Quentin BEY 1901c4d435 🚑️(posthog) pass str instead of UUID for user PK
The serialization before sending the request to Posthog was
failing because of UUID.
2025-10-28 22:58:37 +01:00
Quentin BEY 095bcaea1a 🔖(patch) bump release to 0.0.7
Fixed

- 🚑️(posthog) fix the posthog middleware for async mode #133
v0.0.7
2025-10-28 19:01:52 +01:00
Quentin BEY fbe9e039cf 🚑️(posthog) fix the posthog middleware for async mode
The original Posthog middleware tries to get user from request
using the sync way, in both async and sync mode.
2025-10-28 18:19:34 +01:00
Quentin BEY 33a87c3959 ⚰️(settings) remove unused code from copy/paste
These lines where never meant to be used in this project.
2025-10-28 18:09:22 +01:00
Quentin BEY 18fc3390f3 🔖(patch) bump release to 0.0.6
Fixed

- 🚑️(stats) fix tracking id in upload event #130
v0.0.6
2025-10-28 09:34:13 +01:00
Quentin BEY 1d54114a39 🚑️(posthog) use same distinct ID as set by frontend
The current behavior was duplicating users because the
frontend uses the user PK as distinct ID (which is
good) but the backend was using the email address.

=> burn the now useless middleware
=> use the user PK as distinct ID
2025-10-28 09:27:51 +01:00
Arnaud Robin 7d8b6fc07c 🚑️(stats) fix tracking id in upload event
Previously, upload event tracking used the user's email instead of
their user ID, preventing reliable association between uploads
and users.
2025-10-27 23:27:34 +01:00
Quentin BEY 2b96ba0597 🔧(django-lasuite) add new settings for back-channel logout
The latest version of the lib, allows to configure OIDC back-
channel logout which requires some specific settings.
While unused in our environment, this allows use by others.
2025-10-27 21:48:59 +01:00
Quentin BEY 34cf348f4c (pydantic-ai) update tests after last update
There is a new consistendy enforcement in the library, which
enforces each message to have a unique ID, therefor the UUID
mock fails (which was expected TBH).
2025-10-27 21:45:12 +01:00
Quentin BEY 0cce897c69 (django-lasuite) update tests after latest release
The library now does a `save` instead of an `update` which
triggers a unicity check.
2025-10-27 21:45:12 +01:00
renovate[bot] 7c8d8e9de7 ⬆️(dependencies) update python dependencies 2025-10-27 21:45:12 +01:00
Quentin BEY 14b920466b 🔖(patch) bump release to 0.0.5
Fixed

- 🚑️(drag-drop) fix the rejection display on Safari #127
v0.0.5
2025-10-27 11:25:22 +01:00
Quentin BEY 42017a6180 🚑️(drag-drop) fix the rejection display on Safari
Safari does not fill the file information during drag
so we cannot check "accept" on the fly, we add a fallback.
2025-10-27 10:44:20 +01:00
qbey c89ce82a4a 🌐(i18n) update translated strings
Update translated files with new translations
v0.0.4
2025-10-27 09:36:13 +01:00
Quentin BEY a738b6cfc3 🔖(patch) bump release to 0.0.4
Added

- 🌐(i18n) add dutch language #117

Changed

- ️(asgi) use `uvicorn` to serve backend #121

Fixed

- 🐛(front) fix mobile source
- 🐛(attachments) reject the whole drag&drop if unsupported formats #123
2025-10-27 09:27:32 +01:00
Quentin BEY 9c3f8a8541 🐛(attachments) reject the whole drag&drop if unsupported formats
In production, users can upload any file format because the
drag and drop feature does not check their type...
This first implementation is to prevent users to have a bad
experience on this.
2025-10-24 15:46:16 +02:00
Quentin BEY 09e885d7e7 ⚗️(LLM) allow to mock model call for conversation
This is switch to prevent real model call in a deployed stack.
This is usefull to test heavy load on the servers without
inference costs.
2025-10-23 18:59:14 +02:00
Quentin BEY 05a1844a0c ️(asgi) use uvicorn to serve backend
This is a naive first switch from sync to async.
This enables the backend to still answer to incomming requests
while streaming LLM results to the user.

For sure there is room for code cleaning and improvements, but
this provides a nice improvement out of the box.
2025-10-23 18:59:14 +02:00
elvoisin a82e0b4fa0 🐛(front) fix mobile source (#119)
fix show source mobile
2025-10-22 16:45:57 +02:00
Berry den Hartog 60b8338ae5 🌐(i18n) add dutch language
Dutch translations are up to date we can add the language in code.
2025-10-22 16:25:18 +02:00
renovate[bot] bbc8dad9da ⬆️(dependencies) update pylint to v3.3.9 2025-10-22 15:57:18 +02:00
qbey f9e446ec18 🌐(i18n) update translated strings
Update translated files with new translations

Fixes Dutch translation missing character.
2025-10-22 15:48:20 +02:00
qbey a013c69ba7 🌐(i18n) update translated strings
Update translated files with new translations
2025-10-22 13:31:36 +02:00
Quentin BEY 2a79655edb 🔖(patch) bump release to 0.0.3
Fixed

- 🚑️(web-search) fix missing argument in RAG backend #116
v0.0.3
2025-10-21 23:54:59 +02:00
Quentin BEY ad4b5473aa 🚑️(web-search) fix missing argument in RAG backend
The wrong RAG backend (not the one used in production) was
updated in a previous commit...
2025-10-21 23:49:21 +02:00
qbey b8e6e32fed 🌐(i18n) update translated strings
Update translated files with new translations
v0.0.2
2025-10-21 22:49:59 +02:00
Quentin BEY 0a5f71ef18 🔖(patch) bump release to 0.0.2
Added

- (front) add drag'n drop file
- (activation-codes) register users also on Brevo #98
- 📈(posthog) add `sub` field to tracking #95

Changed

- 🔧(front) change links feedback tchap + settings popup
- 🐛(front) code activation fix session end #93
- 💬(wording) error page wording #102
- ️(web-search) allow to override returned chunks #107
- 🐛(activation-codes) create contact in brevo before add to list #108
- ⚗️(summarization) add system prompt to handle tool #112
2025-10-21 22:45:32 +02:00
Quentin BEY 151914f55c ⚗️(summarization) add system prompt to handle tool
With these modifications, we expect the LLM to not sumarize the
summarization tool result.
2025-10-21 22:12:50 +02:00
elvoisin ab45eea736 🔧(front) update links feedback + popup settings (#111)
change tchap channel + change links in settings popup
2025-10-21 17:28:19 +02:00
elvoisin ef7c15507d (front) add drag'n drop file (#110)
add drag n drop in input chat on the entire screen
2025-10-21 16:04:07 +02:00
Quentin BEY ca0c3a0169 🐛(activation-codes) create contact in brevo before add to list
Brevo requires the contact to exist before being added to a list.
2025-10-21 14:18:25 +02:00
Quentin BEY 6b2327b0f1 ️(web-search) allow to override returned chunks
When using the document vector storage, we want to be able to
return more chunks.
2025-10-21 13:55:04 +02:00
Eléonore Voisin 9887d79bd5 💬(wording) error page wording
change error page wording 401 - 403
2025-10-21 13:21:11 +02:00
Arnaud Robin d1852d210c 📈(posthog) add sub field to tracking
This will allow to merge analytics from posthog and langfuse.
2025-10-21 13:12:59 +02:00
qbey 12a9488f30 🌐(i18n) update translated strings
Update translated files with new translations
2025-10-20 23:45:35 +02:00
Quentin BEY 15a84132b0 (activation-codes) register users also on Brevo
This provides a way to store the users on Brevo directly
for later product opening mail campaign.
2025-10-20 23:38:57 +02:00
elvoisin 8a52ae8608 🐛(front) code activation fix session end (#101)
add check auth in activation page
2025-10-20 18:45:56 +02:00
Quentin BEY fcd0e24a16 🔖(major) bump release to 0.0.1
This is the first release of the projet, yay

- 🎨(front) activation page footer
- 👷(front) change size small modal
- 🎨(front) retour ui global
- 👷(front) fix button scrollDown
- 💥(front) disable input when error occurred
- 👷(front) fix scroll
- 🐛(front) fix left panel status + fix scroll
- 🐛(llm) add is_active field and persist chat preference
- (frontend) add LLM selection in chat input #53
- 🎨(front) fix width chat container
- 🎨(front) fix width chat container #55
- 🐛(front) fix button search web on new conversation
- 🎨(front) improvement search input scroll
- (404) fix front 404 page
- (chat) add frontend feature flags #29
- 🎨(front) change list attachment in chat
- 🎨(front) move emplacement for attachment
- 🎨(ui) retour ui sources files
- (ui) fix retour global ui
- 🐛(fix) broken staging css
- 🎨(alpha) adjustment for alpha version
- (ui) delete flex message
- (front) add enabled/disabled conversation analysis
- 🎨(front) amelioration chat ux
- 🎨(front) global layout modification
- (front) global layout UI
- ♻️(chat) rewrite backend using Pydantic AI SDK #4
- 🗃️(chat) enforce messages stored JSON format #6
- 🐛(chat) UI messages must have a unique identifier #6
- (llm) allow configuration from JSON file #22
- 💥(agent) replace routing w/ tool calls #40
- 🧱(storage) upload the user documents into S3 #86

- 🎉(conversations) bootstrap backend & frontend #1
- (web-search) add RAG capability to do web search #7
- (chat) add document RAG on document uploaded by user #8
- (backend) allow use to stop conversation streaming #14
- 🐛(agent) add the current date in the system prompt #18
- (backend) add feature flags from posthog #13
- (user) allow to use conversation data for analytics #23
- (chat) enforce response in user language #24
- 📈(langfuse) add light instrumentation #26
- 🚑️(agent) allow Mistral w/ vLLM & tools #36
- (web-search) add Brave search tool #47
- (models) add mistral support & customization #51
- 🐛(web-search) add summarization to Brave results #58
- (langfuse) allow user to score messages from LLM #6
- (onboarding) add activation code logic for launch #62
- 💄(chat) add code highlighting for LLM responses #67
v0.0.1
2025-10-20 00:00:21 +02:00
Quentin BEY 620575140e 🌐(project) add missing translation files
In Crowdin we added ru, uk and nl, which breaks the download
action.
2025-10-19 23:59:51 +02:00