mirror of
https://github.com/woodchen-ink/Oapi-Feishu.git
synced 2025-07-18 05:42:08 +08:00
121 lines
3.3 KiB
Go
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)
|
|
}
|