RAG Like a BOSS 🔥 Flowise Document Stores Tutorial

Поділитися
Вставка
  • Опубліковано 11 січ 2025

КОМЕНТАРІ • 90

  • @leonvanzyl
    @leonvanzyl  3 місяці тому +6

    I hope you guys enjoy this video! Will you be using Document Stores in your projects going forward?
    PS. I used Llama 3.2 in this tutorial in order for everyone to follow along for free, but you can definitely use OpenAI and Anthropic for improved RAG responses.

  • @OscarTheStrategist
    @OscarTheStrategist Місяць тому +1

    Came here from your new RAG agents video, went through the semantic agents video and now this document store. You've truly shown me that using Flowise is the right choice for my project. Thank you so much for the tremendous value you are adding to the no code maker space, Leon. You ROCK!
    I hope you continue to make videos and dive deeper into more advanced topics. Cheers!

    • @leonvanzyl
      @leonvanzyl  Місяць тому +1

      Thank you for the great feedback 🙏

  • @chrislannon
    @chrislannon 16 днів тому

    Thanks Leon! It appears that Supabase now has a vector database extension. Would love to see how to integrate with Flowise.

  • @KMTAN1000
    @KMTAN1000 2 місяці тому +1

    I am using chroma db as the vector store in my project, is there a way to dynamically use the metadata filter to improve the search result of the vector store? The idea is to extract the keywords from the user query and then pass them to the metadata filter of the vector store to further improve the accuracy of the search?

  • @homecarers
    @homecarers 3 місяці тому

    Leon, I LOVE YOU MEN! This is so useful, I cannot believe that nobody paid attention to such a useful feature. Thank you very much!

  • @cvwdhn
    @cvwdhn 2 місяці тому

    Thank you so much for this video. I'm using document stores for my chatbot and the document stores are really much better than just adding the settings in the flow itself.

  • @MisCopilotos
    @MisCopilotos Місяць тому +1

    Leon how can we do an API call to the Document Store? To let our users upload documents from the app to Flowise Document Store.

  • @sitedev
    @sitedev 2 місяці тому +1

    Can the vector store be accessed/maintained via an API?

  • @homecarers
    @homecarers 3 місяці тому +1

    1 - Cutting in the number of nodes you need.
    2 - Updating data easily, no more upserting in the chatflows.
    3 - less nodes, less potential conflcts or issues.
    4 - Sharing data stores with different chatflows.
    5 - Testing vector stores..... Wow!

    • @leonvanzyl
      @leonvanzyl  3 місяці тому +2

      Spot on! I didn't even think about mentioning point 4, but you're 100% correct. These document stores can be shared between flows.

  • @k1r0vsiii
    @k1r0vsiii 2 місяці тому +1

    hey, how do u implement perplexity results? as custom tools? thx tried .. doesnt connect somehow

  • @sridhartn83
    @sridhartn83 2 місяці тому

    again a great video, explaining how to set up web scraping in flowise, I have set this up with local postgresql database with pgvector extension for both vector store and record manager. Thank you!

  • @epokaixyz
    @epokaixyz 3 місяці тому

    Consider these actionable insights from the video:
    1. Create a chat flow in Flowise to begin building your RAG chatbot.
    2. Add a Conversational Retrieval QA Chain and choose a suitable chat model like LLaMa 2 or GPT-3.
    3. Establish a Document Store within Flowise and utilize document loaders like web scrapers or file uploads to populate it.
    4. Configure upsert settings in your Document Store, selecting embeddings and a vector store.
    5. Test the retrieval capabilities of your Document Store and fine-tune parameters like the number of documents returned and metadata filters.
    6. Continuously test and refine your Document Store configuration to optimize retrieval accuracy for your RAG application.

  • @JorgeMachado88
    @JorgeMachado88 2 місяці тому

    So, how can we get 1B documents incremental loaded ? Separated process ?

  • @Francotujk
    @Francotujk 2 місяці тому

    Leon, the value you are adding to the community is incredible!
    I've asked you in another video. If possible, can you explain what's "Streaming" in Flowise (a new feature they added), and what's the main use case?
    Thank you very much!

    • @leonvanzyl
      @leonvanzyl  2 місяці тому +2

      Are you referring to the new Streaming SDK's? I'm working on videos on using these SDKs in Python and Typescript applications 👍.
      Basically they're an alternative to calling the Flowise API's, and makes it super easy to handing streaming responses.

    • @Francotujk
      @Francotujk 2 місяці тому

      @@leonvanzyl yes, I am.
      Ok so I will stay tuned. Thanks Leon

  • @TheWhoIsTom
    @TheWhoIsTom Місяць тому

    Nice video thx!
    Is it possible to use a proxy and custom headers for the cheerio webscraping? Because some sites will block the crawler.

  • @JonOfOld
    @JonOfOld Місяць тому

    One issue I'd love some help with: When I chunk my pdf documents, for some reason the metadata is being overwritten. In particular the pdf title. When I preview the chunks and look at the metadata I discover that it's changed. This happens inconsistently; some documents retain their original metadata title and some (particularly those with a combination of numbers, spaces and letters) change seemingly at random.. How can I stop this from happening and ensure the pdf's original title properties are retained in the metadata after chunking?

  • @santiagoghione9177
    @santiagoghione9177 Місяць тому

    Your videos are excellent as always Leon. I don't really understand what the metadata is for within the VectorStore, could you make a video explaining and giving examples of use? Thank you very much and I can't get enough of recommending your channel!

  • @ClarissaGuscetti
    @ClarissaGuscetti 2 місяці тому

    Thank you very much for your fantaastic videos, only thing I use flowise and ollama (llama3.2 and nomic-embed-text )on docker (ollama through Nividia) and I put both on the same network and using the Ip adress in the URL of "chat ollama" and "ollama embeddings" in flowise. But in the projects I have with toolnode (agent RAG) it stops always after the tool node, and comes "Error buildAgentGraph - No tool calls found in the response." Diffrently if I would use chat gpt as chat and embeddings model the system would work. Possibility do you know the reasons of this. That would be really nice, thnak you very much

  • @clarkzara15
    @clarkzara15 2 місяці тому

    Great video! I’m using Flowise to set up a RAG system and need help extracting keywords from chunks created by the Recursive Character Text Splitter. I want to add these keywords as metadata to improve retrieval accuracy. How can I process each chunk individually for keyword extraction (e.g., with Ollama) and add this metadata? Any tips are appreciated!

  • @3ac-arts
    @3ac-arts 2 місяці тому

    Great video, I'm facing an error in the process of upsert the vectorstoreRetriver, using the inMemoryVectorStore , Postgresvector or the pinecone ,the inMemoryVectorStore.upsert method receiving a HTML in a JSON parser and couldn't figure out from where this HTML response are coming from,the documents splitter works normally but gluing together with the vectorstore i get a error, did you face it before the video? And if yes how you solve it? Thanks for the vídeo!

  • @AIMasterGuru
    @AIMasterGuru 3 місяці тому

    Thanks so much Leo

  • @BirdManPhil
    @BirdManPhil 2 місяці тому

    this is amazing im going to switch to flowise from n8n for my main flow automation

    • @leonvanzyl
      @leonvanzyl  2 місяці тому

      Definitely worth a try.
      I use platforms for client projects.

  • @rodrigorubio3498
    @rodrigorubio3498 2 місяці тому

    Would be great to see this working with the "In-Memory Vector Store". Would that work?

    • @leonvanzyl
      @leonvanzyl  2 місяці тому +1

      I personally couldn't get it to work. Besides, Pinecone doesn't cost anything (free tier is generous) and it's production-ready.

    • @rodrigorubio3498
      @rodrigorubio3498 2 місяці тому

      @@leonvanzyl thank you mate.

  • @AbdulrahmanHariri
    @AbdulrahmanHariri 2 місяці тому +1

    Thanks Leon. i guess this approach is more suitable for upserting manually or is there a way to do it dynamically through API too? If not, I guess we still need to create chatflows for upserting data dynamically (where we can also define custom attributes).

    • @leonvanzyl
      @leonvanzyl  2 місяці тому +4

      You're right, you can use the APIs to automate the process of updating the knowledge base. I'll create a video on how I do exactly this 👍

    • @AbdulrahmanHariri
      @AbdulrahmanHariri 2 місяці тому

      @@leonvanzyl Oh I never tried that, that would certainly make things easier with this setup! Thanks!

    • @AssassinUK
      @AssassinUK 2 місяці тому

      If you can dynamically insert documents in this setup, that would be amazing. I know you have a video of upsetting a document from Postman, if that was possible, then wow!

  • @WayneBruton
    @WayneBruton 2 місяці тому +1

    Hi Leon, Off the topic conversation, a while back you did a tutorial about adding leads, which I implemented using my own url and not make. However I have a quick question, I see some bots actually insert a form into the chat that the user can fill in. I get comments that people would like something like that. Can flowise do something along those lines?

    • @leonvanzyl
      @leonvanzyl  2 місяці тому +1

      Nah, Flowise cannot expose forms at this point.
      You could use n8n or VectorShift for that though.

    • @WayneBruton
      @WayneBruton 2 місяці тому

      @@leonvanzyl Thanks, will try n8n

  • @santiagoghione9177
    @santiagoghione9177 Місяць тому

    When you indicate Top K at 4 and it recovers 4 chunks, are those 4 texts included in the context that is sent to the LLM?

    • @leonvanzyl
      @leonvanzyl  Місяць тому

      Correct. The K value determines how many documents should be retrieved from the vector store. Those doc's are then injected into the prompt along with the user question.

  • @mikew2883
    @mikew2883 3 місяці тому

    Great video! 👏

  • @8bullets946
    @8bullets946 Місяць тому

    Hi, I tried this, but even though the data initially entered pinecone, the table was not created in supabase. And, probably as a result of this, I am not able to upload another document to the same store after the first try. An error is observed.
    Status: 500 Error: documentStoreServices.insertIntoVectorStore - Error: documentStoreServices._insertIntoVectorStoreWorkerThread - AggregateError

  • @DjMerlinRemix
    @DjMerlinRemix Місяць тому

    When I go to add the document store in the flow the one I created does not show up with latest version of Flowise version 2.2.1

    • @leonvanzyl
      @leonvanzyl  Місяць тому

      Did you remember to run Upsert as well?

  • @TeamsWorkAI
    @TeamsWorkAI 2 місяці тому

    Thank you Leon. 🎉

  • @lemarunico
    @lemarunico 2 місяці тому

    Great tutorial Leo, thank you very much for sharing such valuable information. Question: ¿Which of the OpenAi models would be most recommended for a RAG?

    • @leonvanzyl
      @leonvanzyl  2 місяці тому +1

      GPT-4o or 4o-mini are great.

  • @practical-skills-school
    @practical-skills-school 2 місяці тому

    Thank you, Leon. Didn't watch the whole video yet. What is concerning for me, can it easily substitute part of outdated vectors with some updated? Like let's say, I have 100-chapter of the book, and 57th chapter has changed. Is it possible to update only vectors to this chapter or I need to delete and re-upload the whole bunch of vectors?

    • @leonvanzyl
      @leonvanzyl  2 місяці тому +1

      Definitely check out the Record Manager section of the video.

    • @practical-skills-school
      @practical-skills-school 2 місяці тому

      @@leonvanzyl Great, watched it as you said. Thank you.

  • @massimosarzi
    @massimosarzi 2 місяці тому

    Thank you Leon for all your work! One question: can I query the Document Store's contents filtering by metadata?

    • @leonvanzyl
      @leonvanzyl  2 місяці тому

      Yes. If I'm not mistaken, you can set that up in the Upsert config step.

  • @LURASASA
    @LURASASA 3 місяці тому

    Superb Leo, this video is extremely useful. Thank you again! Question: why the chunks uploaded to Supabase changed to 241 (and Pinecone, after you cleaned it up), when they were supposed to be the sum of the chunks embedded from the two scrapings (244)?

    • @leonvanzyl
      @leonvanzyl  3 місяці тому +1

      HAHAHA, I think the content of the pages literally changed when I recorded the video 😂.

    • @LURASASA
      @LURASASA 2 місяці тому

      @@leonvanzyl Fair enough. Thanks again Leo!

  • @nocturnalbreadwinner
    @nocturnalbreadwinner 3 місяці тому

    Hello Leon! As always thank you so much for all that you're doing for the community. I was wondering if there's any way we could connect docs to structured outputs? or assistants to structured outputs?

    • @leonvanzyl
      @leonvanzyl  3 місяці тому

      Hey there! You're welcome 🤗.
      Not sure I understand the question. Could you provide an example / use-case?
      Since this video is about document stores, I assumed your asking of you can Upsert structured data like CSV, JSON? You could simply add document loaders for these.

    • @nocturnalbreadwinner
      @nocturnalbreadwinner 3 місяці тому

      @@leonvanzyl thank you for your reply, I meant if I had documents already loaded, how could I output structured JSON? Or in a different pathway, if I had an assistant that's loaded with documents, how could I get structured JSON out?

    • @leonvanzyl
      @leonvanzyl  3 місяці тому +2

      OK, I understand.
      This is a bit complicated to explain in a comment, but I'll try 😊.
      You can't assign output parsers to agents. Only LLM chains can take in an output parser.
      You also cannot pass the output of an agent to an LLM chain either.
      So what I would do is use Sequential Agents instead (agentflows).
      ua-cam.com/video/6LbvgTbS0BE/v-deo.html
      You can use an agent to perform the vector retrieval, as per normal. After the agent call, add an LLM node. LLM nodes are able to output structured data.
      For more complex structured and logic, I would approach this very differently.
      I would build some automation process outside of Flowise (using Make.com or n8n) to first call the agent flow.
      I would then parse the response from the agent into a complex, structured output.

    • @nocturnalbreadwinner
      @nocturnalbreadwinner 3 місяці тому

      ​@@leonvanzyl Thank you Leon, you're the goat!

  • @patrickh5479
    @patrickh5479 5 днів тому

    thanks Leon great video and very helpful! However for some reason there are some basic questions the bot refuses to answer, even though I can see it is retrieving the correct chunks when I run a vector query test. I'm using 4o and 4o mini and have tried many different prompts to make it work, so unsure why its not using the context thats being retrieved to answer the question... any help would be great thank you!

    • @leonvanzyl
      @leonvanzyl  4 дні тому

      When you test the agent using the chat window, can you see any output being returned from the retriever tools?

    • @patrickh5479
      @patrickh5479 3 дні тому

      @ thanks for getting back to me Leon. yes I could see the chunks in the chat window which were all relevant to the question, but it still refused to answer the question and kept reverting to the ‘sorry I don’t have the answer’ response. The chunks were being retrieved from a csv file. I upserted a new plain text page dedicated just to answering that question and now it seems to work fine.

  • @dimitriappel8374
    @dimitriappel8374 2 місяці тому

    If I add an URL to the knowledge base, is there a way to re-scrape it regularly (let's say, every day)? I didn't find this option.

    • @leonvanzyl
      @leonvanzyl  2 місяці тому +2

      It's not possible within Flowise itself (not yet anyway), but I am working on a video showing how you can use the Flowise API's to automate the "document store refresh" process using n8n or Make.

  • @Oliveira-wh1cq
    @Oliveira-wh1cq 2 місяці тому

    Hello, Léo. I have a prompt to create questions in ChatGPT, and I want to create a chatbot to be used on WhatsApp so that teachers can create questions just by messaging this bot. The teacher should only define the course and subject so that the prompt can be better directed. Is Flowise a good tool to develop this? Could you provide a tutorial?

    • @leonvanzyl
      @leonvanzyl  2 місяці тому

      Hey there. Flowise is perfect for this. In fact, Flowise can also generate other educational artifacts like charts and graphs as well.
      I already have a video on integrating FW with Whatsapp which you should check out 👍

  • @Col-pd2zd
    @Col-pd2zd 2 місяці тому

    I tried to upload multiple .docx files with the .docx loader from a folder. Is there a way to specify which document belongs to which within the metadata, or do I have to load each individual file and manually input its file name? Thanks a lot for the videos! Theyre helping a lot

    • @leonvanzyl
      @leonvanzyl  2 місяці тому +1

      Excellent question.
      Unfortunately some of the loaders require that you manually capture the file name in the metadata.
      That's definitely the case with the Docx and PDF loaders.

    • @Col-pd2zd
      @Col-pd2zd 2 місяці тому

      @leonvanzyl maybe it will be available in the future! Or I can find a workaround.. thanks for the reply! And thank you for the videos. I've been binging on your flowise uploads! Please keep em coming! Learning so much with your help

  • @muhammadsaadaziz4485
    @muhammadsaadaziz4485 3 місяці тому

    I am facing error while upserting vector store, related to blob size. I am using llama 3.1 locally

    • @leonvanzyl
      @leonvanzyl  3 місяці тому

      Yikes! How big is the file?

    • @muhammadsaadaziz4485
      @muhammadsaadaziz4485 3 місяці тому

      @@leonvanzyl a simple url of lang smith doc page and using cheerio web scrapper

  • @SuperLiberty2008
    @SuperLiberty2008 3 місяці тому

    wow, great video, thaks for your job. Could you advise, is there python sdk to do it with hardcode. I want access control for certain users and assign those privilegios using metadata.

    • @leonvanzyl
      @leonvanzyl  3 місяці тому

      Yes, Flowise offers a Python SDK. I'll create videos on both the Python and Typescript SDK's soon.

    • @SuperLiberty2008
      @SuperLiberty2008 2 місяці тому

      @@leonvanzyl Can you share docs, please

  • @shadowmonarch93
    @shadowmonarch93 2 місяці тому

    I'm having error while upserting like llama server doesn't responding.
    The following error occured when loading this page.
    Status: 500
    Error: documentStoreServices.insertIntoVectorStore - Error: documentStoreServices._insertIntoVectorStoreWorkerThread - Error: Request to Ollama server failed: 404 Not Found
    Please retry after some time.

    • @LURASASA
      @LURASASA 2 місяці тому

      I'm getting a similar error, persistently. "Status: 500
      Error: documentStoreServices.insertIntoVectorStore - Error: documentStoreServices._insertIntoVectorStoreWorkerThread - TypeError: fetch failed"

    • @shadowmonarch93
      @shadowmonarch93 2 місяці тому

      @@LURASASA well I got the solution for my problem,in embedding model section,I wrote nomic embed text but we have to specify the full model name . that's y the fetch failed.type ollama list in cmd,and copy "nomic-embed-textv1.5" something like that.that solves the issue.

    • @andrewtyndale5
      @andrewtyndale5 19 днів тому

      @@shadowmonarch93 I get the same message for OpenAI embedding. Any suggestions on how to fix?

  • @josephperkins8766
    @josephperkins8766 2 місяці тому

    Please do a video showcasing the new API please

  • @micbab-vg2mu
    @micbab-vg2mu 3 місяці тому

    thanks