langgenius / dify

Dify is an open-source LLM app development platform. Dify's intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production.
https://dify.ai
Other
44.98k stars 6.31k forks source link

Added intent recognition node #6783

Open Geek-Bob opened 1 month ago

Geek-Bob commented 1 month ago

Self Checks

1. Is this request related to a challenge you're experiencing? Tell me about your story.

Similar to the current problem classifier, but instead of simply classifying the current text, you need to determine the user's intent according to the context, and then go through the defined intent flow branch.

For example, check the express, this process requires multiple rounds of dialogue to complete, it requires the user to provide mobile phone number, single number, express company and other information, and these information need to guide the user through multiple rounds of questions and answers to complete the information input, and extract the information, after the completion of all the information through multiple rounds of dialogue, and confirm the correctness of the information with the user, in order to carry out the final execution of the query action.

2. Additional context or comments

Example:

User: Check express logistics information Assistant: Please provide the mobile phone number, tracking number and express company User: My mobile number is ** Assistant: Thank you for providing your mobile phone number, but also need to provide, tracking number and Courier company User: I forgot the order number Assistant: You can view your order information User: Yes, my tracking number is **** Assistant: Glad you found it. You also need to provide a Courier company User: Assistant: Thank you for your patience with all the information. I need to confirm with you again: your mobile phone number: ***, tracking number: **, express company: *** User: I gave you the wrong phone number. It's Assistant: OK, the revised information your mobile number: ***, tracking number: **, express company: User: That's right Assistant: According to the information you provided, the logistics information found is as follows: **

This is only one process in the entire AI assistant, but a good AI assistant should cover hundreds of similar processes. Therefore, an intention recognition node is needed to control the flow of the process. Even if the user suddenly changes the conversation content and then continues, this node still supports the remaining process execution

3. Can you help us with this feature?

alterxyz commented 3 weeks ago

Hi,

customer service conversation intent classification is one of the Question Classifier's feature. https://docs.dify.ai/guides/workflow/node/question-classifier#advanced-settings

image

Add your instruction (prompt) and open Memory for Question Classifier

crazywoola commented 3 weeks ago

@Geek-Bob @alterxyz

With the ability of the conversational variable, it can be integrated with classifier as well. Hope this solves your problem.

Geek-Bob commented 3 weeks ago

@crazywoola I tried, but it's very easy to get categorized into incorrect categories, especially when it comes to multiple conversations, even when memory is turned on and prompt words are added. The current classifiers are more like keyword matching of the latest text, and do not have comprehensive analysis and classification according to context information

MrNiebit commented 2 hours ago

确实不太准,是大模型的问题么