Skip to content

Commit 62e1ce5

Browse files
authored
Merge pull request #661 from iceljc/master
refine code
2 parents a0e7117 + e73374f commit 62e1ce5

File tree

2 files changed

+19
-26
lines changed

2 files changed

+19
-26
lines changed

src/Plugins/BotSharp.Plugin.Planner/Functions/SummaryPlanFn.cs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,6 @@ public async Task<bool> Execute(RoleDialogModel message)
3636
var ddlStatements = string.Empty;
3737
var relevantKnowledge = states.GetState("planning_result");
3838
var dictionaryItems = states.GetState("dictionary_items");
39-
var items = new List<string>();
40-
if (!string.IsNullOrWhiteSpace(dictionaryItems))
41-
{
42-
items = JsonSerializer.Deserialize<List<string>>(dictionaryItems);
43-
}
4439

4540
foreach (var step in steps)
4641
{
@@ -60,7 +55,7 @@ public async Task<bool> Execute(RoleDialogModel message)
6055
}
6156

6257
// Summarize and generate query
63-
var summaryPlanPrompt = await GetSummaryPlanPrompt(taskRequirement, relevantKnowledge, items, ddlStatements);
58+
var summaryPlanPrompt = await GetSummaryPlanPrompt(taskRequirement, relevantKnowledge, dictionaryItems, ddlStatements);
6459
_logger.LogInformation($"Summary plan prompt:\r\n{summaryPlanPrompt}");
6560

6661
var plannerAgent = new Agent
@@ -80,7 +75,7 @@ await HookEmitter.Emit<IPlanningHook>(_services, x =>
8075
return true;
8176
}
8277

83-
private async Task<string> GetSummaryPlanPrompt(string taskDescription, string relevantKnowledge, IEnumerable<string> dictionaryItems, string ddlStatement)
78+
private async Task<string> GetSummaryPlanPrompt(string taskDescription, string relevantKnowledge, string dictionaryItems, string ddlStatement)
8479
{
8580
var agentService = _services.GetRequiredService<IAgentService>();
8681
var render = _services.GetRequiredService<ITemplateRender>();
@@ -100,7 +95,7 @@ await HookEmitter.Emit<IPlanningHook>(_services, async x =>
10095
{ "task_description", taskDescription },
10196
{ "summary_requirements", string.Join("\r\n", additionalRequirements) },
10297
{ "relevant_knowledges", relevantKnowledge },
103-
{ "dictionary_items", string.Join("\r\n\r\n", dictionaryItems) },
98+
{ "dictionary_items", dictionaryItems },
10499
{ "table_structure", ddlStatement },
105100
});
106101
}

src/Plugins/BotSharp.Plugin.SqlDriver/Functions/LookupDictionaryFn.cs

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -57,18 +57,10 @@ public async Task<bool> Execute(RoleDialogModel message)
5757
}
5858

5959
var states = _services.GetRequiredService<IConversationStateService>();
60-
var dictionaryItems = states.GetState("dictionary_items");
60+
var dictionaryItems = states.GetState("dictionary_items", "");
6161
var newItem = BuildDictionaryItem(args.Table, args.Reason, message.Content);
62-
63-
var items = new List<string>();
64-
if (!string.IsNullOrWhiteSpace(dictionaryItems))
65-
{
66-
items = JsonSerializer.Deserialize<List<string>>(dictionaryItems);
67-
}
68-
69-
items.Add(newItem);
70-
//dictionaryItems += "\r\n\r\n" + args.Table + ":\r\n" + args.Reason + ":\r\n" + message.Content + "\r\n";
71-
states.SetState("dictionary_items", JsonSerializer.Serialize(items));
62+
dictionaryItems += !string.IsNullOrWhiteSpace(newItem) ? $"\r\n{newItem}\r\n" : string.Empty;
63+
states.SetState("dictionary_items", dictionaryItems);
7264

7365
return true;
7466
}
@@ -105,24 +97,30 @@ private async Task<RoleDialogModel> GetAiResponse(Agent agent)
10597

10698
private string BuildDictionaryItem(string? table, string? reason, string? result)
10799
{
108-
var res = new List<string>();
100+
var res = string.Empty;
109101
if (!string.IsNullOrWhiteSpace(table))
110102
{
111-
res.Add($"Table: {table}");
103+
res += $"Table: {table}";
112104
}
113105

114106
if (!string.IsNullOrWhiteSpace(reason))
115107
{
116-
res.Add($"Reason: {reason}");
108+
if (!string.IsNullOrWhiteSpace(res))
109+
{
110+
res += "\r\n";
111+
}
112+
res += $"Reason: {reason}";
117113
}
118114

119115
if (!string.IsNullOrWhiteSpace(result))
120116
{
121-
res.Add($"Result: {result}");
117+
if (!string.IsNullOrWhiteSpace(res))
118+
{
119+
res += "\r\n";
120+
}
121+
res += $"Result: {result}";
122122
}
123123

124-
if (res.IsNullOrEmpty()) return string.Empty;
125-
126-
return string.Join("\r\n", res);
124+
return res;
127125
}
128126
}

0 commit comments

Comments
 (0)