286 Commits

Author SHA1 Message Date
Quentin BEY 02ac8af714 ⚗️(users) allow to enable analytics by default
This will be helpful to have analytics during the alpha
deployment.
2025-09-30 16:46:03 +02:00
Quentin BEY 8c706fd2d8 ⚗️(agent) improve force web search
Forcing a specific tool call is currently a bit complicated,
so we choose a more naive way.
2025-09-30 16:36:09 +02:00
Quentin BEY c9efa978e1 💥(agent) replace routing w/ tool calls
The first implementation was made because our models had not
tool calling capabilities, and the routing and context management
were quite bad.

Now we can use tools (yay) the whole code is switched to tool
calling.

This first implementation of summarize agent is quite bad, this
will be improved soon.
2025-09-30 15:28:56 +02:00
elvoisin d361d0177c (404) fix front 404 page (#44)
remove margin top on the header
2025-09-30 10:35:32 +02:00
BEY Quentin 934098a1c2 💩(chat) add frontend feature flags (#29)
* 💩(chat) add frontend feature flags

This introduce the use of feature flags:
 - flags can be globally enabled or disabled from the backend
 - when dynamic, it queries Posthog to get the value

* (chat) add frontend feature flags

disable buttons for feature flags

---------

Co-authored-by: Eléonore Voisin <elevoisin@gmail.com>
2025-09-29 10:42:10 +02:00
Quentin BEY 5c4b1ff388 📌(frontend) stay with Vercel SDK <5
While the frontend and the backend are not ready we
need to stay in the v4.x version
2025-09-26 14:18:45 +02:00
renovate[bot] 689f2ce672 ⬆️(dependencies) update python dependencies 2025-09-24 23:01:06 +02:00
elvoisin 2515e14942 🎨(front) move emplacement for attachment (#39)
move emplacement for attachement in chat
2025-09-24 16:23:49 +02:00
elvoisin 273332c370 🎨(front) move emplacement for attachment (#38)
move emplacement for attachement in chat
2025-09-23 16:25:15 +02:00
elvoisin 623a951ca2 🎨(ui) retour ui sources files (#37)
* (ui) fix retour global ui

correction retour ui

* 🎨(ui) retour ui sources files

fix retour ui source files

* 🐛(fix) fix front build

prettier - fix build front
2025-09-23 13:29:52 +02:00
Quentin BEY 9e4f0d3310 ♻️(agents) rewrite the awy to setup agents
Not sure this rewrite was mandatory, but it paves the way to a
rewrite of the "client" module.
2025-09-23 00:08:36 +02:00
Quentin BEY a560ea9e78 🔒️(frontend) update alpine packages in production image
Force an update of installed package in the image used for
the frontend in production.
2025-09-22 22:47:25 +02:00
Quentin BEY e04a050486 (agent) add fake streaming when the model does not support it
To have a better UX, we simulate a streamed return. The default
value is quite fast to not block the worker too long...
2025-09-22 22:47:25 +02:00
Quentin BEY 7e460b55a3 🚑️(agent) allow Mistral w/ vLLM & tools
To be able to call our Mistral model, few fixes are required:
- "strict" is nor allowed for tools, vLLM will refuse the schema
  validation
- response streaming w/o tools works, but not w/ tools...
  As we expect to switch from old-school "intent detection" to
  automatic tool use, we need to be able to disable streaming.

What we should do next:
- tidy code: the iteration loginc might be in the Agent class
- fake result streaming for end-user. I don't like that, but UX
  might prefer.
2025-09-22 22:47:25 +02:00
Quentin BEY dce69eb31c (llm) allow profile configuration for model
This allows to use a specific profile for some models.
This is useful in the case of a mistral model behind vLLM.

There is room for improvement to use the real default
and not be forced to pass OpenAI default "supports"...

```
"profile": {
  "json_schema_transformer":
    "chat.agents.json_schema_converters.MistralVllmJsonSchemaTransformer",
  "supports_json_schema_output": true,
  "supports_json_object_output": true
}
```
2025-09-22 22:47:21 +02:00
Quentin BEY 297af78936 ⚰️(vercel-sdk) remove code wrongly pushed
This was not supposed to be here.
2025-09-22 22:46:57 +02:00
Quentin BEY 7507f1a8db ⬆️(pydantic-ai) bump to the latest version
This might be helpful to include the latest fixes.
2025-09-22 22:46:50 +02:00
Quentin BEY 05dceec3e7 🐛(vercel-sdk) allow tool calls to have no arguments
Some tools might not need arguments because they rely only
on the run context, we can allow that.
2025-09-22 22:39:19 +02:00
Quentin BEY d486661f32 🐛(markitdown) fix converter data and detection
The data passed to the converter where not making it possible
to detect even plain text documents...
2025-09-22 22:39:19 +02:00
Quentin BEY 7bc38c7435 ♻️(chat) move agent to a dedicated module
This is a first step to tidy code and ease agent definition
readability.
2025-09-22 22:39:19 +02:00
elvoisin b4df44311a (ui) fix retour global ui (#35)
correction retour ui
2025-09-22 09:20:07 +02:00
elvoisin 9878498a34 🐛(fix) broken staging css (#34)
force fix staging css
2025-09-15 17:43:07 +02:00
elvoisin 517bc1a9d1 🐛(fix) broken staging css (#33)
force fix staging  css
2025-09-15 16:47:08 +02:00
Quentin BEY 81fd0d3400 🗃️(chat) fix conversation messages source type
This add the migration to update data after the fix introduced in
d579d9abd0
2025-09-15 15:03:51 +02:00
elvoisin 10f3ebf81f 🎨(front) add customisation for alpha version (#31)
change logo + home + add form to send feedback - wip
2025-09-15 14:50:38 +02:00
Quentin BEY d579d9abd0 🚑️(chat) source UI messages serializer typo
There was a typo in the source UI Message model used in chat
input serialization...
2025-09-08 22:35:33 +02:00
elvoisin 5bdd2f92f0 (ui) delete flex message (#28)
remove display flex on content chat
2025-09-08 10:40:31 +02:00
Quentin BEY 633bcf094d 🔒️(all) refactor Docker Hub login to use official GitHub actions
Replace custom Docker Hub authentication with standard, secure,
official GitHub actions for improved security and maintainability.

Uses officially supported actions that follow security best practices
and receive regular updates from GitHub.

Avoid unsecure handling of GitHub secrets.

Thanks to @lebaudantoine
2025-09-05 14:52:50 +02:00
Quentin BEY c491108f9e 🔧(ci) always run all git-lint steps
git-lint steps are independant and we would like to have all checks at
once. Using the `if: always()` instruction should ensure all steps
should be run event if the previous fails.

thank @lunika
2025-09-05 14:42:46 +02:00
Quentin BEY d582f85f59 ♻️(backend) prepare vercel AI SDK v4 -> v5
This introduce a new way to stream events and should ease
migration from v4 to V5 of the Vercel SDK.

WARNING: the v5 implementation is not ready yet, but we need
to merge this before making too much change to the codebase.
2025-09-05 13:55:56 +02:00
elvoisin 926ea2975f (front) add enabled/disabled conversation analysis (#27)
add enabled/disabled conversation analysis in settings modal
2025-09-05 12:45:22 +02:00
Quentin BEY ace27ab7fb 📈(langfuse) add light instrumentation
This is a first implementation of Langfuse to see user interactions.
Next step will be to allow prompt improvements.
2025-09-05 12:06:43 +02:00
Quentin BEY 9bbc3f160f 🔥(llm) remove mlflow intrumentation & deps
We don't use this instrumentation for now and plan to use something
else.
2025-09-05 12:06:43 +02:00
elvoisin 90d40eba6a 🎨(front) amelioration chat ux (#25)
fix appartion message + fix placeholder input
2025-09-05 12:03:26 +02:00
Quentin BEY 8b8b7bd7dd (chat) enforce response in user language
Ask the LLM to use the user's language to answer.
2025-09-04 13:24:02 +02:00
Quentin BEY b76760025f 🚑️(helm) fix llm_configuration file content
There is a typo in the helm chart...
2025-09-04 10:09:57 +02:00
Quentin BEY a267b0282b (user) allow to use conversation data for analytics
The frontend can store whether the user allows us to use
the conversation data to make analytics and help chat
improvement.
2025-09-03 23:27:57 +02:00
Quentin BEY c5b9576835 (llm) allow completion endpoint to select model
This will allow the frontend to select the model to use from
the configuration.
2025-09-03 22:50:45 +02:00
Quentin BEY 6e5220866a (llm) add models listing endpoint
This will allow the frontend to display several models available
for the user.
2025-09-03 13:32:56 +02:00
Quentin BEY 548679698f 🧱(helm) mount the LLM JSON configuration file
This allows to customize the LLM configuration for deployments.
2025-09-03 12:01:10 +02:00
Quentin BEY 5e2d77642d (llm) allow configuration from JSON file
This is the first step to allow several models to be available to
the users.

This is not a very good implementation, as it aims to keep the
ability to use django settings for configuration:

 - makes it easy to deploy only one model
 - allow changes like before in tests

Next step would be to remove the django settings and update
all tests etc.
2025-09-02 12:17:52 +02:00
elvoisin df3934367a 🎨(front) global layout modification (#21)
delete unused languages + modify scroll down + change source item + attachements
2025-09-02 11:39:26 +02:00
Quentin BEY 22769af0e5 🐛(posthog) add missing configuration
This should fix the issue of "$host" being unknown when checking
for feature flag.
2025-09-01 14:11:41 +02:00
Quentin BEY 59af95caf7 ⚰️(minio) remove code related to the S3 storage
This is related to 697b040a40
2025-08-27 23:55:26 +02:00
Quentin BEY b6fe71adb0 (backend) add feature flags from posthog
This adds posthog backend to know whether a feature is enabled
for a user.
More globally, if Posthog is not present feature flags can be
enabled/disabled globally.
2025-08-27 23:29:32 +02:00
Quentin BEY fd06d33d05 🐛(llm) disabling thinking configuration
While not fully managed, disable this configuration.
2025-08-27 17:22:52 +02:00
Quentin BEY e921aa9d94 🐛(prompt) slight change of routing prompt
Attempt to reduce when the routing LLM tries to make web search.
2025-08-27 17:22:52 +02:00
Quentin BEY f7e3ed19ba 🐛(agent) add the current date in the system prompt
We add the current date to the system prompt.
Warning: the timezone is not the user's one...
2025-08-27 17:22:52 +02:00
elvoisin 4e078d8bb1 🎨(front) global layout (#5)
* 🎨(front) global layout

modify left panel, header and chat

* 🎨(front) color dsfr v2

change color + left panel logic
2025-08-27 13:56:57 +02:00
Quentin BEY 2486db8287 ⚗️(github) run action on GitHub servers
This reverts commit 42ce2affe270f110f3312d3a3464de42638085d7.
2025-08-26 17:06:54 +02:00