messages.go 675 B

123456789101112131415161718192021
  1. package llm
  2. import (
  3. "github.com/sashabaranov/go-openai"
  4. )
  5. func ChatCompletionWithContext(filename string, messages []openai.ChatCompletionMessage) []openai.ChatCompletionMessage {
  6. for i := len(messages) - 1; i >= 0; i-- {
  7. if messages[i].Role == openai.ChatMessageRoleUser {
  8. // openai.ChatCompletionMessage: can't use both Content and MultiContent properties simultaneously
  9. multiContent := getConfigIncludeContext(filename)
  10. multiContent = append(multiContent, openai.ChatMessagePart{
  11. Type: openai.ChatMessagePartTypeText,
  12. Text: messages[i].Content,
  13. })
  14. messages[i].Content = ""
  15. messages[i].MultiContent = multiContent
  16. }
  17. }
  18. return messages
  19. }