feat: add groq vision request

This commit is contained in:
gmuffiness 2025-01-27 17:29:14 +09:00
parent 7d51726289
commit d1b3232a5a

View file

@ -15,8 +15,10 @@ export class GroqCloudAPI {
this.groq = new Groq({ apiKey: getKey('GROQCLOUD_API_KEY') });
}
async sendRequest(turns, systemMessage, stop_seq=null) {
let messages = [{"role": "system", "content": systemMessage}].concat(turns);
async sendRequest(turns, systemMessage=null, stop_seq=null) {
let messages = systemMessage
? [{"role": "system", "content": systemMessage}].concat(turns)
: turns;
let res = null;
try {
console.log("Awaiting Groq response...");
@ -45,6 +47,24 @@ export class GroqCloudAPI {
return res;
}
async sendVisionRequest(messages, systemMessage, imageBuffer) {
const imageMessages = [...messages];
imageMessages.push({
role: "user",
content: [
{ type: "text", text: systemMessage },
{
type: "image_url",
image_url: {
url: `data:image/jpeg;base64,${imageBuffer.toString('base64')}`
}
}
]
});
return this.sendRequest(imageMessages);
}
async embed(text) {
console.log("There is no support for embeddings in Groq support. However, the following text was provided: " + text);
}