haystack icon indicating copy to clipboard operation
haystack copied to clipboard

Use case tools + plan

Open mrm1001 opened this issue 9 months ago • 0 comments

Goal

The goal is to refine this task into smaller sub-tasks which might include a review of existing approaches (with limitations), creating a proposal, implementing the solution.

User story

Users should be able to create a pipeline that can answer user queries by using previous queries, responses, as well as previous outputs from tools. In order to solve the user query, it might be necessary to invoke multiple tools.

It needs to support the following patterns:

App plans the sequence of tools that need to be invoked.

Tools available: check_balance(account_id), add_payment_dollars(account_id, amount), get_account_details(email)

User: I would like to check my balance, add $100 to my account if less than $200 and check my balance again. My account id is 1234.
App: Balance for account 1234 is $100.
App: Payment of $100 confirmed.
App: Balance for account 1234 is $300.

App might need to ask for user's input to perform a task.

Tools available: check_balance(account_id), add_payment_dollars(account_id, amount), get_account_details(email)

User: I would like to check my balance, add $100 to my account if less than $200 and check my balance again.
App: what is your account id?
User: 1234
App: Balance for account 1234 is $100.
App: would you like to confirm payment of $100 to your account id 1234?
User: yes.
App: Payment of $100 confirmed.
App: Balance for account 1234 is $300.

App can start a new tool process in the middle of an existing transaction.

Tools available: check_balance(account_id), add_payment_dollars(account_id, amount), get_account_details(email)

User: I would like to check my balance, add $100 to my account if less than $200 and check my balance again.
App: what is your account id?
User: I don't know.
App: what is your email?
User: [email protected]
App: your account id is 1234.
App: Balance for account 1234 is $100.
App: would you like to confirm payment of $100 to your account id 1234?
User: yes.
App: Payment of $100 confirmed.
App: Balance for account 1234 is $300.

User can change intent in the middle of a transaction.

Tools available: check_balance(account_id), add_payment_dollars(account_id, amount), get_account_details(email)

User: I would like to add $100 to my account.
App: what is your account id?
User: I don't know.
App: what is your email?
User: Actually, I want to check my balance. My email is [email protected].
App: Your balance is $100.
### Tasks
- [ ] https://github.com/deepset-ai/haystack/issues/7740
- [ ] Create end-to-end example of researcher agent

mrm1001 avatar May 02 '24 16:05 mrm1001