mirror of
https://github.com/kolbytn/mindcraft.git
synced 2025-08-28 18:03:03 +02:00
feat: add gemini vision request
This commit is contained in:
parent
d1b3232a5a
commit
4281ee2468
1 changed files with 36 additions and 0 deletions
|
@ -59,6 +59,42 @@ export class Gemini {
|
||||||
return text.slice(0, idx);
|
return text.slice(0, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async sendVisionRequest(turns, systemMessage, imageBuffer) {
|
||||||
|
let model;
|
||||||
|
if (this.url) {
|
||||||
|
model = this.genAI.getGenerativeModel(
|
||||||
|
{ model: this.model_name || "gemini-1.5-pro-vision" },
|
||||||
|
{ baseUrl: this.url },
|
||||||
|
{ safetySettings: this.safetySettings }
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
model = this.genAI.getGenerativeModel(
|
||||||
|
{ model: this.model_name || "gemini-1.5-pro-vision" },
|
||||||
|
{ safetySettings: this.safetySettings }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const imagePart = {
|
||||||
|
inlineData: {
|
||||||
|
data: imageBuffer.toString('base64'),
|
||||||
|
mimeType: 'image/jpeg'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const stop_seq = '***';
|
||||||
|
const prompt = toSinglePrompt(turns, systemMessage, stop_seq, 'model');
|
||||||
|
|
||||||
|
console.log('Awaiting Google API vision response...');
|
||||||
|
const result = await model.generateContent([prompt, imagePart]);
|
||||||
|
const response = await result.response;
|
||||||
|
const text = response.text();
|
||||||
|
console.log('Received.');
|
||||||
|
|
||||||
|
if (!text.includes(stop_seq)) return text;
|
||||||
|
const idx = text.indexOf(stop_seq);
|
||||||
|
return text.slice(0, idx);
|
||||||
|
}
|
||||||
|
|
||||||
async embed(text) {
|
async embed(text) {
|
||||||
let model;
|
let model;
|
||||||
if (this.url) {
|
if (this.url) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue