microsoft / microsoft/semantic-kernel-java

Java: Not possible to retrieve function calls and function results

Ouverte
#143 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

java
Langage dominant
Java
Étoiles
276
Forks
56
Merge moyen
17 h 45 min
PR mergées (30 j)
4

Description

After running the following code, it is not possible to retrieve the function calls and function result messages so that they can be readded to the history.

InvocationContext invocationContext = new InvocationContext.Builder()
            .withToolCallBehavior(ToolCallBehavior.allowAllKernelFunctions(true))
            .build();
        List<ChatMessageContent<?>> results  = chat.getChatMessageContentsAsync(chatHistory, kernel, invocationContext)
        .block();

In .NET, after invoking the chat completion model, the ChatHistory is mutated so that it includes all of the messages that were created (including function calls from the assistant role and function results as tool messages)

Because of this limitation, it is not possible for the AI to reuse context it was able to retrieve in previous function calls/results. For example, in the following chat, the AI used a function call to get the states of the lightbulbs. This included the IDs of the lights which are necessary for subsequent function calls.

Unfortunately, because the function result is lost, subsequent questions aren't able to use that information and the AI cannot complete them.

image

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par l’appel Java à getChatMessageContentsAsync présenté dans l’issue et suivez la manière dont InvocationContext et ChatHistory gèrent les appels de fonction et leurs résultats. Comparez le comportement Java décrit avec le comportement de ChatHistory dans .NET ; le travail est terminé lorsque les messages d’appel de fonction et de résultat de fonction peuvent être récupérés ou ajoutés à nouveau afin que les questions ultérieures puissent réutiliser le contexte récupéré.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
ai, api
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.