diff --git a/backend/agents/client/chat.go b/backend/agents/client/chat.go index 6ab6fcf..2adf08f 100644 --- a/backend/agents/client/chat.go +++ b/backend/agents/client/chat.go @@ -73,7 +73,7 @@ type ChatAiMessage struct { Role string `json:"role"` ToolCalls *[]ToolCall `json:"tool_calls,omitempty"` - MessageContent `json:"content"` + Content string `json:"content"` } func (m ChatAiMessage) IsResponse() bool { diff --git a/backend/agents/client/client.go b/backend/agents/client/client.go index be9590e..db2d643 100644 --- a/backend/agents/client/client.go +++ b/backend/agents/client/client.go @@ -4,7 +4,6 @@ import ( "bytes" "encoding/json" "errors" - "fmt" "io" "log" "net/http" diff --git a/backend/agents/event_location_agent.go b/backend/agents/event_location_agent.go index dfef53a..88bbe94 100644 --- a/backend/agents/event_location_agent.go +++ b/backend/agents/event_location_agent.go @@ -161,16 +161,15 @@ func (agent EventLocationAgent) GetLocations(userId uuid.UUID, imageId uuid.UUID ResponseFormat: client.ResponseFormat{ Type: "text", }, + Chat: client.Chat{ + Messages: make([]client.ChatMessage, 0), + }, } - err = request.AddSystem(eventLocationPrompt) - if err != nil { - return err - } + request.Chat.AddSystem(eventLocationPrompt) + request.Chat.AddImage(imageName, imageData) - request.AddImage(imageName, imageData) - - _, err = agent.client.Request(&request) + _, err = agent.client.Request(&request.Chat) if err != nil { return err } @@ -180,7 +179,7 @@ func (agent EventLocationAgent) GetLocations(userId uuid.UUID, imageId uuid.UUID UserId: userId, } - return agent.client.Process(toolHandlerInfo, request) + return agent.client.Process(toolHandlerInfo, &request.Chat) } func NewLocationEventAgent(locationModel models.LocationModel, eventModel models.EventModel, contactModel models.ContactModel) (EventLocationAgent, error) { diff --git a/backend/agents/note_agent.go b/backend/agents/note_agent.go index 29b4ce8..02436d0 100644 --- a/backend/agents/note_agent.go +++ b/backend/agents/note_agent.go @@ -32,15 +32,15 @@ func (agent NoteAgent) GetNotes(userId uuid.UUID, imageId uuid.UUID, imageName s ResponseFormat: client.ResponseFormat{ Type: "text", }, + Chat: client.Chat{ + Messages: make([]client.ChatMessage, 0), + }, } - err := request.AddSystem(noteAgentPrompt) - if err != nil { - return err - } + request.Chat.AddSystem(noteAgentPrompt) + request.Chat.AddImage(imageName, imageData) - request.AddImage(imageName, imageData) - resp, err := agent.client.Request(&request) + resp, err := agent.client.Request(&request.Chat) if err != nil { return err } diff --git a/backend/agents/orchestrator.go b/backend/agents/orchestrator.go index 392d989..67ea5ff 100644 --- a/backend/agents/orchestrator.go +++ b/backend/agents/orchestrator.go @@ -101,15 +101,16 @@ func (agent OrchestratorAgent) Orchestrate(userId uuid.UUID, imageId uuid.UUID, }, ToolChoice: &toolChoice, Tools: &tools, + + Chat: client.Chat{ + Messages: make([]client.ChatMessage, 0), + }, } - err = request.AddSystem(orchestratorPrompt) - if err != nil { - return err - } + request.Chat.AddSystem(orchestratorPrompt) + request.Chat.AddImage(imageName, imageData) - request.AddImage(imageName, imageData) - _, err = agent.client.Request(&request) + _, err = agent.client.Request(&request.Chat) if err != nil { return err } @@ -119,7 +120,7 @@ func (agent OrchestratorAgent) Orchestrate(userId uuid.UUID, imageId uuid.UUID, UserId: userId, } - return agent.client.Process(toolHandlerInfo, request) + return agent.client.Process(toolHandlerInfo, &request.Chat) } func NewOrchestratorAgent(eventLocationAgent EventLocationAgent, noteAgent NoteAgent, imageName string, imageData []byte) (OrchestratorAgent, error) { diff --git a/backend/main.go b/backend/main.go index 205815f..aa180d9 100644 --- a/backend/main.go +++ b/backend/main.go @@ -25,10 +25,10 @@ import ( ) type TestAiClient struct { - ImageInfo client.ImageInfo + ImageInfo client.ImageMessageContent } -func (client TestAiClient) GetImageInfo(imageName string, imageData []byte) (client.ImageInfo, error) { +func (client TestAiClient) GetImageInfo(imageName string, imageData []byte) (client.ImageMessageContent, error) { return client.ImageInfo, nil }