Merge pull request #710 from Joannall/master
naming change-domain knowledge
This commit is contained in:
commit
a539586786
|
|
@ -5,7 +5,7 @@ public interface IKnowledgeHook
|
|||
Task<List<KnowledgeChunk>> CollectChunkedKnowledge()
|
||||
=> Task.FromResult(new List<KnowledgeChunk>());
|
||||
|
||||
Task<List<string>> GetRelevantKnowledges(RoleDialogModel message, string text)
|
||||
Task<List<string>> GetDomainKnowledges(RoleDialogModel message, string text)
|
||||
=> Task.FromResult(new List<string>());
|
||||
|
||||
Task<List<string>> GetGlobalKnowledges(RoleDialogModel message)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public class KnowledgeRetrievalFn : IFunctionCallback
|
|||
var knowledges = new List<string>();
|
||||
foreach (var hook in hooks)
|
||||
{
|
||||
var k = await hook.GetRelevantKnowledges(message, args.Question);
|
||||
var k = await hook.GetDomainKnowledges(message, args.Question);
|
||||
knowledges.AddRange(k);
|
||||
}
|
||||
knowledges = knowledges.Distinct().ToList();
|
||||
|
|
|
|||
|
|
@ -36,13 +36,13 @@ public class PrimaryStagePlanFn : IFunctionCallback
|
|||
{
|
||||
foreach (var hook in hooks)
|
||||
{
|
||||
var k = await hook.GetRelevantKnowledges(message, question);
|
||||
var k = await hook.GetDomainKnowledges(message, question);
|
||||
knowledges.AddRange(k);
|
||||
}
|
||||
}
|
||||
knowledges = knowledges.Distinct().ToList();
|
||||
var knowledgeState = String.Join("\r\n", knowledges);
|
||||
state.SetState("relevant_knowledges", knowledgeState);
|
||||
state.SetState("domain_knowledges", knowledgeState);
|
||||
|
||||
// Get first stage planning prompt
|
||||
var currentAgent = await agentService.LoadAgent(message.CurrentAgentId);
|
||||
|
|
@ -64,7 +64,7 @@ public class PrimaryStagePlanFn : IFunctionCallback
|
|||
return true;
|
||||
}
|
||||
|
||||
private async Task<string> GetFirstStagePlanPrompt(RoleDialogModel message, string taskDescription, List<string> relevantKnowledges)
|
||||
private async Task<string> GetFirstStagePlanPrompt(RoleDialogModel message, string taskDescription, List<string> domainKnowledges)
|
||||
{
|
||||
var agentService = _services.GetRequiredService<IAgentService>();
|
||||
var render = _services.GetRequiredService<ITemplateRender>();
|
||||
|
|
@ -86,7 +86,7 @@ public class PrimaryStagePlanFn : IFunctionCallback
|
|||
{
|
||||
{ "task_description", taskDescription },
|
||||
{ "global_knowledges", globalKnowledges },
|
||||
{ "relevant_knowledges", relevantKnowledges },
|
||||
{ "domain_knowledges", domainKnowledges },
|
||||
{ "response_format", responseFormat }
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,15 +36,15 @@ public class SecondaryStagePlanFn : IFunctionCallback
|
|||
var knowledges = new List<string>();
|
||||
foreach (var hook in hooks)
|
||||
{
|
||||
var k = await hook.GetRelevantKnowledges(message, taskSecondary.SolutionQuestion);
|
||||
var k = await hook.GetDomainKnowledges(message, taskSecondary.SolutionQuestion);
|
||||
knowledges.AddRange(k);
|
||||
}
|
||||
knowledges = knowledges.Distinct().ToList();
|
||||
var knowledgeResults = string.Join("\r\n\r\n=====\r\n", knowledges);
|
||||
|
||||
var knowledgeState = states.GetState("relevant_knowledges");
|
||||
var knowledgeState = states.GetState("domain_knowledges");
|
||||
knowledgeState += String.Join("\r\n", knowledges);
|
||||
states.SetState("relevant_knowledges", knowledgeState);
|
||||
states.SetState("domain_knowledges", knowledgeState);
|
||||
|
||||
// Get second stage planning prompt
|
||||
var currentAgent = await agentService.LoadAgent(message.CurrentAgentId);
|
||||
|
|
|
|||
|
|
@ -35,8 +35,8 @@ public class SummaryPlanFn : IFunctionCallback
|
|||
var steps = states.GetState("planning_result").JsonArrayContent<SecondStagePlan>();
|
||||
var allTables = new List<string>();
|
||||
var ddlStatements = string.Empty;
|
||||
var relevantKnowledge = states.GetState("planning_result");
|
||||
relevantKnowledge += "\r\n" + states.GetState("relevant_knowledges");
|
||||
var domainKnowledge = states.GetState("planning_result");
|
||||
domainKnowledge += "\r\n" + states.GetState("domain_knowledges");
|
||||
var dictionaryItems = states.GetState("dictionary_items");
|
||||
var excelImportResult = states.GetState("excel_import_result");
|
||||
|
||||
|
|
@ -55,7 +55,7 @@ public class SummaryPlanFn : IFunctionCallback
|
|||
ddlStatements += "\r\n" + msgCopy.Content;
|
||||
|
||||
// Summarize and generate query
|
||||
var prompt = await GetSummaryPlanPrompt(msgCopy, taskRequirement, relevantKnowledge, dictionaryItems, ddlStatements, excelImportResult);
|
||||
var prompt = await GetSummaryPlanPrompt(msgCopy, taskRequirement, domainKnowledge, dictionaryItems, ddlStatements, excelImportResult);
|
||||
_logger.LogInformation($"Summary plan prompt:\r\n{prompt}");
|
||||
|
||||
var plannerAgent = new Agent
|
||||
|
|
@ -76,7 +76,7 @@ public class SummaryPlanFn : IFunctionCallback
|
|||
return true;
|
||||
}
|
||||
|
||||
private async Task<string> GetSummaryPlanPrompt(RoleDialogModel message, string taskDescription, string relevantKnowledge, string dictionaryItems, string ddlStatement, string excelImportResult)
|
||||
private async Task<string> GetSummaryPlanPrompt(RoleDialogModel message, string taskDescription, string domainKnowledge, string dictionaryItems, string ddlStatement, string excelImportResult)
|
||||
{
|
||||
var agentService = _services.GetRequiredService<IAgentService>();
|
||||
var render = _services.GetRequiredService<ITemplateRender>();
|
||||
|
|
@ -104,7 +104,7 @@ public class SummaryPlanFn : IFunctionCallback
|
|||
{ "task_description", taskDescription },
|
||||
{ "summary_requirements", string.Join("\r\n", additionalRequirements) },
|
||||
{ "global_knowledges", globalKnowledges },
|
||||
{ "relevant_knowledges", relevantKnowledge },
|
||||
{ "domain_knowledges", domainKnowledge },
|
||||
{ "dictionary_items", dictionaryItems },
|
||||
{ "table_structure", ddlStatement },
|
||||
{ "excel_import_result", excelImportResult }
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
You are a Task Planner. you will breakdown user business requirements into excutable sub-tasks.
|
||||
|
||||
Thinking process:
|
||||
1. Reference to "Task Knowledge" if there is relevant knowledge;
|
||||
1. Reference to "Task Knowledge" if there is domain knowledge;
|
||||
2. Breakdown task into subtasks.
|
||||
- The subtask should contain all needed parameters for subsequent steps.
|
||||
- If limited information provided and there are furture information needed, or miss relationship between steps, set the need_breakdown_task to true.
|
||||
|
|
@ -25,10 +25,10 @@ Global Knowledge:
|
|||
{% endfor %}
|
||||
{%- endif %}
|
||||
|
||||
{% if relevant_knowledges != empty -%}
|
||||
{% if domain_knowledges != empty -%}
|
||||
=====
|
||||
Task Knowledge:
|
||||
{% for k in relevant_knowledges %}
|
||||
{% for k in domain_knowledges %}
|
||||
{{ k }}
|
||||
{% endfor %}
|
||||
{%- endif %}
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ Global Knowledges:
|
|||
{{ global_knowledges }}
|
||||
|
||||
=====
|
||||
Relevant Knowledges:
|
||||
{{ relevant_knowledges }}
|
||||
Domain Knowledges:
|
||||
{{ domain_knowledges }}
|
||||
|
||||
=====
|
||||
Dictionary Items:
|
||||
|
|
|
|||
Loading…
Reference in a new issue