diff --git a/README.md b/README.md index 9d02d181d..cb09f70fa 100644 --- a/README.md +++ b/README.md @@ -70,25 +70,25 @@ Jan is an open-source ChatGPT alternative that runs 100% offline on your compute
jan.exe
Intel
M1/M2
jan.deb
diff --git a/core/src/node/api/common/builder.ts b/core/src/node/api/common/builder.ts
index 4081e859f..54ce9159f 100644
--- a/core/src/node/api/common/builder.ts
+++ b/core/src/node/api/common/builder.ts
@@ -14,14 +14,13 @@ const path = join(os.homedir(), 'jan')
export const getBuilder = async (configuration: RouteConfiguration) => {
const directoryPath = join(path, configuration.dirName)
-
try {
- if (!(await fs.existsSync(directoryPath))) {
+ if (!fs.existsSync(directoryPath)) {
console.debug('model folder not found')
return []
}
- const files: string[] = await fs.readdirSync(directoryPath)
+ const files: string[] = fs.readdirSync(directoryPath)
const allDirectories: string[] = []
for (const file of files) {
@@ -29,12 +28,12 @@ export const getBuilder = async (configuration: RouteConfiguration) => {
allDirectories.push(file)
}
- const readJsonPromises = allDirectories.map(async (dirName) => {
- const jsonPath = join(directoryPath, dirName, configuration.metadataFileName)
- return await readModelMetadata(jsonPath)
- })
-
- const results = await Promise.all(readJsonPromises)
+ const results = allDirectories
+ .map((dirName) => {
+ const jsonPath = join(directoryPath, dirName, configuration.metadataFileName)
+ return readModelMetadata(jsonPath)
+ })
+ .filter((data) => !!data)
const modelData = results
.map((result: any) => {
try {
@@ -52,8 +51,12 @@ export const getBuilder = async (configuration: RouteConfiguration) => {
}
}
-const readModelMetadata = async (path: string) => {
- return fs.readFileSync(path, 'utf-8')
+const readModelMetadata = (path: string): string | undefined => {
+ if (fs.existsSync(path)) {
+ return fs.readFileSync(path, 'utf-8')
+ } else {
+ return undefined
+ }
}
export const retrieveBuilder = async (configuration: RouteConfiguration, id: string) => {
@@ -99,7 +102,7 @@ export const getMessages = async (threadId: string) => {
const threadDirPath = join(path, 'threads', threadId)
const messageFile = 'messages.jsonl'
try {
- const files: string[] = await fs.readdirSync(threadDirPath)
+ const files: string[] = fs.readdirSync(threadDirPath)
if (!files.includes(messageFile)) {
throw Error(`${threadDirPath} not contains message file`)
}