Use toolcall to construct current conversation

This commit is contained in:
Ettore Di Giacinto
2025-02-28 22:37:55 +01:00
parent d3f2126614
commit 43352376e3

View File

@@ -527,14 +527,20 @@ func (a *Agent) consumeJob(job *Job, role string) {
stateResult := ActionState{ActionCurrentState{chosenAction, actionParams, reasoning}, result} stateResult := ActionState{ActionCurrentState{chosenAction, actionParams, reasoning}, result}
job.Result.SetResult(stateResult) job.Result.SetResult(stateResult)
job.CallbackWithResult(stateResult) job.CallbackWithResult(stateResult)
xlog.Debug("Action executed", "agent", a.Character.Name, "action", chosenAction.Definition().Name, "result", result)
// calling the function // calling the function
a.currentConversation = append(a.currentConversation, openai.ChatCompletionMessage{ a.currentConversation = append(a.currentConversation, openai.ChatCompletionMessage{
Role: "assistant", Role: "assistant",
FunctionCall: &openai.FunctionCall{ ToolCalls: []openai.ToolCall{
{
Type: openai.ToolTypeFunction,
Function: openai.FunctionCall{
Name: chosenAction.Definition().Name.String(), Name: chosenAction.Definition().Name.String(),
Arguments: actionParams.String(), Arguments: actionParams.String(),
}, },
},
},
}) })
// result of calling the function // result of calling the function