added vision/prefix to cerebras

This commit is contained in:
MaxRobinsonTheGreat 2025-08-23 14:29:24 -05:00
parent 6b33898a1f
commit 4bf0deaa1b
2 changed files with 22 additions and 4 deletions

View file

@ -2,7 +2,7 @@
"type": "module",
"dependencies": {
"@anthropic-ai/sdk": "^0.17.1",
"@cerebras/cerebras_cloud_sdk": "^1.0.0",
"@cerebras/cerebras_cloud_sdk": "^1.46.0",
"@google/generative-ai": "^0.2.1",
"@huggingface/inference": "^2.8.1",
"@mistralai/mistralai": "^1.1.0",

View file

@ -3,9 +3,9 @@ import { strictFormat } from '../utils/text.js';
import { getKey } from '../utils/keys.js';
export class Cerebras {
static prefix = 'cerebras';
constructor(model_name, url, params) {
// Strip the prefix
this.model_name = model_name.replace('cerebras/', '');
this.model_name = model_name;
this.url = url;
this.params = params;
@ -19,7 +19,7 @@ export class Cerebras {
messages.unshift({ role: 'system', content: systemMessage });
const pack = {
model: this.model_name || 'llama-4-scout-17b-16e-instruct',
model: this.model_name || 'gpt-oss-120b',
messages,
stream: false,
...(this.params || {}),
@ -37,6 +37,24 @@ export class Cerebras {
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, systemMessage);
}
async embed(text) {
throw new Error('Embeddings are not supported by Cerebras.');
}