Giter VIP home page Giter VIP logo

dragon-okinawa / dragon Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 1.0 13.25 MB

Dynamic Retrieval Augmented Generation for Optimized Nimble

Home Page: https://dragon.okinawa

License: MIT License

Java 38.94% HTML 0.07% Shell 0.06% JavaScript 0.09% CSS 2.04% Vue 19.21% SCSS 0.08% Dockerfile 0.06% TypeScript 39.46%
ai api docker dragon java langchain langchain4j pdf rag spring spring-boot vue3 vuejs

dragon's People

Contributors

amengus87 avatar eltociear avatar isontheline avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

eltociear

dragon's Issues

dRAGon Frontend GUI

  • Ability to use dRAGon with a web user interface instead of raw APIs calls

API Authentication

  • Backend endpoints should use login / password / jwt
  • Other API endpoints should use tokens

Logs API Endpoint

  • Ability to retrieve SLF4J logs from API
  • Ability to filter by level

[BUG] LibreChat don't use RaaG to generate conversation title

Describe the bug
When using LibreChat integration title of the conversation is not generated

Log and Stack trace
No error on both LibreChat and dRAGon

To Reproduce

  1. Configure LibreChat to use dRAGon
  2. Chat with the RaaG
  3. No title is generated (summary of the query)

Expected behavior
A summary of the query put in the title of the conversation

Please complete the following versions information:

------------------------------------------------------------
Gradle 8.7
------------------------------------------------------------

Build time:   2024-03-22 15:52:46 UTC
Revision:     650af14d7653aa949fce5e886e685efc9cf97c10

Kotlin:       1.9.22
Groovy:       3.0.17
Ant:          Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM:          17.0.11 (Microsoft 17.0.11+9-LTS)
OS:           Linux 6.6.31-linuxkit aarch64

NPM: 10.5.2
Node: v20.13.1

Additional context
/

Granary (Farm Content Retriever) : Web Search Engine

Since langchain4j 0.31.0 we can use a new retriever for RAG :

  • Check ability to launch a search request when user put some keywords on query (Language Query Router)
  • Where to put this Content Retriever? Farm seems a better location, like #79
    • Does this content retriever is a built-in Harvester?
    • or a "Granary" linked to a Farm?
classDiagram
  FarmEntity : +UUID uuid
  FarmEntity : +String name
  FarmEntity : +String raagIdentifier
  FarmEntity : +[UUID] silos
  FarmEntity : +[UUID] granaries

  GranaryEntity : +UUID uuid
  GranaryEntity : +String name
  GranaryEntity : +[String] granaryConfiguration

  FarmEntity .. GranaryEntity
Loading

Does "Granary" is an entity? Or just a static array of built-in retrievers?

URL Ingestor

  • Ability to ingest one or more URLs
    • Extract texts to RAG

Dependencies Upgrade Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • chore(deps): update docker/build-push-action action to v6
  • chore(deps): update mcr.microsoft.com/openjdk/jdk docker tag to v21
  • fix(deps): update dependency chart.js to v4
  • fix(deps): update dependency primeicons to v7
  • fix(deps): update dependency primevue to v4
  • πŸ” Create all rate-limited PRs at once πŸ”

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

dockerfile
Dockerfile
  • mcr.microsoft.com/openjdk/jdk 17-ubuntu
github-actions
.github/workflows/build.yml
  • actions/checkout v4
  • actions/setup-java v4
  • actions/setup-node v4
  • gradle/actions v3
  • codecov/codecov-action v4.5.0
  • docker/setup-buildx-action v3
  • docker/login-action v3
  • docker/metadata-action v5
  • docker/build-push-action v5
gradle
settings.gradle
build.gradle
  • pl.allegro.tech.build.axion-release 1.18.2
backend/gradle.properties
backend/build.gradle
  • org.springframework.boot 3.3.2
  • io.spring.dependency-management 1.1.6
  • org.springdoc.openapi-gradle-plugin 1.9.0
  • org.springframework.boot:spring-boot-starter-thymeleaf 3.3.2
  • org.springdoc:springdoc-openapi-starter-webmvc-ui 2.6.0
  • dev.langchain4j:langchain4j 0.33.0
  • dev.langchain4j:langchain4j-core 0.33.0
  • dev.langchain4j:langchain4j-embeddings 0.33.0
  • dev.langchain4j:langchain4j-pgvector 0.33.0
  • dev.langchain4j:langchain4j-easy-rag 0.33.0
  • dev.langchain4j:langchain4j-open-ai 0.33.0
  • dev.langchain4j:langchain4j-mistral-ai 0.33.0
  • org.dizitart:nitrite-bom 4.3.0
  • net.sourceforge.argparse4j:argparse4j 0.9.0
  • org.jobrunr:jobrunr-spring-boot-3-starter 7.2.2
  • org.awaitility:awaitility 4.2.1
  • org.projectlombok:lombok 1.18.34
  • org.projectlombok:lombok 1.18.34
  • org.projectlombok:lombok 1.18.34
  • org.projectlombok:lombok 1.18.34
  • checkstyle 10.17.0
  • jacoco 0.8.12
docs/build.gradle
  • com.github.node-gradle.node 7.0.2
  • org.openapi.generator 7.5.0
frontend/build.gradle
  • com.github.node-gradle.node 7.0.2
npm
docs/package.json
  • @docusaurus/core 3.3.2
  • @docusaurus/preset-classic 3.3.2
  • @docusaurus/theme-mermaid 3.3.2
  • @mdx-js/react ^3.0.0
  • clsx ^2.0.0
  • docusaurus-lunr-search ^3.4.0
  • prism-react-renderer ^2.3.0
  • react ^18.0.0
  • react-dom ^18.0.0
  • @docusaurus/module-type-aliases 3.3.2
  • @docusaurus/tsconfig 3.3.2
  • @docusaurus/types 3.3.2
  • typescript ~5.2.2
  • node >=18.0
frontend/package.json
  • chart.js 3.3.2
  • primeflex ^3.3.1
  • primeicons ^6.0.1
  • primevue 3.49.1
  • vue ^3.2.41
  • vue-i18n ^9.13.1
  • vue-router ^4.1.5
  • @babel/core ^7.12.16
  • @babel/eslint-parser ^7.12.16
  • @rushstack/eslint-patch ^1.1.4
  • @vitejs/plugin-vue ^4.1.0
  • @vue/eslint-config-prettier ^7.0.0
  • eslint ^8.22.0
  • eslint-plugin-vue ^9.3.0
  • prettier ^2.7.1
  • sass ^1.55.0
  • vite ^4.2.1

  • Check this box to trigger a request for Renovate to run again on this repository

Farm : Smart Silo Routing

  • FarmEntity : add setting boolean => smartRouting
    • If smartRouting is not enabled : call each Silo + Granary
    • If smartRouting is enabled : ask LLM to choose one or more Silo + Granary
    • Use FallbackStrategy => retrieve on all? Or none?
  • SiloEntity + GranaryEntity : add String field "description" => mandatory or not?
    • Description will be used in order to help the LLM to choose the best ones
  • Use langchain4j "LanguageModelQueryRouter" => choose one or more Silos / Granaries to retrieve

Harvester (Farm Tool OpenAPI Client)

Harvesters are API Clients as a Tool for LLMs. If a LLM needs to call a Tool to reply the user then a Harvester is used on a Farm.

Image

Like:

classDiagram
  FarmEntity : +UUID uuid
  FarmEntity : +String name
  FarmEntity : +String raagIdentifier
  FarmEntity : +[UUID] silos
  FarmEntity : +[UUID] harvesters

  Harvester Entity : +UUID uuid
  Harvester Entity : +String name
  Harvester Entity : +String openApiSpecs

  FarmEntity .. HarvesterEntity
Loading

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • fix(deps): update dependency @vueuse/core to v10.11.1
  • chore(deps): update dependency eslint to v9.9.0
  • fix(deps): update dependency tailwind-merge to v2.5.0
  • πŸ” Create all rate-limited PRs at once πŸ”

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

dockerfile
Dockerfile
  • mcr.microsoft.com/openjdk/jdk 17-ubuntu
github-actions
.github/workflows/build.yml
  • actions/checkout v4
  • actions/setup-java v4
  • actions/setup-node v4
  • pnpm/action-setup v4
  • gradle/actions v3
  • codecov/codecov-action v4.5.0
  • docker/setup-buildx-action v3
  • docker/login-action v3
  • docker/metadata-action v5
  • docker/build-push-action v5
gradle
gradle.properties
settings.gradle
build.gradle
  • pl.allegro.tech.build.axion-release 1.18.2
backend/gradle.properties
backend/build.gradle
  • org.springframework.boot 3.3.2
  • io.spring.dependency-management 1.1.6
  • org.springdoc.openapi-gradle-plugin 1.9.0
  • org.springframework.boot:spring-boot-starter-thymeleaf 3.3.2
  • org.springdoc:springdoc-openapi-starter-webmvc-ui 2.6.0
  • dev.langchain4j:langchain4j 0.33.0
  • dev.langchain4j:langchain4j-core 0.33.0
  • dev.langchain4j:langchain4j-embeddings 0.33.0
  • dev.langchain4j:langchain4j-pgvector 0.33.0
  • dev.langchain4j:langchain4j-easy-rag 0.33.0
  • dev.langchain4j:langchain4j-open-ai 0.33.0
  • dev.langchain4j:langchain4j-mistral-ai 0.33.0
  • org.dizitart:nitrite-bom 4.3.0
  • net.sourceforge.argparse4j:argparse4j 0.9.0
  • org.jobrunr:jobrunr-spring-boot-3-starter 7.2.2
  • me.paulschwarz:spring-dotenv 4.0.0
  • org.awaitility:awaitility 4.2.1
  • org.projectlombok:lombok 1.18.34
  • org.projectlombok:lombok 1.18.34
  • org.projectlombok:lombok 1.18.34
  • org.projectlombok:lombok 1.18.34
  • checkstyle 10.17.0
  • jacoco 0.8.12
frontend/gradle.properties
frontend/build.gradle
  • com.github.node-gradle.node 7.0.2
npm
frontend/package.json
  • @better-scroll/core 2.5.1
  • @iconify/vue 4.1.2
  • @vueuse/core 10.11.0
  • clipboard 2.0.11
  • dayjs 1.11.12
  • echarts 5.5.1
  • lodash-es 4.17.21
  • naive-ui 2.39.0
  • nprogress 0.2.0
  • pinia 2.2.1
  • tailwind-merge 2.4.0
  • vue 3.4.36
  • vue-draggable-plus 0.5.3
  • vue-i18n 9.13.1
  • vue-router 4.4.3
  • @elegant-router/vue 0.3.8
  • @iconify/json 2.2.234
  • @soybeanjs/eslint-config 1.4.0
  • @types/lodash-es 4.17.12
  • @types/node 22.1.0
  • @types/nprogress 0.2.3
  • @unocss/eslint-config 0.61.9
  • @unocss/preset-icons 0.61.9
  • @unocss/preset-uno 0.61.9
  • @unocss/transformer-directives 0.61.9
  • @unocss/transformer-variant-group 0.61.9
  • @unocss/vite 0.61.9
  • @vitejs/plugin-vue 5.1.2
  • @vitejs/plugin-vue-jsx 4.0.0
  • eslint 9.8.0
  • eslint-plugin-vue 9.27.0
  • lint-staged 15.2.8
  • sass 1.77.8
  • tsx 4.16.5
  • typescript 5.5.4
  • unplugin-icons 0.19.2
  • unplugin-vue-components 0.27.3
  • vite 5.4.0
  • vite-plugin-progress 0.0.7
  • vite-plugin-svg-icons 2.0.1
  • vite-plugin-vue-devtools 7.3.7
  • vue-eslint-parser 9.4.3
  • vue-tsc 2.0.29
  • node >=18.12.0
  • pnpm >=8.7.0
frontend/packages/axios/package.json
  • axios 1.7.3
  • axios-retry 4.5.0
  • qs 6.13.0
  • @types/qs 6.9.15
frontend/packages/color/package.json
  • colord 2.9.3
frontend/packages/hooks/package.json
frontend/packages/materials/package.json
  • simplebar-vue 2.3.5
  • typed-css-modules 0.9.1
frontend/packages/ofetch/package.json
  • ofetch 1.3.4
frontend/packages/scripts/package.json
  • @soybeanjs/changelog 0.3.24
  • bumpp 9.4.2
  • c12 1.11.1
  • cac 6.7.14
  • consola 3.2.3
  • enquirer 2.4.1
  • execa 9.3.0
  • kolorist 1.8.0
  • npm-check-updates 17.0.3
  • rimraf 6.0.1
frontend/packages/uno-preset/package.json
frontend/packages/utils/package.json
  • colord 2.9.3
  • crypto-js 4.2.0
  • localforage 1.10.0
  • nanoid 5.0.7
  • @types/crypto-js 4.2.2

  • Check this box to trigger a request for Renovate to run again on this repository

"None" Ingestor

Ability to don't ingest documents by dRAGon.

Useful for example if we ingest documents in a pgvector store outside dRAGon but we would like to query it through RaaG.

Ingestor Scheduling Improvements

  • Create an abstract class AbstractIngestorSettings
  • Move ingestoreSchedule (SiloEntity) to this new class
  • Add scheduleTimezone to the settings class
  • Can we have a way to launch manually a job only? => PT87600H

Dashboard

  • Show numbers
    • Silos
    • Farms
    • Documents
  • Show stats
    • Number of RAG / RaaG queries

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.