package openai import ( "context" "git.ewnix.net/phlux/g/discord-gpt-bot/config" "github.com/sashabaranov/go-openai" ) type Message struct { Role string `json:"role"` Content string `json:"content"` } func Ask(messages []Message) (string, error) { client := openai.NewClient(config.OpenAIKey) var chatHistory []openai.ChatCompletionMessage for _, m := range messages { chatHistory = append(chatHistory, openai.ChatCompletionMessage{ Role: m.Role, Content: m.Content, }) } resp, err := client.CreateChatCompletion( context.Background(), openai.ChatCompletionRequest{ Model: openai.GPT4, Messages: chatHistory, }, ) if err != nil { return "", err } return resp.Choices[0].Message.Content, nil }