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,13 +527,19 @@ 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{
Name: chosenAction.Definition().Name.String(), {
Arguments: actionParams.String(), Type: openai.ToolTypeFunction,
Function: openai.FunctionCall{
Name: chosenAction.Definition().Name.String(),
Arguments: actionParams.String(),
},
},
}, },
}) })