add business intelligence agent
This commit is contained in:
parent
ebf3410d00
commit
59414543f6
|
|
@ -33,6 +33,10 @@ public class PlotChartFn : IFunctionCallback
|
|||
Id = agent.Id,
|
||||
Name = agent.Name,
|
||||
Instruction = inst,
|
||||
LlmConfig = new AgentLlmConfig
|
||||
{
|
||||
MaxOutputTokens = 8192
|
||||
},
|
||||
TemplateDict = new Dictionary<string, object>
|
||||
{
|
||||
{ "plotting_requirement", args?.PlottingRequirement ?? string.Empty },
|
||||
|
|
@ -48,7 +52,7 @@ public class PlotChartFn : IFunctionCallback
|
|||
}
|
||||
]);
|
||||
|
||||
var obj = response.JsonContent<LlmContextOut>();
|
||||
var obj = response.JsonContent<LlmContextOut>();
|
||||
message.Content = obj?.GreetingMessage ?? "Here is the chart you ask for:";
|
||||
message.RichContent = new RichContent<IRichMessage>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,18 +1,27 @@
|
|||
Please take a look at "Plotting Requirement" and generate a javascript code that can be used to render the charts on an html element.
|
||||
|
||||
|
||||
=== Plotting Requirement ===
|
||||
{{ plotting_requirement }}
|
||||
|
||||
|
||||
***** Important *****
|
||||
** Your output must be a single <script>...</script> block with everything needed inside.
|
||||
** You need to import Plotly.js to plot the charts. The script source should be "https://cdn.plot.ly/plotly-3.0.1.min.js".
|
||||
***** Hard Requirements *****
|
||||
** Your output javascript code must be wrapped in one or multiple <script>...</script> blocks with everything needed inside.
|
||||
** You need to import ECharts.js to plot the charts. The script source is "https://cdnjs.cloudflare.com/ajax/libs/echarts/6.0.0/echarts.min.js".
|
||||
** You need to add the MODE bar for each chart you plot.
|
||||
** You must render the charts on the div html element with id {{ chart_element_id }}.
|
||||
** You must render the charts under the div html element with id {{ chart_element_id }}.
|
||||
** Add a custom mode bar button named "Fullscreen" that toggles the chart container in and out of fullscreen using the Fullscreen API. Requirements for this button:
|
||||
* Always call the Fullscreen API on the chart container div itself (document.getElementById("{{ chart_element_id }}")), not on the document or on Plotly’s SVG.
|
||||
* Use el.requestFullscreen() with fallbacks to el.webkitRequestFullscreen || el.msRequestFullscreen.
|
||||
* Exit fullscreen with document.exitFullscreen() and vendor fallbacks.
|
||||
* Listen for fullscreenchange, webkitfullscreenchange, and msfullscreenchange to keep the button working across repeated clicks and ESC exits.
|
||||
* Ensure the chart fully expands and scales to the entire screen when fullscreen is active.
|
||||
* Provide a simple inline SVG path icon for the button (no external assets).
|
||||
* Use Plotly.newPlot(container, data, layout, {displayModeBar:true, modeBarButtonsToAdd:[fullscreenBtn]});
|
||||
* fullscreenBtn must be a fully-formed object {name, title, icon, click}.
|
||||
** You must not create any new html element.
|
||||
** You must not apply any styles on any html element.
|
||||
** You must generate as less token as possible.
|
||||
** Keep code compact (few tokens), but fix all errors before returning.
|
||||
** Do not generate charts with zero height and zero width.
|
||||
** Please ensure the code can be executed and the charts are rendered correctly.
|
||||
|
||||
*** Response Format ***
|
||||
You must output the response in the following JSON format:
|
||||
|
|
|
|||
Loading…
Reference in a new issue