diff --git a/package.json b/package.json index dabb8fe..106a75c 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/src/models/cerebras.js b/src/models/cerebras.js index 21f1eee..be902a6 100644 --- a/src/models/cerebras.js +++ b/src/models/cerebras.js @@ -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.'); }