2024-01-28 01:20:44 +08:00

121 lines
3.3 KiB
Go

package openai
import (
"fmt"
"start-feishubot/initialization"
"testing"
)
func TestCompletions(t *testing.T) {
config := initialization.LoadConfig("../../config.yaml")
msgs := []Messages{
{Role: "system", Content: "你是一个专业的翻译官,负责中英文翻译。"},
{Role: "user", Content: "翻译这段话: The assistant messages help store prior responses. They can also be written by a developer to help give examples of desired behavior."},
}
gpt := NewChatGPT(*config)
resp, err := gpt.Completions(msgs)
if err != nil {
t.Errorf("TestCompletions failed with error: %v", err)
}
fmt.Println(resp.Content, resp.Role)
}
func TestGenerateOneImage(t *testing.T) {
config := initialization.LoadConfig("../../config.yaml")
gpt := NewChatGPT(*config)
prompt := "a red apple"
size := "256x256"
imageURL, err := gpt.GenerateOneImage(prompt, size)
if err != nil {
t.Errorf("TestGenerateOneImage failed with error: %v", err)
}
if imageURL == "" {
t.Errorf("TestGenerateOneImage returned empty imageURL")
}
}
func TestAudioToText(t *testing.T) {
config := initialization.LoadConfig("../../config.yaml")
gpt := NewChatGPT(*config)
audio := "./test_file/test.wav"
text, err := gpt.AudioToText(audio)
if err != nil {
t.Errorf("TestAudioToText failed with error: %v", err)
}
fmt.Printf("TestAudioToText returned text: %s \n", text)
if text == "" {
t.Errorf("TestAudioToText returned empty text")
}
}
func TestVariateOneImage(t *testing.T) {
config := initialization.LoadConfig("../../config.yaml")
gpt := NewChatGPT(*config)
image := "./test_file/img.png"
size := "256x256"
//compressionType, err := GetImageCompressionType(image)
//if err != nil {
// return
//}
//fmt.Println("compressionType: ", compressionType)
ConvertToRGBA(image, image)
err := VerifyPngs([]string{image})
if err != nil {
t.Errorf("TestVariateOneImage failed with error: %v", err)
return
}
imageBs64, err := gpt.GenerateOneImageVariation(image, size)
if err != nil {
t.Errorf("TestVariateOneImage failed with error: %v", err)
}
//fmt.Printf("TestVariateOneImage returned imageBs64: %s \n", imageBs64)
if imageBs64 == "" {
t.Errorf("TestVariateOneImage returned empty imageURL")
}
}
func TestVariateOneImageWithJpg(t *testing.T) {
config := initialization.LoadConfig("../../config.yaml")
gpt := NewChatGPT(*config)
image := "./test_file/test.jpg"
size := "256x256"
compressionType, err := GetImageCompressionType(image)
if err != nil {
return
}
fmt.Println("compressionType: ", compressionType)
//ConvertJPGtoPNG(image)
ConvertToRGBA(image, image)
err = VerifyPngs([]string{image})
if err != nil {
t.Errorf("TestVariateOneImage failed with error: %v", err)
return
}
imageBs64, err := gpt.GenerateOneImageVariation(image, size)
if err != nil {
t.Errorf("TestVariateOneImage failed with error: %v", err)
}
fmt.Printf("TestVariateOneImage returned imageBs64: %s \n", imageBs64)
if imageBs64 == "" {
t.Errorf("TestVariateOneImage returned empty imageURL")
}
}
// 余额接口已经被废弃
func TestChatGPT_GetBalance(t *testing.T) {
config := initialization.LoadConfig("../../config.yaml")
gpt := NewChatGPT(*config)
balance, err := gpt.GetBalance()
if err != nil {
t.Errorf("TestChatGPT_GetBalance failed with error: %v", err)
}
fmt.Println("balance: ", balance)
}