Flowise
Flowise copied to clipboard
feature/introducting-conversational-retrieval-tool-agent
The ConversationalQARetriverChain is a very helpful chain in order to have a RAG based on VectorStore Retriever.
One of his major capabilities are querying the vectorstore by the user's input and calling the LLM using the query's results as a placeholder of {context} and combining this {context} as part of the LLM's prompt.
But since it's just a chain it doesn't have the capability to combine Tools.
The only options are (as described over Bug & Question)
- Combine a flow based on some Agent (e.g. ToolAgent) with a Chain Tool that connects as a base chain to the ConversationalQARetriverChain - This is a bug which currently not working. I was trying to fix it but it was too cumbersome.
- Having an LLM chain with a VectorStoreRetreiverMemory (based on a solution provided by langchain) - It didn't provided the needed solution, it's just using the VectorStore (e.g. pinecone) as a memory for the LLM Chain. In general I think that's a good feature to have on flowise I can have another dedicated PR for that (FYI @HenryHengZJ)
- Basing on an existing Agent (e.g. ToolAgent) but enhancing the agent with context, Vector Store Retriever and {context} placeholder as part of the system message
The 3rd option works the best 🚀
@HenryHengZJ please review I would love to get any feedback from you or any other 🙏