Skip to content
Snippets Groups Projects
Unverified Commit 9ace0e67 authored by Timothy Carambat's avatar Timothy Carambat Committed by GitHub
Browse files

Validate max_tokens is number (#1445)

parent 1a5aacb0
No related branches found
No related tags found
No related merge requests found
...@@ -2,6 +2,7 @@ const { NativeEmbedder } = require("../../EmbeddingEngines/native"); ...@@ -2,6 +2,7 @@ const { NativeEmbedder } = require("../../EmbeddingEngines/native");
const { const {
handleDefaultStreamResponseV2, handleDefaultStreamResponseV2,
} = require("../../helpers/chat/responses"); } = require("../../helpers/chat/responses");
const { toValidNumber } = require("../../http");
class GenericOpenAiLLM { class GenericOpenAiLLM {
constructor(embedder = null, modelPreference = null) { constructor(embedder = null, modelPreference = null) {
...@@ -18,7 +19,9 @@ class GenericOpenAiLLM { ...@@ -18,7 +19,9 @@ class GenericOpenAiLLM {
}); });
this.model = this.model =
modelPreference ?? process.env.GENERIC_OPEN_AI_MODEL_PREF ?? null; modelPreference ?? process.env.GENERIC_OPEN_AI_MODEL_PREF ?? null;
this.maxTokens = process.env.GENERIC_OPEN_AI_MAX_TOKENS ?? 1024; this.maxTokens = process.env.GENERIC_OPEN_AI_MAX_TOKENS
? toValidNumber(process.env.GENERIC_OPEN_AI_MAX_TOKENS, 1024)
: 1024;
if (!this.model) if (!this.model)
throw new Error("GenericOpenAI must have a valid model set."); throw new Error("GenericOpenAI must have a valid model set.");
this.limits = { this.limits = {
......
const { Document } = require("../../../../models/documents"); const { Document } = require("../../../../models/documents");
const { safeJsonParse } = require("../../../http"); const { safeJsonParse } = require("../../../http");
const { validate } = require("uuid");
const { summarizeContent } = require("../utils/summarize"); const { summarizeContent } = require("../utils/summarize");
const Provider = require("../providers/ai-provider"); const Provider = require("../providers/ai-provider");
......
...@@ -2,6 +2,7 @@ const OpenAI = require("openai"); ...@@ -2,6 +2,7 @@ const OpenAI = require("openai");
const Provider = require("./ai-provider.js"); const Provider = require("./ai-provider.js");
const InheritMultiple = require("./helpers/classes.js"); const InheritMultiple = require("./helpers/classes.js");
const UnTooled = require("./helpers/untooled.js"); const UnTooled = require("./helpers/untooled.js");
const { toValidNumber } = require("../../../http/index.js");
/** /**
* The agent provider for the Generic OpenAI provider. * The agent provider for the Generic OpenAI provider.
...@@ -24,7 +25,9 @@ class GenericOpenAiProvider extends InheritMultiple([Provider, UnTooled]) { ...@@ -24,7 +25,9 @@ class GenericOpenAiProvider extends InheritMultiple([Provider, UnTooled]) {
this._client = client; this._client = client;
this.model = model; this.model = model;
this.verbose = true; this.verbose = true;
this.maxTokens = process.env.GENERIC_OPEN_AI_MAX_TOKENS ?? 1024; this.maxTokens = process.env.GENERIC_OPEN_AI_MAX_TOKENS
? toValidNumber(process.env.GENERIC_OPEN_AI_MAX_TOKENS, 1024)
: 1024;
} }
get client() { get client() {
......
...@@ -91,6 +91,11 @@ function isValidUrl(urlString = "") { ...@@ -91,6 +91,11 @@ function isValidUrl(urlString = "") {
return false; return false;
} }
function toValidNumber(number = null, fallback = null) {
if (isNaN(Number(number))) return fallback;
return Number(number);
}
module.exports = { module.exports = {
reqBody, reqBody,
multiUserMode, multiUserMode,
...@@ -101,4 +106,5 @@ module.exports = { ...@@ -101,4 +106,5 @@ module.exports = {
parseAuthHeader, parseAuthHeader,
safeJsonParse, safeJsonParse,
isValidUrl, isValidUrl,
toValidNumber,
}; };
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment