kubeagi / arcadia

A diverse, simple, and secure one-stop LLMOps platform
http://www.kubeagi.com/
Apache License 2.0
63 stars 20 forks source link

feat: add multi knowledgebase #981

Closed Abirdcfly closed 1 month ago

Abirdcfly commented 3 months ago

What type of PR is this?

/kind cleanup /kind feature

What this PR does / why we need it

has tested in gpu 167 env, old application also works. can update to new app node by update app config in web ui.

CleanShot 2024-04-16 at 14 48 46 The above gif shows a complex application that uses 2 knowledgebases, one knowledgebase to provide knowledge of attendance and one knowledgebase to provide knowledge of arbiter and the application uses multiquery and rerank.

Which issue(s) this PR fixes

Fixes #

Special notes for your reviewer

  1. add mergerRetriever to merge multi-knowledgebase like langchain python does.
  2. add conversation-knowledgebase-placeholder to appruntime and app nodes, this placeholder clearly indicates that there may be a conversation knowledgebase here.
  3. add knowledgebases to updateApplicationConfig gql input and resp for support multiquery knowledgebases, also compatible with the old single knowledgebase model. ( @Carrotzpc front end also need update to support multiquery knowledgebases.)
  4. add tests.

无标题-2024-02-28-0940