diff --git a/extensions/assistant-extension/src/node/index.ts b/extensions/assistant-extension/src/node/index.ts index d52a4b23e3..f303dd51d4 100644 --- a/extensions/assistant-extension/src/node/index.ts +++ b/extensions/assistant-extension/src/node/index.ts @@ -1,5 +1,5 @@ import { getJanDataFolderPath, normalizeFilePath } from '@janhq/core/node' -import { retrieval } from './tools/retrieval' +import { retrieval } from './retrieval' import path from 'path' export function toolRetrievalUpdateTextSplitter( diff --git a/extensions/assistant-extension/src/node/tools/retrieval/index.ts b/extensions/assistant-extension/src/node/retrieval.ts similarity index 98% rename from extensions/assistant-extension/src/node/tools/retrieval/index.ts rename to extensions/assistant-extension/src/node/retrieval.ts index e58ec0c46c..01ab413d36 100644 --- a/extensions/assistant-extension/src/node/tools/retrieval/index.ts +++ b/extensions/assistant-extension/src/node/retrieval.ts @@ -5,7 +5,7 @@ import { PDFLoader } from 'langchain/document_loaders/fs/pdf' import { HNSWLib } from 'langchain/vectorstores/hnswlib' import { OpenAIEmbeddings } from 'langchain/embeddings/openai' -import { readEmbeddingEngine } from '../../engine' +import { readEmbeddingEngine } from './engine' export class Retrieval { public chunkSize: number = 100 diff --git a/extensions/assistant-extension/src/tools/retrieval.ts b/extensions/assistant-extension/src/tools/retrieval.ts index 35738fd8e0..09ab6c2e23 100644 --- a/extensions/assistant-extension/src/tools/retrieval.ts +++ b/extensions/assistant-extension/src/tools/retrieval.ts @@ -18,7 +18,7 @@ export class RetrievalTool extends InferenceTool { tool?: AssistantTool ): Promise { if (!data.model || !data.messages) { - return Promise.resolve(data) + return Promise.resolve(this.normalize(data)) } const latestMessage = data.messages[data.messages.length - 1] @@ -48,7 +48,7 @@ export class RetrievalTool extends InferenceTool { ) { // No document ingested, reroute the result to inference engine - return Promise.resolve(data) + return Promise.resolve(this.normalize(data)) } // 2. Load agent on thread changed if (this.retrievalThreadId !== data.threadId) { @@ -87,8 +87,14 @@ export class RetrievalTool extends InferenceTool { .replace('{QUESTION}', prompt) } - // Filter out all the messages that are not text - data.messages = data.messages.map((message) => { + // 4. Reroute the result to inference engine + return Promise.resolve(this.normalize(data)) + } + + // Filter out all the messages that are not text + // TODO: Remove it until engines can handle multiple content types + normalize(request: MessageRequest): MessageRequest { + request.messages = request.messages?.map((message) => { if ( message.content && typeof message.content !== 'string' && @@ -101,8 +107,6 @@ export class RetrievalTool extends InferenceTool { } return message }) - - // 4. Reroute the result to inference engine - return Promise.resolve(data) + return request } } diff --git a/extensions/model-extension/package.json b/extensions/model-extension/package.json index 3805c92cfa..5b4f3002b1 100644 --- a/extensions/model-extension/package.json +++ b/extensions/model-extension/package.json @@ -1,6 +1,6 @@ { "name": "@janhq/model-extension", - "version": "1.0.27", + "version": "1.0.28", "description": "Model Management Extension provides model exploration and seamless downloads", "main": "dist/index.js", "module": "dist/module.js", diff --git a/models/groq-llama2-70b/model.json b/models/groq-llama2-70b/model.json index c2b9254250..3f62aa4dac 100644 --- a/models/groq-llama2-70b/model.json +++ b/models/groq-llama2-70b/model.json @@ -10,7 +10,9 @@ "version": "1.0", "description": "Groq Llama 2 70b with supercharged speed!", "format": "api", - "settings": {}, + "settings": { + "text_model": false + }, "parameters": { "max_tokens": 4096, "temperature": 0.7, diff --git a/models/groq-mixtral-8x7b-instruct/model.json b/models/groq-mixtral-8x7b-instruct/model.json index ae1cbbf805..bd43fde07b 100644 --- a/models/groq-mixtral-8x7b-instruct/model.json +++ b/models/groq-mixtral-8x7b-instruct/model.json @@ -10,7 +10,9 @@ "version": "1.0", "description": "Groq Mixtral 8x7b Instruct is Mixtral with supercharged speed!", "format": "api", - "settings": {}, + "settings": { + "text_model": false + }, "parameters": { "max_tokens": 4096, "temperature": 0.7, diff --git a/web/utils/messageRequestBuilder.ts b/web/utils/messageRequestBuilder.ts index e214b03ea4..fadcb4f3b2 100644 --- a/web/utils/messageRequestBuilder.ts +++ b/web/utils/messageRequestBuilder.ts @@ -91,7 +91,7 @@ export class MessageRequestBuilder { }, ] as ChatCompletionMessageContent, } - this.messages = [message, ...this.messages] + this.messages = [...this.messages, message] return this } @@ -113,7 +113,7 @@ export class MessageRequestBuilder { ] as ChatCompletionMessageContent, } - this.messages = [message, ...this.messages] + this.messages = [...this.messages, message] return this }