Use toolcall to construct current conversation
This commit is contained in:
@@ -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(),
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user