File tree Expand file tree Collapse file tree 5 files changed +37
-3
lines changed
Infrastructure/BotSharp.Abstraction/Agents/Enums
Plugins/BotSharp.Plugin.SqlDriver
data/agents/beda4c12-e1ec-4b4b-b328-3df4a6687c4f/templates Expand file tree Collapse file tree 5 files changed +37
-3
lines changed Original file line number Diff line number Diff line change @@ -36,4 +36,6 @@ public class BuiltInAgentId
3636 /// Plan feasible implementation steps for complex problems
3737 /// </summary>
3838 public const string Planner = "282a7128-69a1-44b0-878c-a9159b88f3b9" ;
39+
40+ public const string SqlDriver = "beda4c12-e1ec-4b4b-b328-3df4a6687c4f" ;
3941}
Original file line number Diff line number Diff line change 1111 </PropertyGroup >
1212
1313 <ItemGroup >
14- <Compile Remove =" data\agents\beda4c12-e1ec-4b4b-b328-3df4a6687c4f\templates\**" />
1514 <Compile Remove =" packages\**" />
16- <EmbeddedResource Remove =" data\agents\beda4c12-e1ec-4b4b-b328-3df4a6687c4f\templates\**" />
1715 <EmbeddedResource Remove =" packages\**" />
18- <None Remove =" data\agents\beda4c12-e1ec-4b4b-b328-3df4a6687c4f\templates\**" />
1916 <None Remove =" packages\**" />
2017 </ItemGroup >
2118
3229 <None Remove =" data\agents\beda4c12-e1ec-4b4b-b328-3df4a6687c4f\functions\sql_insert.json" />
3330 <None Remove =" data\agents\beda4c12-e1ec-4b4b-b328-3df4a6687c4f\functions\sql_select.json" />
3431 <None Remove =" data\agents\beda4c12-e1ec-4b4b-b328-3df4a6687c4f\instructions\instruction.liquid" />
32+ <None Remove =" data\agents\beda4c12-e1ec-4b4b-b328-3df4a6687c4f\templates\query_result_formatting.liquid" />
3533 </ItemGroup >
3634
3735 <ItemGroup >
7169 <Content Include =" data\agents\6745151e-6d46-4a02-8de4-1c4f21c7da95\templates\sql_executor.fn.liquid" >
7270 <CopyToOutputDirectory >PreserveNewest</CopyToOutputDirectory >
7371 </Content >
72+ <Content Include =" data\agents\beda4c12-e1ec-4b4b-b328-3df4a6687c4f\templates\query_result_formatting.liquid" >
73+ <CopyToOutputDirectory >PreserveNewest</CopyToOutputDirectory >
74+ </Content >
7475 </ItemGroup >
7576
7677 <ItemGroup >
Original file line number Diff line number Diff line change 1+ using BotSharp . Abstraction . Agents . Enums ;
2+ using BotSharp . Core . Infrastructures ;
13using BotSharp . Plugin . SqlDriver . Models ;
24using Dapper ;
35using Microsoft . Data . SqlClient ;
@@ -30,6 +32,29 @@ public async Task<bool> Execute(RoleDialogModel message)
3032 } ;
3133
3234 message . Content = JsonSerializer . Serialize ( results ) ;
35+
36+ if ( args . FormattingResult )
37+ {
38+ var conv = _services . GetRequiredService < IConversationService > ( ) ;
39+ var sqlAgent = await _services . GetRequiredService < IAgentService > ( ) . LoadAgent ( BuiltInAgentId . SqlDriver ) ;
40+ var prompt = sqlAgent . Templates . FirstOrDefault ( x => x . Name == "query_result_formatting" ) ;
41+
42+ var completion = CompletionProvider . GetChatCompletion ( _services ,
43+ provider : sqlAgent . LlmConfig . Provider ,
44+ model : sqlAgent . LlmConfig . Model ) ;
45+
46+ var result = await completion . GetChatCompletions ( new Agent
47+ {
48+ Id = sqlAgent . Id ,
49+ Instruction = prompt . Content ,
50+ } , new List < RoleDialogModel >
51+ {
52+ new RoleDialogModel ( AgentRole . User , message . Content )
53+ } ) ;
54+
55+ message . Content = result . Content ;
56+ }
57+
3358 return true ;
3459 }
3560
Original file line number Diff line number Diff line change @@ -6,4 +6,9 @@ public class ExecuteQueryArgs
66{
77 [ JsonPropertyName ( "sql_statements" ) ]
88 public string [ ] SqlStatements { get ; set ; } = [ ] ;
9+
10+ /// <summary>
11+ /// Beautifying query result
12+ /// </summary>
13+ public bool FormattingResult { get ; set ; }
914}
Original file line number Diff line number Diff line change 1+ Output in human readable format.
You can’t perform that action at this time.
0 commit comments