41 lines
745 B
Go

package openai
import (
"context"
"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: "gpt-4.1",
Messages: chatHistory,
MaxTokens: 600,
},
)
if err != nil {
return "", err
}
return resp.Choices[0].Message.Content, nil
}