feat(ollama): Enhance Ollama support by adding new models, updating API format handling, and integrating translation functionality.

This commit is contained in:
decolua
2026-03-12 15:24:10 +07:00
parent 32e3980a13
commit 83d94daa82
9 changed files with 352 additions and 11 deletions
+1 -1
View File
@@ -159,7 +159,7 @@ export function createSSEStream(options = {}) {
// Translate mode
if (!trimmed) continue;
const parsed = parseSSELine(trimmed);
const parsed = parseSSELine(trimmed, targetFormat);
if (!parsed) continue;
if (parsed && parsed.done) {
+18 -2
View File
@@ -1,8 +1,24 @@
import { FORMATS } from "../translator/formats.js";
// Parse SSE data line
export function parseSSELine(line) {
if (!line || line.charCodeAt(0) !== 100) return null; // 'd' = 100
export function parseSSELine(line, format = null) {
if (!line) return null;
// NDJSON format (Ollama): raw JSON lines without "data:" prefix
if (format === FORMATS.OLLAMA) {
const trimmed = line.trim();
if (trimmed.startsWith("{")) {
try {
return JSON.parse(trimmed);
} catch (error) {
return null;
}
}
return null;
}
// Standard SSE format: "data: {...}"
if (line.charCodeAt(0) !== 100) return null; // 'd' = 100
const data = line.slice(5).trim();
if (data === "[DONE]") return { done: true };