Description
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
From Chat Copilot:
Use one of the test tenants in our team Loop (Apps & Services > Test Tenants)
I tested with no safeguards or retries currently available in the app
ActionPlanner
-
ActionPlanner creates plan when not needed:
-
ActionPlanner doesn't return plan in valid format. It returns plan in natural language:
- Enable GitHub Plugin
- Ask it to List Open Pull requests
- Observe error:
Unable to generate bot response. Details: Error: 400: => Invalid plan: Failed to extract valid json string from planner result: 'Based on the provided list of functions, the appropriate function to achieve the user's goal is
GitHubPlugin.PullsList
. The function takes the following parameters: -owner
: The account owner of the repository. The name is not case sensitive. (required). -repo
: The name of the repository. The name is not case sensitive. (required). -state
: Eitheropen
,closed
, orall
to filter by state. (default value: open) -head
: Filter pulls by head user or head organization and branch name in the format ofuser:ref-name
ororganization:ref-name
. -base
: Filter pulls by base branch name. -sort
: What to sort results by.popularity
will sort by the number of comments.long-running
will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. (defau...
SequentialPlanner
Used both gpt-35-turbo and gpt-4 and both yielded the missing function errors
Planning Exception: Missing Function (hallucination)
- App Settings:
"Planner": {
"Type": "Sequential",
// Set RelevancyThreshold to a value >= 0.50 if using the SequentialPlanner with gpt-3.5-turbo. Ignored when Planner:Type is "Action"
"RelevancyThreshold": "0.80",
// Whether to allow missing functions in the plan on creation then sanitize output. Functions are considered missing if they're not available in the planner's kernel's context.
// If set to true, the plan will be created with missing functions as no-op steps that are filtered from the final proposed plan.
// If this is set to false, the plan creation will fail if any functions are missing.
"SkipOnMissingFunctionsError": "false",
// Whether to retry plan creation if LLM returned response with invalid plan.
"AllowRetriesOnInvalidPlan": "true"
},
- Enable Graph, Klarna, and GitHub plugins
- Ask: Can you email me a list of cameras I can buy with prices and details? I like Canon! and I'd prefer to spend less than $100.
Microsoft.SemanticKernel.IKernel[0] Something went wrong while executing the native function. Function: b__0. Error: Create plan error: Unable to create plan Microsoft.SemanticKernel.Planning.PlanningException: Create plan error: Unable to create plan
---> Microsoft.SemanticKernel.Planning.PlanningException: Invalid plan: Failed to find function 'text.ExtractRegexMatch' in skill 'text'.at Microsoft.SemanticKernel.Planning.Sequential.SequentialPlanParser.ToPlanFromXml(String xmlString, String goal, Func`3 getSkillFunction, Boolean allowMissingFunctions) at Microsoft.SemanticKernel.Planning.SequentialPlanner.CreatePlanAsync(String goal, CancellationToken cancellationToken) --- End of inner exception stack trace ---
Known Issues even with stabilization
Other errors using SequentialPlanner with gpt-35-turbo and a relevancythreshold of .80
Missing URL
Confusing error I get with GitHub plugin sometimes, where it seems like it doesn't have the right server-url? But this error is typically transient if I prompt another plan and execute it.
Function invoke error: Error occurred while running plan step: Invalid URI: The format of the URI could not be determined.
Can't generate plan even though there are relevant functions
Unable to generate bot response. Details: Error: 400: Bad Request => Create plan error: Not possible to create plan for goal with available functions. Goal:Given the following context, accomplish the user intent. Context: INPUT: Do any PRs need my attention? chatId: 22166401-0394-4722-8be1-ea59e69bb884 knowledgeCutoff: Saturday, January 1, 2022 owner: microsoft tokenLimit: 842 messageType: 0 repo: semantic-kernel audienceExtractionTokenUsage: 174 userId: e0fab1ff-28d9-4371-aa3d-64ce0372994e.72f988bf-86f1-41af-91ab-2d7cd011db47 audience: List of participants: Teresa Hoang userName: Teresa Hoang userIntentExtractionTokenUsage: 410 User Intent:User intent: The user is asking if there are any pull requests that require their attention. Functions: GitHubPlugin.MetaRoot: description: Get Hypermedia links to resources accessible in GitHub's REST API inputs: - server_url: server-url (default value: https://api.github.com/) GitHubPlugin.PullsGet: description: Draft pull requests are...
Creates a plan even if one isn't needed to fulfil the user input,
i.e., I asked it to help me plan a trip to Hawaii and it returned a plan with GitHub and Klarna steps just because I had those plugins enabled.
Requests
1. Return completion token usage and step status
Metadata
Assignees
Labels
Type
Projects
Status
Sprint: Done