I am loving this entire playlist, thank you! Just wow - and again, loving how you don't make any assumptions into the viewers expertise, every little step. Masterclass in Flowise, but a masterclass in how to put together a software tutorial. Amazing 😍
Outstanding video series!! Very well done. Great tonality and depth of instruction. I'd love to see future series discuss how results from intermittent steps can be saved to a document database or something similar.
Thank you! Great tutorial! Output parsers indeed play a crucial role in ensuring data consistency. Your clear explanations make it easy to grasp the fundamentals. Looking forward to more advanced scenarios in the series!
For everyone who is getting the error: "Error: Invalid JSON in the IfElse's Input Variables: SyntaxError: Expected ',' or '}' after property value in JSON at position" it's supposed to being fixed in the next releases. Meanwhile you can change a couple of things in order to make it work. Remove the Output Parser in the first LLM Chain (sentiment) and change the Prompt as follows: Determine if the following review is positive. Return "positive" or "negative" only options: {review} Then in the IfElse function, change the if logic to: if ($sentiment == "positive") { return true; } It should work. Good luck! BTW, great playlist, I really enjoy how Leon incorporates concepts step by step. Great work!!
@@leonvanzyl I'm getting the follwing error when I try to run the ifElse function: nodeInstance.run is not a function I have tried the suggestion from @DamianGarciaARG but I still have the same error. Please help!!! CC: @DamianCarciaARG
I'm going through this exercise with Llama3 and I find it useful to be specific about the output to avoid bad data. For example: "Provide a comma separated list of synonyms for the word: {word}. Do not add any other text or explanations or descriptions or interactions of any type. Do not describe the list or tell the user what the list is. Simply provide the synonyms and nothing else." Otherwise I would get a list like this: ["here is a list of synonyms for the word 'dog'," "canine", "pooch", .... "anything else I can help you with?"]
Thanks for your video, it gives more ideas and opens up new perspectives :) I'm struggling with one thing, and maybe you can create a video about it: Is there any node that can take the Agent's output as an input to continue the treatment?
I am so grateful for having this playlist. That's so awesome. Unfortunately, I ran into a problem while watching your 2023 tutorial. I can't make the bot upload my files. It says "I am not sure" all the time. I would be extremely thankful if you could help me.
Hi Leon, great content as always, I was revisiting this video and wondered how this may be used using with Agents are you planning any such use cases in the future, would love to learn more tips and tricks around FW, as always love learning the content from you channel.
Hey Manie! Output parsers are usually meant to be used with chains, not agents. I think it's due to the conversational nature of agents. Hmm.. unless you manage to call and agent from a chain somehow and then parse the output. I'll give this some thought and create a video. Do you have a use-case for this?
Great tutorial series, many thanks!! Following your instructions for the output parser, I was wondering whether it's possible to chain chat prompt templates. The idea is that the first prompt template would start a conversation by asking the user several questions and then pass the responses in a predefined format to another prompt template. This second template would then continue the conversation, using the input from the first prompt template as context.
@@leonvanzyl There aren't enough hours in a day. I've been aware of LlamaIndex for quite a while and wanted to test it out in a RAG system but never have the time to devote to it. I'm particularly interested in LlamaIndex's document processing (upsert / process multiple doc types) within RAG when compared to LangChain. Thanks for this excellent video on Output Parsers and IfElse function ... this is awesome. I can thinking of a million uses for this.
Dude, Langflow is great as well. Planning a Langflow series as well. There was a time when Flowise was far ahead in terms of production-readiness, but apparently the gap is closing.
Amazing videos, you're helping a lot of people like me to get into the rabbit hole. Loving it, thank you! Let's say I want to integrate a feedback mechanism at the end of the conversation? How could we integrate this into the end of a conversation? I guess I can use the IfElse like if they want to give feedback it goes to the next chain which could be a positive negative chain. Thanks again, keep rocking!
Thank you for the feedback! Glad you're enjoying this 😁. For feedback, I assume you are referring to something that we saw in traditional chatbots / customer support where you rate the conversation at the end? You don't really have something similar in the AI world. There are a few ways that you could do this, but it mostly involves Dev outside of Flowise. OR we could implement a custom tool. When the user says something like "I would like to leave feedback" or "let's end the conversation" then the agent could go into a special process to collect this information and then store the results in a database. We will cover custom tools in this series. Reach out to my agency and we could assist you as well.
I only discovered how powerful Flowise is! And you are my go-to resource, Leon! Looking forward to the next videos! Meanwhile I have a question: Is it possible to use Flowise in a similar way to AutoGen? I mean that you give a feedback to the partial results of an AI Assistant, then improve the output, and only then move to the next assistant (with a different role). Do you know what I mean? An equivalent to AutoGen's terminate=ALWAYS
Thank you for the feedback! AutoGen is intended to build collaborative agent solutions, which Flowise is not. I might be mistaken on this and will definitely look into it.
Amazing talk as usual Leon. I wonder if you can have a tutorial about multi tenancy in flowise, meaning that a single flow can serve multiple customers, but just control the customer id providing override config vars. Thanks and again really love your sessions, can't wait to see what's next ❤
We'll have a look at website embedding in this series. I do have an older video on that topic on my channel, but in the new video I'll include a bit more information about customizing the chat window.
When the if-else section, which we entered as "sentiment", is changed to "review", the result does not change. Where did this "sentiment" we wrote come from?
Brilliant series. One question can I pass on the original message as well? My use case would be a support bot what is either have to fetch solutions from a db or documents but there are certain situations where I don't want the bot to try to solve the issue. In certain urgent cases. So I would have to differentiate but also pass on the original user message to the right bot.
same error i got. I dont know why, did u resolved it ? Error: Invalid JSON in the IfElse's Input Variables: SyntaxError: Expected ',' or '}' after property value in JSON at position 15
how would you create a chain where: 1. Use search (serp) to get a list of urls for a company 2. Use structured output parse to return a list of urls. I can't find out how to link the response from search to a structured output. Otherwise I'll need to create 2 flows, one for search and send the results to output parser.
Very useful video. One question how can u connect the output for example of the multiple chains (Tutorial 3) to the input of this, for creating for example a survey depending of the result?
Hey Leon! I checked if everything is identical yours and I'm getting this error in Output Parser (Sentiment Analysis): Error: Invalid JSON in the IfElse's Input Variables: SyntaxError: Expected ',' or '}' after property value in JSON at position 15 (line 1 column 16)
Is that at 2:36 when adding the Output Parser? Same. @leonvanzyl Before the Parser, I'm getting a good true/false answer. After, I get a parsing error. My best guess is that something changed after this video was made. Structured Output Parser has no documentation as of June 6th, 2024. The LangChain construct doesn't have an underlying boolean type. So again, I'm guessing something changed.
Amazing video, Thanks for making this video Leon. I was wondering if you could help answer a question I had - The IfElse works well for 2 scenarios, but what about when I have more than 2 scenarios. Think of a list of like 5 options that a variable can take, and then there are 5 different prompts that get acted upon based on the variable's value. Is that something that the IfElse Function can do, or if there's some other way to go around it.
Hey there. You can add as many ifthen nodes as you want to the flow. Since we're passing a JSON object into the node (as in this video) you could pass in multiple properties. You can then check those values and call the next ifthen in the chain. I'm not a 100% sure what your scenario is, but there is probably an optimal way to solve it. Unless if you're trying to build an old school chatbot that drives the conversation down different paths. In that instance you should or use Botpress or Voiceflow.
@@leonvanzyl Thanks for the reply. I am trying to build a bot that has these 2 steps 1. Understand what the user wants to do 2. Route to an appropriate Chain/Agent that takes it forward I was thinking of using the IfElse node for the first part & then routing to an appropriate chain. However it seems that one IfElse node can only have 2 outputs. If I want to add more, I'll have to add multiple IfElse nodes. Is there a better way to be doing this?
🤔Is there a reason you're using separate LLM model nodes for the 2 chains, even though they use the same model with the same settings? I wonder about it also when I use Pinecone or the OpenAI Embeddings nodes in multiple places in the flow.
Using different models for different purposes is what Langchain and Flowise is all about. There's really no science behind it, but my advice to you is to use the cheapest model for each step in the process.
@leonvanzyl At 2:36 when adding the Output Parser, i don't get a JSON output. I think that's leading to the errors others are reporting in previous comments. Before adding the Parser, I'm getting a good true/false answer. After, I get a parsing error. My best guess is that something changed after this video was made. Structured Output Parser has no documentation as of June 6th, 2024. The LangChain construct doesn't have an underlying boolean type. So again, I'm guessing something changed.
Hi Leon, thank you to share your knowledge with us. Is it possible to include my survey with pre-defined questions , and then get the sentiment and customer answer using parsers ?
Absolutely. That's actually an easy implementation using a conversation chain. Provide the list of questions in the prompt and tell the model to ask the user each of these questions and once all answers are collected, provide a sentiment.
hey friend is it possible use this structure together with the Conversational retriever tool? wheres the agent only requesting this structure when need some validation? very good idea if possible could you create a video about it please?
Your videos are the best ones! Flowise should reward you haha! This topic is probably one of the most important and it has been explained perfectly. I see that the "output parser" node works only with the LLM Chain node. However the LLM Chain doesn't allow the "document" Node. The Chains that allow documents (i.e pdf are the Conversational). But conversational chain doesn't have the "output parser" option. Do you know how to combine both? In order to combine output parsers, but also Documents uploads?
@@leonvanzyl first, thanks for your answer! But I cannot do that (or I think that). The output generated by these chains is not like the output from the LLM Chain (that can be an 'output prediction'). For Conversation Chains the output is "chain". Do I need to transform that?
Hi Leon! really Thank you for your Helpful videos, I have a question on Flowise AutoGPT. How we can connect Multi AutoGPT Agents together! Assuming we have 3 or more Agents and each has different responsibilities.
Hello leon I have followed the same but i have got this error I don't know why ....Error: Invalid JSON in the IfElse's Input Variables: SyntaxError: Expected ',' or '}' after property value in JSON at position 15
Hello León first thanks for your efffort on this amazing videos. I have two questions 1- there is way to chat with local files like a code project if yes it can write in local files ? 2- there is a way to chat with a documentation of a website? Thanks you much
You're welcome 🤗. For points 1 and 2, you can chat with local files and web pages using RAG. Check out my video on RAG chstbots. As for writing files, you can use an agent with tools.
Hi Leon, is there a select case utilities instead of true or false? My use case is getting openai to determine what area of question eg Complaints, Products info, Sales enquiry, etc and then redirect to different chain based on the question.
Hi Leon, I wonder if flowise may parse a response to an image/video same as you did for JSON snippet. Assuming the response coming from the LLM contains img/video src is there a way to show ? Thanks
Hi @Leon , thank you for another great Tutorial. When i try to fetch the data from pinecone and the error appears that the apikey is wrong? I've already changed it several times. Any solution?
Hey there! Are you in the latest version of Flowise? I know they changed that node and credentials recently to accommodate for Pinecone Serverless. Other than that, no idea.
@leonvanzyl May be was an ifElse parser problem, not in Output Parser. I exclude the Output Paser an use use the prompt --- You are an expert JSON coder Determine if the following review is positive: {review} Answer only in perfect JSON codifcation --- That gave me perfect answer in JSON format, and I feed the fiElse block with it and still have the Error: SyntaxError: Unexpected token '{' Please check and fix it. Thanks in advance
I'm having the same error. I think it might have to do with the way "Input Variables" dialog formats the JSON object so that the IfElse (or any of the other utilities for that matter) doesn't know how to parse it. I saw there was a bugfix merged into the 1.8.1 release, but that's the release I'm using and the bug is still there.
How would you compare Flowise to something like Autogen 2.0. In my mind they are alternatives, different roads to get to the same place, but am I missing something?
I have a question/challenge. I want to interview a user to gather a list of information about the user. How to I create a “loop” that keeps interviewing the user until all info is provided before continuing in a process?
I get you. The best solution that I found was to use the Assistants API. I have a video on this and really easy to implement. For example, if you want to collect information about a lead, the assistant will keep asking until all information is collected.
how do i integrate this flow along with my pinecone database so that when the parser goes through the logic it will only out very specific texts i ask it to output?
Leon, I'd love to get your input about this. What could be the main challenge in creating an assistant inside flowise that 'Know and understand everything about the platform'. This AI assistant can suggest flows, components, tools, etc inside flowise based on any use case the user wants. Then take this assistant further to actually automate the creation of these flows. Please give me the main challenging points. I tried to create a custom assistant on chatgpt, but it's too stupid. it doesn't understand that AI assistants can return JSON responses and call functions. Their inability to understand this part alone makes creating AI-powered apps through Flowise or even coding in general, a difficult task because their suggestions are outdated.
That's a very good idea. I'd also love to see more applications embed Chatbots into the UI in order to provide guidance and assistants. These are technical to implement and you'll need to understand coding. It's definitely outside the scope of Flowise.
Let's scratch the automation part out. What would be the main challenge here to create a coding assistant chatbot that is fully aware of flowise project, every single feature it has and how they work, and is able to suggest the flows required for the given use-case and can tell you 'Which nodes to connect with other in order to achieve what you want' What do you think about using this use case in your next Flowise 2024 series as an example for creating chatbots/assistants? This way everyone will actually understand better and also they get to create their own assistant for flowise that will help them in whatever they want. @@leonvanzyl
When will you add a hints feature, right in the chat window, like in gpt, so that the user can select a hint and follow it. This can be used to create a chat menu. For example, About Company, Our Services, or Products, Questions/Answers, Contacts. Without this feature, your bot lags behind the leaders of the chat market, of which there are now two, you know who I mean.
Love the idea. I'm not the creator of Flowise, so can't tell you if they plan on introducing such a feature, but it might be an idea to create a PR on their GitHub repo.
Lol, not sure how its output parsers related 😁. If you used option 2 or 3 to set up Flowise, you access the .env file in the Flowise folder under components/server.
Hi, I wanted to buy you a coffee, is it possible to add PayPal to the payment options? I don't have access to visa and the other payment options. I think many would also prefer to have PayPal option.
Hi bro, how long does it usually take to get an email back on your cognitative AI platform? love your videos but need some help with a project ASAP. Thank you !!
i am using pdf document upload and i asked unrelated questions to that document it will showing the ans to restrict that what we want to do pls suggesst one video for that related.
Stellar tutorials so far! Could you clarify a small thing please? In the 2 positive/negative Prompt Templates we set a placeholder {review}, however this parameter is not filled in by anything since by default they're mapped to empty string and we dont map them to an input variable like we did in other cases. I assume it works because it remembers the review from context, but how would you pass the review to the Prompt Templates after the if/else node?
Example: We have a Knowledge base with some documents say the flowise documentation from their website + transcripts of all your videos on flowise. When a user asks a query, the user should get answer + the relevant video link of your playlist + 2-3 follow-up questions to guide the user what to ask next. If this o/p can be structured using an o/p parser then it will be easy to render in the chat window. @@leonvanzyl
Hi there, I encountered the "nodeInstance.run is not a function" error, which I discovered was due to an attempt to optimize the workflow. In an effort to minimize nodes, I initially used a single OllamaNode connected to three LLM Chains, deviating from Leon's tutorial where he explicitly used one ChatOpenAI node for each LLMChain. It appears that Flowise doesn't support this type of shortcut. The solution was straightforward: I added the two missing ChatOllama nodes (one for each LLMChain), and the workflow now functions perfectly. If you're experiencing a similar issue, you might have been trying to economize on ChatOllama nodes as I did. On a related note, I'm using the Phi3.5:3.8-mini-instruct-q4_k_m model, which runs smoothly on my local hardware.
Great video series, but I wonder if another LLM than ChatGPT could be used. Like HuggingFace/Chat the LLama or Mixtral model. How can one create such a chat?
Of course you can. Flowise includes integration with my different models and providers. OpenAI offers some advance features that we'll look at soon (and is by far the most Common models used in industry). We'll have a look at using Open source models in this series for completeness sake 👍
great tutorial, nevertheless will look 2 times to get it all. and yes, absolut powerful: parser and condition elements, thats what we are looking for !!!