soilwise-he / natural-language-querying

Application component that provides Natural Language Querying (NLQ) services, making knowledge stored in a graph database accessible for e.g. a ChatBot UI.
MIT License
0 stars 0 forks source link

Clarify which type of NLQ implementation is preferred #2

Closed robknapen closed 4 months ago

BerkvensNick commented 4 months ago

What different types of NLQ implementations exist?

robknapen commented 4 months ago

I have listed a few in the README.md file for this component. But (as discussed today) there are still more options that can be considered. It goes a bit hand-in-hand with what purpose do we see for the NLQ component, i.e. what type of soil knowledge related questions do we want it to be able to answer? (What is the information / knowledge retrieval that needs to be done?)

robknapen commented 4 months ago

Following the (Brugge) architecture, the LLM component only interacts with the triple store, using SPARQL queries. So at first it can work with text and relations it can retrieve from there. After the user selects one or more documents these can be retrieved and used as input for RAG. Importing documents into a vector store can take a few minutes (depending on size of the documents, embedding model used, and hardware configuration). After that the user can 'talk' with these documents to have more detailed access to the knowledge contained within them.

To avoid spending a lot of time perfecting the generation of SPARQL queries by the LLM, we can use known fixed queries and have the LLM use them via "tool calling".

robknapen commented 4 months ago

(self) answered.