新增托盘图标
This commit is contained in:
40
ShrlAlgoToolkit.RevitAddins/General/LLMScript/LLMCmd.cs
Normal file
40
ShrlAlgoToolkit.RevitAddins/General/LLMScript/LLMCmd.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using System.Text;
|
||||
|
||||
using Autodesk.Revit.Attributes;
|
||||
using Autodesk.Revit.DB;
|
||||
|
||||
using Nice3point.Revit.Toolkit.External;
|
||||
|
||||
namespace Szmedi.RvKits.LLMScript
|
||||
{
|
||||
/// <summary>
|
||||
/// Revit执行命令
|
||||
/// </summary>
|
||||
[Transaction(TransactionMode.Manual)]
|
||||
[Regeneration(RegenerationOption.Manual)]
|
||||
public class LLMCmd : ExternalCommand
|
||||
{
|
||||
public async override void Execute()
|
||||
{
|
||||
string userTask = "将当前选中墙的Comments参数追加'检查'";
|
||||
|
||||
PromptManager promptManager = new PromptManager("Prompts/System_UltraStrict.txt");
|
||||
string systemPrompt = promptManager.GetSystemPrompt();
|
||||
string userPrompt = promptManager.BuildUserPrompt(userTask);
|
||||
|
||||
var llm = new OllamaProvider("http://localhost:11434/api/chat", "revit-coder");
|
||||
StringBuilder fullCode = new StringBuilder();
|
||||
|
||||
await llm.GenerateStreamAsync(
|
||||
systemPrompt,
|
||||
userPrompt,
|
||||
chunk =>
|
||||
{
|
||||
fullCode.Append(chunk);
|
||||
});
|
||||
CodeExecutor executor = new CodeExecutor();
|
||||
|
||||
executor.Execute(fullCode.ToString(), Document, UiDocument);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user