wip: Using mistral instead of OpenAi
This commit is contained in:
@ -88,6 +88,8 @@ func main() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fmt.Printf("%+v\n", image)
|
||||||
|
|
||||||
imageInfo, err := openAiClient.GetImageInfo(image.Image.ImageName, image.Image.Image)
|
imageInfo, err := openAiClient.GetImageInfo(image.Image.ImageName, image.Image.Image)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("2")
|
log.Println("2")
|
||||||
@ -180,6 +182,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
image, err := io.ReadAll(r.Body)
|
image, err := io.ReadAll(r.Body)
|
||||||
|
fmt.Println(image)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("First case")
|
log.Println("First case")
|
||||||
|
@ -72,9 +72,7 @@ func (content *OpenAiMessages) AddImage(imageName string, image []byte) error {
|
|||||||
arrayMessage := OpenAiArrayMessage{Role: ROLE_USER, Content: make([]OpenAiContent, 1)}
|
arrayMessage := OpenAiArrayMessage{Role: ROLE_USER, Content: make([]OpenAiContent, 1)}
|
||||||
arrayMessage.Content[0] = OpenAiImage{
|
arrayMessage.Content[0] = OpenAiImage{
|
||||||
ImageType: IMAGE_TYPE,
|
ImageType: IMAGE_TYPE,
|
||||||
ImageUrl: ImageUrl{
|
ImageUrl: fmt.Sprintf("data:image/%s;base64,%s", extension, encodedString),
|
||||||
Url: fmt.Sprintf("data:image/%s;base64,%s", extension, encodedString),
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
content.Messages = append(content.Messages, arrayMessage)
|
content.Messages = append(content.Messages, arrayMessage)
|
||||||
@ -105,7 +103,7 @@ type ImageUrl struct {
|
|||||||
|
|
||||||
type OpenAiImage struct {
|
type OpenAiImage struct {
|
||||||
ImageType string `json:"type"`
|
ImageType string `json:"type"`
|
||||||
ImageUrl ImageUrl `json:"image_url"`
|
ImageUrl string `json:"image_url"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (imageMessage OpenAiImage) ToJson() ([]byte, error) {
|
func (imageMessage OpenAiImage) ToJson() ([]byte, error) {
|
||||||
@ -192,7 +190,7 @@ func CreateOpenAiClient() (OpenAiClient, error) {
|
|||||||
|
|
||||||
return OpenAiClient{
|
return OpenAiClient{
|
||||||
apiKey: apiKey,
|
apiKey: apiKey,
|
||||||
url: "https://api.openai.com/v1/chat/completions",
|
url: "https://api.mistral.ai/v1/chat/completions",
|
||||||
systemPrompt: PROMPT,
|
systemPrompt: PROMPT,
|
||||||
Do: func(req *http.Request) (*http.Response, error) {
|
Do: func(req *http.Request) (*http.Response, error) {
|
||||||
client := &http.Client{}
|
client := &http.Client{}
|
||||||
@ -279,7 +277,7 @@ func parseOpenAiResponse(jsonResponse []byte) (ImageInfo, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (client OpenAiClient) GetImageInfo(imageName string, imageData []byte) (ImageInfo, error) {
|
func (client OpenAiClient) GetImageInfo(imageName string, imageData []byte) (ImageInfo, error) {
|
||||||
aiRequest, err := getCompletionsForImage("gpt-4o-mini", 1.0, client.systemPrompt, imageName, RESPONSE_FORMAT, imageData)
|
aiRequest, err := getCompletionsForImage("pixtral-12b-2409", 1.0, client.systemPrompt, imageName, RESPONSE_FORMAT, imageData)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ImageInfo{}, err
|
return ImageInfo{}, err
|
||||||
}
|
}
|
||||||
@ -300,6 +298,8 @@ func (client OpenAiClient) GetImageInfo(imageName string, imageData []byte) (Ima
|
|||||||
return ImageInfo{}, err
|
return ImageInfo{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fmt.Println(string(jsonAiRequest))
|
||||||
|
|
||||||
request, err := client.getRequest(jsonAiRequest)
|
request, err := client.getRequest(jsonAiRequest)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ImageInfo{}, err
|
return ImageInfo{}, err
|
||||||
@ -315,5 +315,6 @@ func (client OpenAiClient) GetImageInfo(imageName string, imageData []byte) (Ima
|
|||||||
return ImageInfo{}, err
|
return ImageInfo{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fmt.Println(string(response))
|
||||||
return parseOpenAiResponse(response)
|
return parseOpenAiResponse(response)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user