Bug: SK runs his self-made function by ignoring the auto-invoke function config
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne damit, das Java-Beispiel rund um kernel.invokeAsync(function) und ToolCallBehavior.allowOnlyKernelFunctions(true, functions) mit den gemeldeten Versionen zu reproduzieren. Untersuche, wie die übergebenen Funktionen behandelt werden, bevor der Tool-Aufruf gesendet wird; als erledigt gilt die Aufgabe, wenn nur die bereitgestellten Kernel-Funktionen aufgerufen werden und die gemeldete Anfrage nach einem ungültigen Funktionsnamen nicht mehr erzeugt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Describe the bug
I set the toolcallbehavior of allowOnlyKernelFunctions as true, and passed the functions to the kernel
but the kernel make a functiontoolcall by himself and just invoke it.
To Reproduce
Steps to reproduce the behavior:
List<KernelFunction<?>> functions = kernel.getPlugins().stream()
.map(KernelPlugin::getFunctions)
.map(Map::values)
.flatMap(Collection::stream)
.toList();
FunctionResult<String> preResult = kernel
.invokeAsync(function)
.withToolCallBehavior(ToolCallBehavior.allowOnlyKernelFunctions(true, functions))
.withArguments(
KernelFunctionArguments.builder()
.withInput(userInput)
.withVariable("metadata", metadata)
.build())
.withResultType(ContextVariableTypes.getGlobalVariableTypeForClass(String.class))
.block(); // occur exception here, for invoke a self-make function
Expected behavior
Only invoke the passed functions.
Screenshots
Maven
- Version: 3.3.9
- Dependencies: 1.4.3
Platform
- IDE: IDEA
- JDK version: 17
Additional context
Excption: com.azure.core.exception.HttpResponseException: Status code 400, "{"error":{"message":"Invalid 'messages[1].tool_calls[1].function.name': string does not match pattern. Expected a string that matches the pattern '^[a-zA-Z0-9_-]+$'.","type":"invalid_request_error","code":"invalid_value","param":"messages[1].tool_calls[1].function.name"}}"
- Vorherrschende Sprache
- Java
- Sterne
- 276
- Forks
- 56
- Ø Merge
- 17 Std. 45 Min.
- Gemergte PRs (30 T.)
- 4
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus microsoft/semantic-kernel-java
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
microsoft/semantic-kernel-java#334 · 1 Kommentar ·
-
Feature Parity Inquiry: Multi-Agent Orchestration and Roadmap Alignment with Python/.NET Versions Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
microsoft/semantic-kernel-java#331 · 7 Kommentare ·
-
bug triage
microsoft/semantic-kernel-java#330 · 3 Kommentare · 1 zugewiesene Person ·
-
bug triage
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
microsoft/semantic-kernel-java#328 · 1 Kommentar ·
-
Java: Remove SK planners Offen
microsoft/semantic-kernel-java#323 · 1 Reaktion · 2 zugewiesene Personen ·
Alle Issues in microsoft/semantic-kernel-java
Ähnliche Issues
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
inu-appcenter/memorIN-backend#288 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
frontend maui-pilot pilot-ask question
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Offenarea/plugin
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
kestra-io/plugin-kestra#190 ·