refactor: knowledge base database engine
This commit is contained in:
parent
b85765915e
commit
34ebab0af8
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@ -49,7 +49,7 @@ jobs:
|
||||
- name: Build Linux
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
yarn download:npm linux
|
||||
yarn build:npm linux
|
||||
yarn build:linux
|
||||
|
||||
env:
|
||||
@ -58,7 +58,7 @@ jobs:
|
||||
- name: Build Mac
|
||||
if: matrix.os == 'macos-latest'
|
||||
run: |
|
||||
yarn download:npm darwin
|
||||
yarn build:npm mac
|
||||
yarn build:mac
|
||||
env:
|
||||
CSC_LINK: ${{ secrets.CSC_LINK }}
|
||||
|
||||
@ -1,25 +0,0 @@
|
||||
diff --git a/src/libsql-db.js b/src/libsql-db.js
|
||||
index 58c42e4910bd0e53bc497ff9b9702b1f7a961266..c02351dc95ba36fc4db97ddfb69206539fb4de1c 100644
|
||||
--- a/src/libsql-db.js
|
||||
+++ b/src/libsql-db.js
|
||||
@@ -41,9 +41,9 @@ export class LibSqlDb {
|
||||
}
|
||||
async similaritySearch(query, k) {
|
||||
const statement = `SELECT id, pageContent, uniqueLoaderId, source, metadata,
|
||||
- vector_distance_cos(vector, vector32('[${query.join(',')}]'))
|
||||
+ vector_distance_cos(vector, vector32('[${query.join(',')}]')) as distance
|
||||
FROM ${this.tableName}
|
||||
- ORDER BY vector_distance_cos(vector, vector32('[${query.join(',')}]')) ASC
|
||||
+ ORDER BY distance DESC
|
||||
LIMIT ${k};`;
|
||||
this.debug(`Executing statement - ${truncateCenterString(statement, 700)}`);
|
||||
const results = await this.client.execute(statement);
|
||||
@@ -52,7 +52,7 @@ export class LibSqlDb {
|
||||
return {
|
||||
metadata,
|
||||
pageContent: result.pageContent.toString(),
|
||||
- score: 1,
|
||||
+ score: 1 - result.distance,
|
||||
};
|
||||
});
|
||||
}
|
||||
17
.yarn/patches/@llm-tools-embedjs-npm-0.1.25-ec5645cf36.patch
Normal file
17
.yarn/patches/@llm-tools-embedjs-npm-0.1.25-ec5645cf36.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff --git a/src/core/rag-embedding.js b/src/core/rag-embedding.js
|
||||
index 50c3c4064af17bc4c7c46554d8f2419b3afceb0e..632c9b2e04d2e0e3bb09ef1cd8f29d2560e6afc1 100644
|
||||
--- a/src/core/rag-embedding.js
|
||||
+++ b/src/core/rag-embedding.js
|
||||
@@ -1,10 +1,8 @@
|
||||
export class RAGEmbedding {
|
||||
static singleton;
|
||||
static async init(embeddingModel) {
|
||||
- if (!this.singleton) {
|
||||
- await embeddingModel.init();
|
||||
- this.singleton = new RAGEmbedding(embeddingModel);
|
||||
- }
|
||||
+ await embeddingModel.init();
|
||||
+ this.singleton = new RAGEmbedding(embeddingModel);
|
||||
}
|
||||
static getInstance() {
|
||||
return RAGEmbedding.singleton;
|
||||
@ -20,7 +20,7 @@ export default defineConfig({
|
||||
'@llm-tools/embedjs-loader-xml',
|
||||
'@llm-tools/embedjs-loader-pdf',
|
||||
'@llm-tools/embedjs-loader-sitemap',
|
||||
'@llm-tools/embedjs-libsql'
|
||||
'@llm-tools/embedjs-lancedb'
|
||||
]
|
||||
}),
|
||||
...visualizerPlugin('main')
|
||||
@ -34,9 +34,8 @@ export default defineConfig({
|
||||
},
|
||||
build: {
|
||||
rollupOptions: {
|
||||
external: ['@libsql/client']
|
||||
},
|
||||
minify: true
|
||||
external: ['@lancedb/lancedb']
|
||||
}
|
||||
}
|
||||
},
|
||||
preload: {
|
||||
@ -51,10 +50,7 @@ export default defineConfig({
|
||||
}
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: ['chunk-7UIZINC5.js', 'chunk-7OJJKI46.js']
|
||||
},
|
||||
build: {
|
||||
minify: true
|
||||
exclude: []
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@ -25,7 +25,6 @@
|
||||
"typecheck": "npm run typecheck:node && npm run typecheck:web",
|
||||
"start": "electron-vite preview",
|
||||
"dev": "electron-vite dev",
|
||||
"download:npm": "node scripts/download-npm.js",
|
||||
"build": "npm run typecheck && electron-vite build",
|
||||
"postinstall": "electron-builder install-app-deps",
|
||||
"build:unpack": "dotenv npm run build && electron-builder --dir",
|
||||
@ -37,6 +36,7 @@
|
||||
"build:linux": "dotenv electron-vite build && electron-builder --linux",
|
||||
"build:linux:arm64": "dotenv electron-vite build && electron-builder --linux --arm64",
|
||||
"build:linux:x64": "dotenv electron-vite build && electron-builder --linux --x64",
|
||||
"build:npm": "node scripts/build-npm.js",
|
||||
"release": "node scripts/version.js",
|
||||
"publish": "yarn release patch push",
|
||||
"pulish:artifacts": "cd packages/artifacts && npm publish && cd -",
|
||||
@ -49,8 +49,8 @@
|
||||
"@electron-toolkit/preload": "^3.0.0",
|
||||
"@electron-toolkit/utils": "^3.0.0",
|
||||
"@electron/notarize": "^2.5.0",
|
||||
"@llm-tools/embedjs": "^0.1.25",
|
||||
"@llm-tools/embedjs-libsql": "patch:@llm-tools/embedjs-libsql@npm%3A0.1.25#~/.yarn/patches/@llm-tools-embedjs-libsql-npm-0.1.25-fad000d74c.patch",
|
||||
"@llm-tools/embedjs": "patch:@llm-tools/embedjs@npm%3A0.1.25#~/.yarn/patches/@llm-tools-embedjs-npm-0.1.25-ec5645cf36.patch",
|
||||
"@llm-tools/embedjs-lancedb": "^0.1.25",
|
||||
"@llm-tools/embedjs-loader-csv": "^0.1.25",
|
||||
"@llm-tools/embedjs-loader-markdown": "^0.1.25",
|
||||
"@llm-tools/embedjs-loader-msoffice": "^0.1.25",
|
||||
@ -61,6 +61,7 @@
|
||||
"@llm-tools/embedjs-openai": "^0.1.25",
|
||||
"@types/react-infinite-scroll-component": "^5.0.0",
|
||||
"adm-zip": "^0.5.16",
|
||||
"apache-arrow": "^18.1.0",
|
||||
"docx": "^9.0.2",
|
||||
"electron-log": "^5.1.5",
|
||||
"electron-store": "^8.2.0",
|
||||
|
||||
@ -9,29 +9,34 @@ exports.default = async function (context) {
|
||||
const arch = context.arch
|
||||
|
||||
if (platform === 'mac') {
|
||||
const nodeModulesPath = path.join(
|
||||
const node_modules_path = path.join(
|
||||
context.appOutDir,
|
||||
'Cherry Studio.app',
|
||||
'Contents',
|
||||
'Resources',
|
||||
'app.asar.unpacked',
|
||||
'node_modules',
|
||||
'@libsql'
|
||||
'node_modules'
|
||||
)
|
||||
|
||||
keepLibsqlNodeModules(nodeModulesPath, arch === Arch.arm64 ? ['darwin-arm64'] : ['darwin-x64'])
|
||||
removeDifferentArchNodeFiles(
|
||||
node_modules_path,
|
||||
'@lancedb',
|
||||
arch === Arch.arm64 ? ['lancedb-darwin-arm64'] : ['lancedb-darwin-x64']
|
||||
)
|
||||
}
|
||||
|
||||
if (platform === 'linux') {
|
||||
const nodeModulesPath = path.join(context.appOutDir, 'resources', 'app.asar.unpacked', 'node_modules', '@libsql')
|
||||
keepLibsqlNodeModules(
|
||||
nodeModulesPath,
|
||||
arch === Arch.arm64 ? ['linux-arm64-gnu', 'linux-arm64-musl'] : ['linux-x64-gnu', 'linux-x64-musl']
|
||||
)
|
||||
const node_modules_path = path.join(context.appOutDir, 'resources', 'app.asar.unpacked', 'node_modules')
|
||||
const _arch =
|
||||
arch === Arch.arm64
|
||||
? ['lancedb-linux-arm64-gnu', 'lancedb-linux-arm64-musl']
|
||||
: ['lancedb-linux-x64-gnu', 'lancedb-linux-x64-musl']
|
||||
removeDifferentArchNodeFiles(node_modules_path, '@lancedb', _arch)
|
||||
}
|
||||
}
|
||||
|
||||
function keepLibsqlNodeModules(modulePath, arch) {
|
||||
function removeDifferentArchNodeFiles(nodeModulesPath, packageName, arch) {
|
||||
const modulePath = path.join(nodeModulesPath, packageName)
|
||||
const dirs = fs.readdirSync(modulePath)
|
||||
dirs
|
||||
.filter((dir) => !arch.includes(dir))
|
||||
|
||||
28
scripts/build-npm.js
Normal file
28
scripts/build-npm.js
Normal file
@ -0,0 +1,28 @@
|
||||
const { downloadNpmPackage } = require('./utils')
|
||||
|
||||
async function downloadNpm(platform) {
|
||||
if (!platform || platform === 'mac') {
|
||||
downloadNpmPackage(
|
||||
'@lancedb/lancedb-darwin-arm64',
|
||||
'https://registry.npmjs.org/@lancedb/lancedb-darwin-arm64/-/lancedb-darwin-arm64-0.14.0.tgz'
|
||||
)
|
||||
downloadNpmPackage(
|
||||
'@lancedb/lancedb-darwin-x64',
|
||||
'https://registry.npmjs.org/@lancedb/lancedb-darwin-x64/-/lancedb-darwin-x64-0.14.0.tgz'
|
||||
)
|
||||
}
|
||||
|
||||
if (!platform || platform === 'linux') {
|
||||
downloadNpmPackage(
|
||||
'@lancedb/lancedb-linux-arm64-gnu',
|
||||
'https://registry.npmjs.org/@lancedb/lancedb-linux-arm64-gnu/-/lancedb-linux-arm64-gnu-0.14.0.tgz'
|
||||
)
|
||||
downloadNpmPackage(
|
||||
'@lancedb/lancedb-linux-x64-gnu',
|
||||
'https://registry.npmjs.org/@lancedb/lancedb-linux-x64-gnu/-/lancedb-linux-x64-gnu-0.14.0.tgz'
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
const platformArg = process.argv[2]
|
||||
downloadNpm(platformArg)
|
||||
@ -1,14 +0,0 @@
|
||||
const { downloadNpmPackage } = require('./utils')
|
||||
|
||||
async function downloadNpm(platform) {
|
||||
if (!platform || platform === 'darwin') {
|
||||
downloadNpmPackage('@libsql', '0.4.7', 'darwin', ['arm64', 'x64'])
|
||||
}
|
||||
|
||||
if (!platform || platform === 'linux') {
|
||||
downloadNpmPackage('@libsql', '0.4.7', 'linux', ['arm64-gnu', 'x64-gnu'])
|
||||
}
|
||||
}
|
||||
|
||||
const platformArg = process.argv[2]
|
||||
downloadNpm(platformArg)
|
||||
@ -2,37 +2,33 @@ const fs = require('fs')
|
||||
const path = require('path')
|
||||
const os = require('os')
|
||||
|
||||
function downloadNpmPackage(package, version, platform, architectures = ['x64', 'arm64']) {
|
||||
function downloadNpmPackage(packageName, url) {
|
||||
const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'npm-download-'))
|
||||
|
||||
for (const arch of architectures) {
|
||||
const targetDir = path.join('./node_modules/', package, `${platform}-${arch}`)
|
||||
const targetDir = path.join('./node_modules/', packageName)
|
||||
const filename = packageName.replace('/', '-') + '.tgz'
|
||||
|
||||
// Skip if directory already exists
|
||||
if (fs.existsSync(targetDir)) {
|
||||
console.log(`${targetDir} already exists, skipping download...`)
|
||||
continue
|
||||
}
|
||||
|
||||
const filename = path.join(tempDir, `${platform}-${arch}-${version}.tgz`)
|
||||
const url = `https://registry.npmjs.org/${package}/${platform}-${arch}/-/${platform}-${arch}-${version}.tgz`
|
||||
|
||||
try {
|
||||
console.log(`Downloading ${filename}...`, url)
|
||||
const { execSync } = require('child_process')
|
||||
execSync(`curl --fail -o ${filename} ${url}`)
|
||||
|
||||
console.log(`Extracting ${filename}...`)
|
||||
execSync(`tar -xvf ${filename}`)
|
||||
execSync(`rm -rf ${filename}`)
|
||||
execSync(`mv package ${targetDir}`)
|
||||
} catch (error) {
|
||||
console.error(`Error processing ${filename}: ${error.message}`)
|
||||
if (fs.existsSync(filename)) {
|
||||
fs.unlinkSync(filename)
|
||||
}
|
||||
throw error
|
||||
// Skip if directory already exists
|
||||
if (fs.existsSync(targetDir)) {
|
||||
console.log(`${targetDir} already exists, skipping download...`)
|
||||
return
|
||||
}
|
||||
|
||||
try {
|
||||
console.log(`Downloading ${packageName}...`, url)
|
||||
const { execSync } = require('child_process')
|
||||
execSync(`curl --fail -o ${filename} ${url}`)
|
||||
|
||||
console.log(`Extracting ${filename}...`)
|
||||
execSync(`tar -xvf ${filename}`)
|
||||
execSync(`rm -rf ${filename}`)
|
||||
execSync(`mv package ${targetDir}`)
|
||||
} catch (error) {
|
||||
console.error(`Error processing ${packageName}: ${error.message}`)
|
||||
if (fs.existsSync(filename)) {
|
||||
fs.unlinkSync(filename)
|
||||
}
|
||||
throw error
|
||||
}
|
||||
|
||||
fs.rmSync(tempDir, { recursive: true, force: true })
|
||||
|
||||
@ -56,8 +56,6 @@ class FileStorage {
|
||||
const storedFilePath = path.join(this.storageDir, file)
|
||||
const storedStats = fs.statSync(storedFilePath)
|
||||
|
||||
console.debug('storedFilePath', storedFilePath)
|
||||
|
||||
if (storedStats.size === fileSize) {
|
||||
const [originalHash, storedHash] = await Promise.all([
|
||||
this.getFileHash(filePath),
|
||||
|
||||
@ -3,7 +3,7 @@ import path from 'node:path'
|
||||
|
||||
import { LocalPathLoader, RAGApplication, RAGApplicationBuilder, TextLoader } from '@llm-tools/embedjs'
|
||||
import { AddLoaderReturn, ExtractChunkData } from '@llm-tools/embedjs-interfaces'
|
||||
import { LibSqlDb } from '@llm-tools/embedjs-libsql'
|
||||
import { LanceDb } from '@llm-tools/embedjs-lancedb'
|
||||
import { MarkdownLoader } from '@llm-tools/embedjs-loader-markdown'
|
||||
import { DocxLoader, ExcelLoader, PptLoader } from '@llm-tools/embedjs-loader-msoffice'
|
||||
import { PdfLoader } from '@llm-tools/embedjs-loader-pdf'
|
||||
@ -26,8 +26,13 @@ class KnowledgeService {
|
||||
}
|
||||
}
|
||||
|
||||
private getRagApplication = async ({ id, model, apiKey, baseURL }: KnowledgeBaseParams): Promise<RAGApplication> => {
|
||||
console.debug('getRagApplication', path.join(this.storageDir, id))
|
||||
private getRagApplication = async ({
|
||||
id,
|
||||
model,
|
||||
apiKey,
|
||||
baseURL,
|
||||
dimensions
|
||||
}: KnowledgeBaseParams): Promise<RAGApplication> => {
|
||||
return new RAGApplicationBuilder()
|
||||
.setModel('NO_MODEL')
|
||||
.setEmbeddingModel(
|
||||
@ -35,19 +40,16 @@ class KnowledgeService {
|
||||
model,
|
||||
apiKey,
|
||||
configuration: { baseURL },
|
||||
dimensions: 1024,
|
||||
batchSize: 10
|
||||
dimensions,
|
||||
batchSize: 20
|
||||
})
|
||||
)
|
||||
.setVectorDatabase(new LibSqlDb({ path: path.join(this.storageDir, id) }))
|
||||
.setVectorDatabase(new LanceDb({ path: path.join(this.storageDir, id) }))
|
||||
.build()
|
||||
}
|
||||
|
||||
public create = async (
|
||||
_: Electron.IpcMainInvokeEvent,
|
||||
{ id, model, apiKey, baseURL }: KnowledgeBaseParams
|
||||
): Promise<void> => {
|
||||
this.getRagApplication({ id, model, apiKey, baseURL })
|
||||
public create = async (_: Electron.IpcMainInvokeEvent, base: KnowledgeBaseParams): Promise<void> => {
|
||||
this.getRagApplication(base)
|
||||
}
|
||||
|
||||
public reset = async (_: Electron.IpcMainInvokeEvent, { base }: { base: KnowledgeBaseParams }): Promise<void> => {
|
||||
|
||||
@ -5,15 +5,20 @@ interface ListItemProps {
|
||||
active?: boolean
|
||||
icon?: ReactNode
|
||||
title: string
|
||||
subtitle?: string
|
||||
onClick?: () => void
|
||||
}
|
||||
|
||||
const ListItem = ({ active, icon, title, onClick }: ListItemProps) => {
|
||||
const ListItem = ({ active, icon, title, subtitle, onClick }: ListItemProps) => {
|
||||
const borderRadius = subtitle ? '10px' : '16px'
|
||||
return (
|
||||
<ListItemContainer className={active ? 'active' : ''} onClick={onClick}>
|
||||
<ListItemContainer className={active ? 'active' : ''} onClick={onClick} style={{ borderRadius }}>
|
||||
<ListItemContent>
|
||||
{icon && <span style={{ marginRight: '8px' }}>{icon}</span>}
|
||||
{title}
|
||||
{icon && <IconWrapper>{icon}</IconWrapper>}
|
||||
<TextContainer>
|
||||
<TitleText>{title}</TitleText>
|
||||
{subtitle && <SubtitleText>{subtitle}</SubtitleText>}
|
||||
</TextContainer>
|
||||
</ListItemContent>
|
||||
</ListItemContainer>
|
||||
)
|
||||
@ -42,11 +47,38 @@ const ListItemContainer = styled.div`
|
||||
`
|
||||
|
||||
const ListItemContent = styled.div`
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
overflow: hidden;
|
||||
font-size: 13px;
|
||||
`
|
||||
|
||||
const IconWrapper = styled.span`
|
||||
margin-right: 8px;
|
||||
`
|
||||
|
||||
const TextContainer = styled.div`
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
`
|
||||
|
||||
const TitleText = styled.div`
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
`
|
||||
|
||||
const SubtitleText = styled.div`
|
||||
font-size: 10px;
|
||||
color: var(--color-text-soft);
|
||||
margin-top: 2px;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 1;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
color: var(--color-text-3);
|
||||
`
|
||||
|
||||
export default ListItem
|
||||
|
||||
@ -14,7 +14,7 @@ interface PromptPopupShowParams {
|
||||
}
|
||||
|
||||
interface Props extends PromptPopupShowParams {
|
||||
resolve: (value: string) => void
|
||||
resolve: (value: any) => void
|
||||
}
|
||||
|
||||
const PromptPopupContainer: React.FC<Props> = ({
|
||||
@ -30,18 +30,21 @@ const PromptPopupContainer: React.FC<Props> = ({
|
||||
|
||||
const onOk = () => {
|
||||
setOpen(false)
|
||||
resolve(value)
|
||||
}
|
||||
|
||||
const handleCancel = () => {
|
||||
const onCancel = () => {
|
||||
setOpen(false)
|
||||
}
|
||||
|
||||
const onClose = () => {
|
||||
resolve(value)
|
||||
resolve(null)
|
||||
}
|
||||
|
||||
PromptPopup.hide = onCancel
|
||||
|
||||
return (
|
||||
<Modal title={title} open={open} onOk={onOk} onCancel={handleCancel} afterClose={onClose} centered>
|
||||
<Modal title={title} open={open} onOk={onOk} onCancel={onCancel} afterClose={onClose} centered>
|
||||
<Box mb={8}>{message}</Box>
|
||||
<Input.TextArea
|
||||
placeholder={inputPlaceholder}
|
||||
@ -57,10 +60,12 @@ const PromptPopupContainer: React.FC<Props> = ({
|
||||
)
|
||||
}
|
||||
|
||||
const TopViewKey = 'PromptPopup'
|
||||
|
||||
export default class PromptPopup {
|
||||
static topviewId = 0
|
||||
static hide() {
|
||||
TopView.hide('PromptPopup')
|
||||
TopView.hide(TopViewKey)
|
||||
}
|
||||
static show(props: PromptPopupShowParams) {
|
||||
return new Promise<string>((resolve) => {
|
||||
@ -69,7 +74,7 @@ export default class PromptPopup {
|
||||
{...props}
|
||||
resolve={(v) => {
|
||||
resolve(v)
|
||||
this.hide()
|
||||
TopView.hide(TopViewKey)
|
||||
}}
|
||||
/>,
|
||||
'PromptPopup'
|
||||
|
||||
@ -50,23 +50,12 @@ export const SUMMARIZE_PROMPT =
|
||||
export const TRANSLATE_PROMPT =
|
||||
'You are a translation expert. Translate from input language to {{target_language}}, provide the translation result directly without any explanation and keep original format. Do not translate if the target language is the same as the source language.'
|
||||
|
||||
export const REFERENCE_PROMPT = `请根据参考资料回答问题,并使用脚注格式引用数据来源。参考资料可能和问题无关,请忽略无关的参考资料。
|
||||
export const REFERENCE_PROMPT = `请根据参考资料回答问题,并使用脚注格式引用数据来源。请忽略无关的参考资料。
|
||||
|
||||
## 脚注格式:
|
||||
|
||||
1. **脚注标记**:在正文中使用 [^数字] 的形式标记脚注,例如 [^1]。
|
||||
2. **脚注内容**:在文档末尾使用 [^数字]: 脚注内容 的形式定义脚注的具体内容。
|
||||
|
||||
## 脚注示例和要求:
|
||||
|
||||
1. type 为 file 时:[^1]: [__name__](http://file/__url__)
|
||||
2. type 为 directory 时:[^1]: [__name__](http://file/__url__)
|
||||
3. type 为 url,sitemap 时:[^1]: [__name__](__url__)
|
||||
4. type 为 note 时:[^1]: __note__
|
||||
|
||||
__url__ 替换成参考资料的 url
|
||||
__name__ 请根据参考资料的 url 进行解析和替换
|
||||
__note__ 请根据参考资料的 content 进行总结和替换
|
||||
2. **脚注内容**:在文档末尾使用 [^数字]: 脚注内容 的形式定义脚注的具体内容
|
||||
|
||||
## 我的问题是:
|
||||
|
||||
|
||||
@ -248,7 +248,8 @@
|
||||
"upgrade.success.content": "Please restart the application to complete the upgrade",
|
||||
"upgrade.success.title": "Upgrade successfully",
|
||||
"regenerate.confirm": "Regenerating will replace current message",
|
||||
"copy.success": "Copied!"
|
||||
"copy.success": "Copied!",
|
||||
"get_embedding_dimensions": "Failed to get embedding dimensions"
|
||||
},
|
||||
"minapp": {
|
||||
"title": "MinApp"
|
||||
@ -559,7 +560,9 @@
|
||||
"sitemap_placeholder": "Enter Website Map URL",
|
||||
"directories": "Directories",
|
||||
"add_directory": "Add Directory",
|
||||
"directory_placeholder": "Enter Directory Path"
|
||||
"directory_placeholder": "Enter Directory Path",
|
||||
"model_info": "Model Info",
|
||||
"not_support": "Knowledge base database engine updated, the knowledge base will no longer be supported, please create a new knowledge base"
|
||||
},
|
||||
"models": {
|
||||
"pinned": "Pinned",
|
||||
@ -577,7 +580,8 @@
|
||||
"free": "Free",
|
||||
"embedding": "Embedding",
|
||||
"embedding_model": "Embedding Model",
|
||||
"embedding_model_tooltip": "Add in Settings->Model Provider->Manage"
|
||||
"embedding_model_tooltip": "Add in Settings->Model Provider->Manage",
|
||||
"dimensions": "Dimensions {{dimensions}}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -248,7 +248,8 @@
|
||||
"upgrade.success.content": "Пожалуйста, перезапустите приложение для завершения обновления",
|
||||
"upgrade.success.title": "Обновление успешно",
|
||||
"regenerate.confirm": "Перегенерация заменит текущее сообщение",
|
||||
"copy.success": "Скопировано!"
|
||||
"copy.success": "Скопировано!",
|
||||
"get_embedding_dimensions": "Не удалось получить размерность встраивания"
|
||||
},
|
||||
"minapp": {
|
||||
"title": "Встроенные приложения"
|
||||
@ -559,7 +560,9 @@
|
||||
"sitemap_placeholder": "Введите URL карты сайта",
|
||||
"directories": "Директории",
|
||||
"add_directory": "Добавить директорию",
|
||||
"directory_placeholder": "Введите путь к директории"
|
||||
"directory_placeholder": "Введите путь к директории",
|
||||
"model_info": "Модель информации",
|
||||
"not_support": "База знаний базы данных движок обновлен, база знаний больше не поддерживается, пожалуйста, создайте новую базу знаний"
|
||||
},
|
||||
"models": {
|
||||
"pinned": "Закреплено",
|
||||
@ -577,7 +580,8 @@
|
||||
"free": "Бесплатные модели",
|
||||
"embedding": "Встраиваемые модели",
|
||||
"embedding_model": "Встраиваемые модели",
|
||||
"embedding_model_tooltip": "Добавьте в настройки->модель сервиса->управление"
|
||||
"embedding_model_tooltip": "Добавьте в настройки->модель сервиса->управление",
|
||||
"dimensions": "{{dimensions}} мер"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -249,7 +249,8 @@
|
||||
"upgrade.success.content": "重启用以完成升级",
|
||||
"upgrade.success.title": "升级成功",
|
||||
"regenerate.confirm": "重新生成会覆盖当前消息",
|
||||
"copy.success": "复制成功"
|
||||
"copy.success": "复制成功",
|
||||
"get_embedding_dimensions": "获取嵌入维度失败"
|
||||
},
|
||||
"minapp": {
|
||||
"title": "小程序"
|
||||
@ -548,7 +549,9 @@
|
||||
"sitemap_placeholder": "请输入站点地图 URL",
|
||||
"directories": "目录",
|
||||
"add_directory": "添加目录",
|
||||
"directory_placeholder": "请输入目录路径"
|
||||
"directory_placeholder": "请输入目录路径",
|
||||
"model_info": "模型信息",
|
||||
"not_support": "知识库数据库引擎已更新,该知识库将不再支持,请重新创建知识库"
|
||||
},
|
||||
"models": {
|
||||
"pinned": "已固定",
|
||||
@ -566,7 +569,8 @@
|
||||
"free": "免费模型",
|
||||
"embedding": "嵌入模型",
|
||||
"embedding_model": "嵌入模型",
|
||||
"embedding_model_tooltip": "在设置->模型服务中点击管理按钮添加"
|
||||
"embedding_model_tooltip": "在设置->模型服务中点击管理按钮添加",
|
||||
"dimensions": "{{dimensions}} 维"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -248,7 +248,8 @@
|
||||
"upgrade.success.content": "請重新啟動應用以完成升級",
|
||||
"upgrade.success.title": "升級成功",
|
||||
"regenerate.confirm": "重新生成會覆蓋當前訊息",
|
||||
"copy.success": "複製成功"
|
||||
"copy.success": "複製成功",
|
||||
"get_embedding_dimensions": "獲取嵌入維度失敗"
|
||||
},
|
||||
"minapp": {
|
||||
"title": "小程序"
|
||||
@ -547,7 +548,9 @@
|
||||
"sitemap_placeholder": "請輸入網站地圖 URL",
|
||||
"directories": "目錄",
|
||||
"add_directory": "添加目錄",
|
||||
"directory_placeholder": "請輸入目錄路徑"
|
||||
"directory_placeholder": "請輸入目錄路徑",
|
||||
"model_info": "模型信息",
|
||||
"not_support": "知識庫數據庫引擎已更新,該知識庫將不再支持,請重新創建知識庫"
|
||||
},
|
||||
"models": {
|
||||
"pinned": "已固定",
|
||||
@ -565,7 +568,8 @@
|
||||
"free": "免費模型",
|
||||
"embedding": "嵌入模型",
|
||||
"embedding_model": "嵌入模型",
|
||||
"embedding_model_tooltip": "在设置->模型服务中点击管理按钮添加"
|
||||
"embedding_model_tooltip": "在设置->模型服务中点击管理按钮添加",
|
||||
"dimensions": "{{dimensions}} 維"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,7 +14,7 @@ import Scrollbar from '@renderer/components/Scrollbar'
|
||||
import { useKnowledge } from '@renderer/hooks/useKnowledge'
|
||||
import FileManager from '@renderer/services/FileManager'
|
||||
import { FileType, FileTypes, KnowledgeBase } from '@renderer/types'
|
||||
import { Button, Card, message, Typography, Upload } from 'antd'
|
||||
import { Alert, Button, Card, Divider, message, Tag, Typography, Upload } from 'antd'
|
||||
import { FC } from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import styled from 'styled-components'
|
||||
@ -177,6 +177,9 @@ const KnowledgeContent: FC<KnowledgeContentProps> = ({ selectedBase }) => {
|
||||
|
||||
return (
|
||||
<MainContent>
|
||||
{!base.dimensions && (
|
||||
<Alert message={t('knowledge_base.not_support')} type="error" style={{ marginBottom: 20 }} showIcon />
|
||||
)}
|
||||
<FileSection>
|
||||
<TitleWrapper>
|
||||
<Title level={5}>{t('files.title')}</Title>
|
||||
@ -323,6 +326,15 @@ const KnowledgeContent: FC<KnowledgeContentProps> = ({ selectedBase }) => {
|
||||
</FlexColumn>
|
||||
</ContentSection>
|
||||
|
||||
<Divider style={{ margin: '10px 0' }} />
|
||||
|
||||
<ModelInfo>
|
||||
<label htmlFor="model-info">{t('knowledge_base.model_info')}</label>
|
||||
<Tag color="blue">{base.model.name}</Tag>
|
||||
<Tag color="cyan">{t('models.dimensions', { dimensions: base.dimensions || 0 })}</Tag>
|
||||
<Tag color="purple">{base.model.provider}</Tag>
|
||||
</ModelInfo>
|
||||
|
||||
<IndexSection>
|
||||
<Button type="primary" onClick={() => KnowledgeSearchPopup.show({ base })} icon={<SearchOutlined />}>
|
||||
{t('knowledge_base.search')}
|
||||
@ -340,6 +352,7 @@ const MainContent = styled(Scrollbar)`
|
||||
flex-direction: column;
|
||||
padding-bottom: 50px;
|
||||
padding: 15px;
|
||||
position: relative;
|
||||
`
|
||||
|
||||
const FileSection = styled.div`
|
||||
@ -416,4 +429,15 @@ const IndexSection = styled.div`
|
||||
justify-content: center;
|
||||
`
|
||||
|
||||
const ModelInfo = styled.div`
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 5px;
|
||||
color: var(--color-text-3);
|
||||
label {
|
||||
margin-right: 8px;
|
||||
color: var(--color-text-2);
|
||||
}
|
||||
`
|
||||
|
||||
export default KnowledgeContent
|
||||
|
||||
@ -7,7 +7,7 @@ import Scrollbar from '@renderer/components/Scrollbar'
|
||||
import { useKnowledgeBases } from '@renderer/hooks/useKnowledge'
|
||||
import { KnowledgeBase } from '@renderer/types'
|
||||
import { Dropdown, Empty, MenuProps } from 'antd'
|
||||
import { FC, useCallback, useEffect, useState } from 'react'
|
||||
import { FC, useCallback, useEffect, useRef, useState } from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import styled from 'styled-components'
|
||||
|
||||
@ -19,6 +19,7 @@ const KnowledgePage: FC = () => {
|
||||
const { bases, renameKnowledgeBase, deleteKnowledgeBase, updateKnowledgeBases } = useKnowledgeBases()
|
||||
const [selectedBase, setSelectedBase] = useState<KnowledgeBase>()
|
||||
const [isDragging, setIsDragging] = useState(false)
|
||||
const prevLength = useRef(0)
|
||||
|
||||
const handleAddKnowledge = async () => {
|
||||
await AddKnowledgePopup.show({ title: t('knowledge_base.add.title') })
|
||||
@ -35,6 +36,14 @@ const KnowledgePage: FC = () => {
|
||||
}
|
||||
}, [bases, selectedBase])
|
||||
|
||||
useEffect(() => {
|
||||
const currentLength = bases.length
|
||||
if (currentLength > 0 && currentLength > prevLength.current) {
|
||||
setSelectedBase(bases[currentLength - 1])
|
||||
}
|
||||
prevLength.current = currentLength
|
||||
}, [bases])
|
||||
|
||||
const getMenuItems = useCallback(
|
||||
(base: KnowledgeBase) => {
|
||||
const menus: MenuProps['items'] = [
|
||||
@ -90,7 +99,7 @@ const KnowledgePage: FC = () => {
|
||||
style={{ marginBottom: 0, paddingBottom: isDragging ? 50 : 0 }}
|
||||
onDragStart={() => setIsDragging(true)}
|
||||
onDragEnd={() => setIsDragging(false)}>
|
||||
{(base) => (
|
||||
{(base: KnowledgeBase) => (
|
||||
<Dropdown menu={{ items: getMenuItems(base) }} trigger={['contextMenu']} key={base.id}>
|
||||
<div>
|
||||
<ListItem
|
||||
|
||||
@ -2,6 +2,7 @@ import { TopView } from '@renderer/components/TopView'
|
||||
import { isEmbeddingModel } from '@renderer/config/models'
|
||||
import { useKnowledgeBases } from '@renderer/hooks/useKnowledge'
|
||||
import { useProviders } from '@renderer/hooks/useProvider'
|
||||
import AiProvider from '@renderer/providers/AiProvider'
|
||||
import { getKnowledgeBaseParams } from '@renderer/services/KnowledgeService'
|
||||
import { getModelUniqId } from '@renderer/services/ModelService'
|
||||
import { Model } from '@renderer/types'
|
||||
@ -30,6 +31,7 @@ const PopupContainer: React.FC<Props> = ({ title, resolve }) => {
|
||||
const { t } = useTranslation()
|
||||
const { providers } = useProviders()
|
||||
const { addKnowledgeBase } = useKnowledgeBases()
|
||||
const [loading, setLoading] = useState(false)
|
||||
const allModels = providers
|
||||
.map((p) => p.models)
|
||||
.flat()
|
||||
@ -55,10 +57,29 @@ const PopupContainer: React.FC<Props> = ({ title, resolve }) => {
|
||||
const selectedModel = find(allModels, JSON.parse(values.model)) as Model
|
||||
|
||||
if (selectedModel) {
|
||||
setLoading(true)
|
||||
const provider = providers.find((p) => p.id === selectedModel.provider)
|
||||
|
||||
if (!provider) {
|
||||
return
|
||||
}
|
||||
|
||||
const aiProvider = new AiProvider(provider)
|
||||
let dimensions = 0
|
||||
|
||||
try {
|
||||
dimensions = await aiProvider.getEmbeddingDimensions(selectedModel)
|
||||
} catch (error) {
|
||||
console.error('Error getting embedding dimensions:', error)
|
||||
window.message.error(t('message.error.get_embedding_dimensions'))
|
||||
return
|
||||
}
|
||||
|
||||
const newBase = {
|
||||
id: nanoid(),
|
||||
name: values.name,
|
||||
model: selectedModel,
|
||||
dimensions,
|
||||
items: [],
|
||||
created_at: Date.now(),
|
||||
updated_at: Date.now()
|
||||
@ -84,7 +105,15 @@ const PopupContainer: React.FC<Props> = ({ title, resolve }) => {
|
||||
}
|
||||
|
||||
return (
|
||||
<Modal title={title} open={open} onOk={onOk} onCancel={onCancel} afterClose={onClose} destroyOnClose centered>
|
||||
<Modal
|
||||
title={title}
|
||||
open={open}
|
||||
onOk={onOk}
|
||||
onCancel={onCancel}
|
||||
afterClose={onClose}
|
||||
destroyOnClose
|
||||
centered
|
||||
okButtonProps={{ loading }}>
|
||||
<Form form={form} layout="vertical">
|
||||
<Form.Item
|
||||
name="name"
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import BaseProvider from '@renderer/providers/BaseProvider'
|
||||
import ProviderFactory from '@renderer/providers/ProviderFactory'
|
||||
import { Assistant, Message, Provider, Suggestion } from '@renderer/types'
|
||||
import { Assistant, Message, Model, Provider, Suggestion } from '@renderer/types'
|
||||
import OpenAI from 'openai'
|
||||
|
||||
import { CompletionsParams } from '.'
|
||||
@ -60,4 +60,12 @@ export default class AiProvider {
|
||||
}): Promise<string[]> {
|
||||
return this.sdk.generateImage(params)
|
||||
}
|
||||
|
||||
public async getEmbeddingDimensions(model: Model): Promise<number> {
|
||||
return this.sdk.getEmbeddingDimensions(model)
|
||||
}
|
||||
|
||||
public getBaseURL(): string {
|
||||
return this.sdk.getBaseURL()
|
||||
}
|
||||
}
|
||||
|
||||
@ -265,4 +265,8 @@ export default class AnthropicProvider extends BaseProvider {
|
||||
public async models(): Promise<OpenAI.Models.Model[]> {
|
||||
return []
|
||||
}
|
||||
|
||||
public async getEmbeddingDimensions(): Promise<number> {
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@ import { REFERENCE_PROMPT } from '@renderer/config/prompts'
|
||||
import { getOllamaKeepAliveTime } from '@renderer/hooks/useOllama'
|
||||
import { getKnowledgeBaseParams } from '@renderer/services/KnowledgeService'
|
||||
import store from '@renderer/store'
|
||||
import { Assistant, Message, Provider, Suggestion } from '@renderer/types'
|
||||
import { Assistant, Message, Model, Provider, Suggestion } from '@renderer/types'
|
||||
import { delay } from '@renderer/utils'
|
||||
import { take } from 'lodash'
|
||||
import OpenAI from 'openai'
|
||||
@ -37,6 +37,7 @@ export default abstract class BaseProvider {
|
||||
guidanceScale: number
|
||||
signal?: AbortSignal
|
||||
}): Promise<string[]>
|
||||
abstract getEmbeddingDimensions(model: Model): Promise<number>
|
||||
|
||||
public getBaseURL(): string {
|
||||
const host = this.provider.apiHost
|
||||
@ -106,12 +107,12 @@ export default abstract class BaseProvider {
|
||||
return {
|
||||
id: index,
|
||||
content: item.pageContent,
|
||||
url: encodeURIComponent(sourceUrl),
|
||||
sourceUrl: sourceUrl.startsWith('http') ? sourceUrl : encodeURIComponent(sourceUrl),
|
||||
type: baseItem?.type
|
||||
}
|
||||
})
|
||||
|
||||
const referencesContent = JSON.stringify(references, null, 2)
|
||||
const referencesContent = `\`\`\`json\n${JSON.stringify(references, null, 2)}\n\`\`\``
|
||||
|
||||
return REFERENCE_PROMPT.replace('{question}', message.content).replace('{references}', referencesContent)
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@ import { SUMMARIZE_PROMPT } from '@renderer/config/prompts'
|
||||
import { getAssistantSettings, getDefaultModel, getTopNamingModel } from '@renderer/services/AssistantService'
|
||||
import { EVENT_NAMES } from '@renderer/services/EventService'
|
||||
import { filterContextMessages } from '@renderer/services/MessagesService'
|
||||
import { Assistant, FileTypes, Message, Provider, Suggestion } from '@renderer/types'
|
||||
import { Assistant, FileTypes, Message, Model, Provider, Suggestion } from '@renderer/types'
|
||||
import axios from 'axios'
|
||||
import { first, isEmpty, last, takeRight } from 'lodash'
|
||||
import OpenAI from 'openai'
|
||||
@ -29,10 +29,14 @@ export default class GeminiProvider extends BaseProvider {
|
||||
super(provider)
|
||||
this.sdk = new GoogleGenerativeAI(this.apiKey)
|
||||
this.requestOptions = {
|
||||
baseUrl: this.provider.apiHost
|
||||
baseUrl: this.getBaseURL()
|
||||
}
|
||||
}
|
||||
|
||||
public getBaseURL(): string {
|
||||
return this.provider.apiHost
|
||||
}
|
||||
|
||||
private async getMessageContents(message: Message): Promise<Content> {
|
||||
const role = message.role === 'user' ? 'user' : 'model'
|
||||
|
||||
@ -288,4 +292,9 @@ export default class GeminiProvider extends BaseProvider {
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
public async getEmbeddingDimensions(model: Model): Promise<number> {
|
||||
const data = await this.sdk.getGenerativeModel({ model: model.id }, this.requestOptions).embedContent('hi')
|
||||
return data.embedding.values.length
|
||||
}
|
||||
}
|
||||
|
||||
@ -378,4 +378,12 @@ export default class OpenAIProvider extends BaseProvider {
|
||||
|
||||
return response.data.map((item) => item.url)
|
||||
}
|
||||
|
||||
public async getEmbeddingDimensions(model: Model): Promise<number> {
|
||||
const data = await this.sdk.embeddings.create({
|
||||
model: model.id,
|
||||
input: 'hi'
|
||||
})
|
||||
return data.data[0].embedding.length
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,7 +9,7 @@ class KnowledgeQueue {
|
||||
private processing: Map<string, boolean> = new Map()
|
||||
private pollingInterval: NodeJS.Timeout | null = null
|
||||
// private readonly POLLING_INTERVAL = 5000
|
||||
private readonly MAX_RETRIES = 3
|
||||
private readonly MAX_RETRIES = 2
|
||||
|
||||
constructor() {
|
||||
this.checkAllBases().catch(console.error)
|
||||
|
||||
@ -67,7 +67,7 @@ export function getAssistantProvider(assistant: Assistant): Provider {
|
||||
return provider || getDefaultProvider()
|
||||
}
|
||||
|
||||
export function getProviderByModel(model?: Model) {
|
||||
export function getProviderByModel(model?: Model): Provider {
|
||||
const providers = store.getState().llm.providers
|
||||
const providerId = model ? model.provider : getDefaultProvider().id
|
||||
return providers.find((p) => p.id === providerId) as Provider
|
||||
|
||||
@ -12,10 +12,17 @@ export const getKnowledgeBaseParams = (base: KnowledgeBase): KnowledgeBaseParams
|
||||
provider.apiKey = 'empty'
|
||||
}
|
||||
|
||||
let host = aiProvider.getBaseURL()
|
||||
|
||||
if (host.includes('generativelanguage.googleapis.com')) {
|
||||
host = host + '/v1beta/openai/'
|
||||
}
|
||||
|
||||
return {
|
||||
id: base.id,
|
||||
model: base.model.name,
|
||||
model: base.model.id,
|
||||
dimensions: base.dimensions,
|
||||
apiKey: aiProvider.getApiKey(),
|
||||
baseURL: provider.apiHost + '/v1'
|
||||
baseURL: host
|
||||
}
|
||||
}
|
||||
|
||||
@ -203,6 +203,7 @@ export interface KnowledgeBase {
|
||||
id: string
|
||||
name: string
|
||||
model: Model
|
||||
dimensions: number
|
||||
description?: string
|
||||
items: KnowledgeItem[]
|
||||
created_at: number
|
||||
@ -212,6 +213,7 @@ export interface KnowledgeBase {
|
||||
export type KnowledgeBaseParams = {
|
||||
id: string
|
||||
model: string
|
||||
dimensions: number
|
||||
apiKey: string
|
||||
baseURL: string
|
||||
}
|
||||
|
||||
542
yarn.lock
542
yarn.lock
@ -1342,6 +1342,98 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@lancedb/lancedb-darwin-arm64@npm:0.14.0":
|
||||
version: 0.14.0
|
||||
resolution: "@lancedb/lancedb-darwin-arm64@npm:0.14.0"
|
||||
conditions: os=darwin & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@lancedb/lancedb-darwin-x64@npm:0.14.0":
|
||||
version: 0.14.0
|
||||
resolution: "@lancedb/lancedb-darwin-x64@npm:0.14.0"
|
||||
conditions: os=darwin & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@lancedb/lancedb-linux-arm64-gnu@npm:0.14.0":
|
||||
version: 0.14.0
|
||||
resolution: "@lancedb/lancedb-linux-arm64-gnu@npm:0.14.0"
|
||||
conditions: os=linux & cpu=arm64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@lancedb/lancedb-linux-arm64-musl@npm:0.14.0":
|
||||
version: 0.14.0
|
||||
resolution: "@lancedb/lancedb-linux-arm64-musl@npm:0.14.0"
|
||||
conditions: os=linux & cpu=arm64 & libc=musl
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@lancedb/lancedb-linux-x64-gnu@npm:0.14.0":
|
||||
version: 0.14.0
|
||||
resolution: "@lancedb/lancedb-linux-x64-gnu@npm:0.14.0"
|
||||
conditions: os=linux & cpu=x64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@lancedb/lancedb-linux-x64-musl@npm:0.14.0":
|
||||
version: 0.14.0
|
||||
resolution: "@lancedb/lancedb-linux-x64-musl@npm:0.14.0"
|
||||
conditions: os=linux & cpu=x64 & libc=musl
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@lancedb/lancedb-win32-arm64-msvc@npm:0.14.0":
|
||||
version: 0.14.0
|
||||
resolution: "@lancedb/lancedb-win32-arm64-msvc@npm:0.14.0"
|
||||
conditions: os=win32 & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@lancedb/lancedb-win32-x64-msvc@npm:0.14.0":
|
||||
version: 0.14.0
|
||||
resolution: "@lancedb/lancedb-win32-x64-msvc@npm:0.14.0"
|
||||
conditions: os=win32 & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@lancedb/lancedb@npm:^0.14.0":
|
||||
version: 0.14.0
|
||||
resolution: "@lancedb/lancedb@npm:0.14.0"
|
||||
dependencies:
|
||||
"@lancedb/lancedb-darwin-arm64": "npm:0.14.0"
|
||||
"@lancedb/lancedb-darwin-x64": "npm:0.14.0"
|
||||
"@lancedb/lancedb-linux-arm64-gnu": "npm:0.14.0"
|
||||
"@lancedb/lancedb-linux-arm64-musl": "npm:0.14.0"
|
||||
"@lancedb/lancedb-linux-x64-gnu": "npm:0.14.0"
|
||||
"@lancedb/lancedb-linux-x64-musl": "npm:0.14.0"
|
||||
"@lancedb/lancedb-win32-arm64-msvc": "npm:0.14.0"
|
||||
"@lancedb/lancedb-win32-x64-msvc": "npm:0.14.0"
|
||||
reflect-metadata: "npm:^0.2.2"
|
||||
peerDependencies:
|
||||
apache-arrow: ">=13.0.0 <=17.0.0"
|
||||
dependenciesMeta:
|
||||
"@lancedb/lancedb-darwin-arm64":
|
||||
optional: true
|
||||
"@lancedb/lancedb-darwin-x64":
|
||||
optional: true
|
||||
"@lancedb/lancedb-linux-arm64-gnu":
|
||||
optional: true
|
||||
"@lancedb/lancedb-linux-arm64-musl":
|
||||
optional: true
|
||||
"@lancedb/lancedb-linux-x64-gnu":
|
||||
optional: true
|
||||
"@lancedb/lancedb-linux-x64-musl":
|
||||
optional: true
|
||||
"@lancedb/lancedb-win32-arm64-msvc":
|
||||
optional: true
|
||||
"@lancedb/lancedb-win32-x64-msvc":
|
||||
optional: true
|
||||
conditions: (os=darwin | os=linux | os=win32) & (cpu=x64 | cpu=arm64)
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@langchain/core@npm:^0.3.25":
|
||||
version: 0.3.26
|
||||
resolution: "@langchain/core@npm:0.3.26"
|
||||
@ -1401,106 +1493,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@libsql/client@npm:^0.14.0":
|
||||
version: 0.14.0
|
||||
resolution: "@libsql/client@npm:0.14.0"
|
||||
dependencies:
|
||||
"@libsql/core": "npm:^0.14.0"
|
||||
"@libsql/hrana-client": "npm:^0.7.0"
|
||||
js-base64: "npm:^3.7.5"
|
||||
libsql: "npm:^0.4.4"
|
||||
promise-limit: "npm:^2.7.0"
|
||||
checksum: 10c0/9c6bab468453df765f647422c772af3578f1e108b663a80b99063f47ed3542db26ae0fcdba2e153d72e6d5089c5caeba947a167a6c065b0191a0832621539335
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@libsql/core@npm:^0.14.0":
|
||||
version: 0.14.0
|
||||
resolution: "@libsql/core@npm:0.14.0"
|
||||
dependencies:
|
||||
js-base64: "npm:^3.7.5"
|
||||
checksum: 10c0/327bb991cf191d5a9a9fc0cc1a17123f7ca88f222187a3bde845fbad8ceaeaa1f139882080e4b2969da57b83e576c52702572e2838d1743c6bff75f95e6f774a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@libsql/darwin-arm64@npm:0.4.7":
|
||||
version: 0.4.7
|
||||
resolution: "@libsql/darwin-arm64@npm:0.4.7"
|
||||
conditions: os=darwin & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@libsql/darwin-x64@npm:0.4.7":
|
||||
version: 0.4.7
|
||||
resolution: "@libsql/darwin-x64@npm:0.4.7"
|
||||
conditions: os=darwin & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@libsql/hrana-client@npm:^0.7.0":
|
||||
version: 0.7.0
|
||||
resolution: "@libsql/hrana-client@npm:0.7.0"
|
||||
dependencies:
|
||||
"@libsql/isomorphic-fetch": "npm:^0.3.1"
|
||||
"@libsql/isomorphic-ws": "npm:^0.1.5"
|
||||
js-base64: "npm:^3.7.5"
|
||||
node-fetch: "npm:^3.3.2"
|
||||
checksum: 10c0/85bbe3074e3efcc56fbc33a741afd06c1211f5d7772ea46155ce6fe6578e31ed517c7017510c5bfea3dc28031e95c0e284096154f28cbbab06751fd7d9437e28
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@libsql/isomorphic-fetch@npm:^0.3.1":
|
||||
version: 0.3.1
|
||||
resolution: "@libsql/isomorphic-fetch@npm:0.3.1"
|
||||
checksum: 10c0/f415f23f0c9921d6aae5133f91194d85a70e555b6c931fb4ff272af94335a46f5893433fbbb8fa24ee45bab8acce8ba5f060a22567ff3fb0577883bfcd1dec9e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@libsql/isomorphic-ws@npm:^0.1.5":
|
||||
version: 0.1.5
|
||||
resolution: "@libsql/isomorphic-ws@npm:0.1.5"
|
||||
dependencies:
|
||||
"@types/ws": "npm:^8.5.4"
|
||||
ws: "npm:^8.13.0"
|
||||
checksum: 10c0/7028bbc50dd094cdcbe56714dbf52fb646812d1b042c1973e61293f4a1cb5b81d5af670530a2463a2ba485f84f7728daf3eb75d40a7f55316ee4f7015dcc99ae
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@libsql/linux-arm64-gnu@npm:0.4.7":
|
||||
version: 0.4.7
|
||||
resolution: "@libsql/linux-arm64-gnu@npm:0.4.7"
|
||||
conditions: os=linux & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@libsql/linux-arm64-musl@npm:0.4.7":
|
||||
version: 0.4.7
|
||||
resolution: "@libsql/linux-arm64-musl@npm:0.4.7"
|
||||
conditions: os=linux & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@libsql/linux-x64-gnu@npm:0.4.7":
|
||||
version: 0.4.7
|
||||
resolution: "@libsql/linux-x64-gnu@npm:0.4.7"
|
||||
conditions: os=linux & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@libsql/linux-x64-musl@npm:0.4.7":
|
||||
version: 0.4.7
|
||||
resolution: "@libsql/linux-x64-musl@npm:0.4.7"
|
||||
conditions: os=linux & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@libsql/win32-x64-msvc@npm:0.4.7":
|
||||
version: 0.4.7
|
||||
resolution: "@libsql/win32-x64-msvc@npm:0.4.7"
|
||||
conditions: os=win32 & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@llm-tools/embedjs-interfaces@npm:0.1.25":
|
||||
version: 0.1.25
|
||||
resolution: "@llm-tools/embedjs-interfaces@npm:0.1.25"
|
||||
@ -1513,27 +1505,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@llm-tools/embedjs-libsql@npm:0.1.25":
|
||||
"@llm-tools/embedjs-lancedb@npm:^0.1.25":
|
||||
version: 0.1.25
|
||||
resolution: "@llm-tools/embedjs-libsql@npm:0.1.25"
|
||||
resolution: "@llm-tools/embedjs-lancedb@npm:0.1.25"
|
||||
dependencies:
|
||||
"@libsql/client": "npm:^0.14.0"
|
||||
"@lancedb/lancedb": "npm:^0.14.0"
|
||||
"@llm-tools/embedjs-interfaces": "npm:0.1.25"
|
||||
"@llm-tools/embedjs-utils": "npm:0.1.25"
|
||||
compute-cosine-similarity: "npm:^1.1.0"
|
||||
debug: "npm:^4.4.0"
|
||||
checksum: 10c0/7a21019ed4d7cb1f8eb21ae9015c31b2e9d5ee517e741b88d5660fb322fc0d6bc163070034036c58e0fc67437dd39aeb3aa30b9874ef1dd553a3c5a2c5bbbe55
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@llm-tools/embedjs-libsql@patch:@llm-tools/embedjs-libsql@npm%3A0.1.25#~/.yarn/patches/@llm-tools-embedjs-libsql-npm-0.1.25-fad000d74c.patch":
|
||||
version: 0.1.25
|
||||
resolution: "@llm-tools/embedjs-libsql@patch:@llm-tools/embedjs-libsql@npm%3A0.1.25#~/.yarn/patches/@llm-tools-embedjs-libsql-npm-0.1.25-fad000d74c.patch::version=0.1.25&hash=7eafdc"
|
||||
dependencies:
|
||||
"@libsql/client": "npm:^0.14.0"
|
||||
"@llm-tools/embedjs-interfaces": "npm:0.1.25"
|
||||
"@llm-tools/embedjs-utils": "npm:0.1.25"
|
||||
debug: "npm:^4.4.0"
|
||||
checksum: 10c0/e7793caaf71fb977409d6ba97cb831d68fe5eff5c2ba8502d112fd0294ff004417c7685f86b1d45993f2722b6007976335413f9966b6b7e4676751ba41272041
|
||||
checksum: 10c0/9a05b8deda9b817ebf19d6da9e204424ff5c95b70a07d15f8d8832dd246afa9be571696cee643fb5af0fd26aa6bd0c939aa186f0634c9f442456adc1e02dd2bc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -1697,13 +1677,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@neon-rs/load@npm:^0.0.4":
|
||||
version: 0.0.4
|
||||
resolution: "@neon-rs/load@npm:0.0.4"
|
||||
checksum: 10c0/546fa4e48aa9cdb402f0a3524b591b1cac863bcfdd0217432323dba42ad37ece24b736019e6196e34326201db6b6deb410d7a983ac3c54f322619c9b6bd568bb
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@nodelib/fs.scandir@npm:2.1.5":
|
||||
version: 2.1.5
|
||||
resolution: "@nodelib/fs.scandir@npm:2.1.5"
|
||||
@ -2123,6 +2096,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@swc/helpers@npm:^0.5.11":
|
||||
version: 0.5.15
|
||||
resolution: "@swc/helpers@npm:0.5.15"
|
||||
dependencies:
|
||||
tslib: "npm:^2.8.0"
|
||||
checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@szmarczak/http-timer@npm:^4.0.5":
|
||||
version: 4.0.6
|
||||
resolution: "@szmarczak/http-timer@npm:4.0.6"
|
||||
@ -2233,6 +2215,20 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/command-line-args@npm:^5.2.3":
|
||||
version: 5.2.3
|
||||
resolution: "@types/command-line-args@npm:5.2.3"
|
||||
checksum: 10c0/3a9bc58fd26e546391f6369dd28c03d59349dc4ac39eada1a5c39cc3578e02e4aac222615170e0db79b198ffba2af84fdbdda46e08c6edc4da42bc17ea85200f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/command-line-usage@npm:^5.0.4":
|
||||
version: 5.0.4
|
||||
resolution: "@types/command-line-usage@npm:5.0.4"
|
||||
checksum: 10c0/67840ebf4bcfee200c07d978669ad596fe2adc350fd5c19d44ec2248623575d96ec917f513d1d59453f8f57e879133861a4cc41c20045c07f6c959f1fcaac7ad
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/debug@npm:^4.0.0, @types/debug@npm:^4.1.6":
|
||||
version: 4.1.12
|
||||
resolution: "@types/debug@npm:4.1.12"
|
||||
@ -2441,7 +2437,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/node@npm:^20.9.0":
|
||||
"@types/node@npm:^20.13.0, @types/node@npm:^20.9.0":
|
||||
version: 20.17.10
|
||||
resolution: "@types/node@npm:20.17.10"
|
||||
dependencies:
|
||||
@ -2576,15 +2572,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/ws@npm:^8.5.4":
|
||||
version: 8.5.13
|
||||
resolution: "@types/ws@npm:8.5.13"
|
||||
dependencies:
|
||||
"@types/node": "npm:*"
|
||||
checksum: 10c0/a5430aa479bde588e69cb9175518d72f9338b6999e3b2ae16fc03d3bdcff8347e486dc031e4ed14601260463c07e1f9a0d7511dfc653712b047c439c680b0b34
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/yauzl@npm:^2.9.1":
|
||||
version: 2.10.3
|
||||
resolution: "@types/yauzl@npm:2.10.3"
|
||||
@ -2761,7 +2748,7 @@ __metadata:
|
||||
"@hello-pangea/dnd": "npm:^16.6.0"
|
||||
"@kangfenmao/keyv-storage": "npm:^0.1.0"
|
||||
"@llm-tools/embedjs": "npm:^0.1.25"
|
||||
"@llm-tools/embedjs-libsql": "patch:@llm-tools/embedjs-libsql@npm%3A0.1.25#~/.yarn/patches/@llm-tools-embedjs-libsql-npm-0.1.25-fad000d74c.patch"
|
||||
"@llm-tools/embedjs-lancedb": "npm:^0.1.25"
|
||||
"@llm-tools/embedjs-loader-csv": "npm:^0.1.25"
|
||||
"@llm-tools/embedjs-loader-markdown": "npm:^0.1.25"
|
||||
"@llm-tools/embedjs-loader-msoffice": "npm:^0.1.25"
|
||||
@ -2783,6 +2770,7 @@ __metadata:
|
||||
"@vitejs/plugin-react": "npm:^4.2.1"
|
||||
adm-zip: "npm:^0.5.16"
|
||||
antd: "npm:^5.18.3"
|
||||
apache-arrow: "npm:^18.1.0"
|
||||
axios: "npm:^1.7.3"
|
||||
browser-image-compression: "npm:^2.0.2"
|
||||
dayjs: "npm:^1.11.11"
|
||||
@ -3110,6 +3098,25 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"apache-arrow@npm:^18.1.0":
|
||||
version: 18.1.0
|
||||
resolution: "apache-arrow@npm:18.1.0"
|
||||
dependencies:
|
||||
"@swc/helpers": "npm:^0.5.11"
|
||||
"@types/command-line-args": "npm:^5.2.3"
|
||||
"@types/command-line-usage": "npm:^5.0.4"
|
||||
"@types/node": "npm:^20.13.0"
|
||||
command-line-args: "npm:^5.2.1"
|
||||
command-line-usage: "npm:^7.0.1"
|
||||
flatbuffers: "npm:^24.3.25"
|
||||
json-bignum: "npm:^0.0.3"
|
||||
tslib: "npm:^2.6.2"
|
||||
bin:
|
||||
arrow2csv: bin/arrow2csv.js
|
||||
checksum: 10c0/2bb43c19e8e29b5cba8eb5a3a76f7e4e93ecb25658e49de2c3997be12a461a72e2a4ddd2f90e6806e9725bb28e391ffedc9e6e0ab1f613eb70cfb5438d2c4d21
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"app-builder-bin@npm:4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "app-builder-bin@npm:4.0.0"
|
||||
@ -3200,6 +3207,20 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"array-back@npm:^3.0.1, array-back@npm:^3.1.0":
|
||||
version: 3.1.0
|
||||
resolution: "array-back@npm:3.1.0"
|
||||
checksum: 10c0/bb1fe86aa8b39c21e73c68c7abf8b05ed939b8951a3b17527217f6a2a84e00e4cfa4fdec823081689c5e216709bf1f214a4f5feeee6726eaff83897fa1a7b8ee
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"array-back@npm:^6.2.2":
|
||||
version: 6.2.2
|
||||
resolution: "array-back@npm:6.2.2"
|
||||
checksum: 10c0/c98a6e43b669400f58e2fba478336d5d02aac970566ffae3af0cb9b5585ec3811a1e010c76e34fb809a9762e6822a43a9c9a1b99f2a35f43b11a9e198e782818
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"array-buffer-byte-length@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "array-buffer-byte-length@npm:1.0.1"
|
||||
@ -3873,6 +3894,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"chalk-template@npm:^0.4.0":
|
||||
version: 0.4.0
|
||||
resolution: "chalk-template@npm:0.4.0"
|
||||
dependencies:
|
||||
chalk: "npm:^4.1.2"
|
||||
checksum: 10c0/6a4cb4252966475f0bd3ee1cd8780146e1ba69f445e59c565cab891ac18708c8143515d23e2b0fb7e192574fb7608d429ea5b28f3b7b9507770ad6fccd3467e3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"chalk@npm:2.4.2, chalk@npm:^2.4.2":
|
||||
version: 2.4.2
|
||||
resolution: "chalk@npm:2.4.2"
|
||||
@ -4095,6 +4125,30 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"command-line-args@npm:^5.2.1":
|
||||
version: 5.2.1
|
||||
resolution: "command-line-args@npm:5.2.1"
|
||||
dependencies:
|
||||
array-back: "npm:^3.1.0"
|
||||
find-replace: "npm:^3.0.0"
|
||||
lodash.camelcase: "npm:^4.3.0"
|
||||
typical: "npm:^4.0.0"
|
||||
checksum: 10c0/a4f6a23a1e420441bd1e44dee24efd12d2e49af7efe6e21eb32fca4e843ca3d5501ddebad86a4e9d99aa626dd6dcb64c04a43695388be54e3a803dbc326cc89f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"command-line-usage@npm:^7.0.1":
|
||||
version: 7.0.3
|
||||
resolution: "command-line-usage@npm:7.0.3"
|
||||
dependencies:
|
||||
array-back: "npm:^6.2.2"
|
||||
chalk-template: "npm:^0.4.0"
|
||||
table-layout: "npm:^4.1.0"
|
||||
typical: "npm:^7.1.1"
|
||||
checksum: 10c0/444a3e3c6fcbdcb5802de0fd2864ea5aef83eeeb3a825fd24846b996503d4b4140e75aeb2939b3430a06407f3acc02b76b3e08dafb3a3092d22fdcced0ecb0b0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"commander@npm:9.2.0":
|
||||
version: 9.2.0
|
||||
resolution: "commander@npm:9.2.0"
|
||||
@ -4144,6 +4198,38 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"compute-cosine-similarity@npm:^1.1.0":
|
||||
version: 1.1.0
|
||||
resolution: "compute-cosine-similarity@npm:1.1.0"
|
||||
dependencies:
|
||||
compute-dot: "npm:^1.1.0"
|
||||
compute-l2norm: "npm:^1.1.0"
|
||||
validate.io-array: "npm:^1.0.5"
|
||||
validate.io-function: "npm:^1.0.2"
|
||||
checksum: 10c0/82c5df828f0c3af2cf74e400916e904560fdbe61d740cb91f03b191f372408c439ab0afce8c053f6ca3fcf74d2f04bf0083e5b8b07fafceaaf50a6e35d191cb3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"compute-dot@npm:^1.1.0":
|
||||
version: 1.1.0
|
||||
resolution: "compute-dot@npm:1.1.0"
|
||||
dependencies:
|
||||
validate.io-array: "npm:^1.0.3"
|
||||
validate.io-function: "npm:^1.0.2"
|
||||
checksum: 10c0/1e81ab6a18d9fd0fae9265e501d00fe303d1305c7370db531d38ca35e09f9ceba66bec27c42992abd2f271f104f084db93a56e7f49424f4a4aea5c8265881d93
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"compute-l2norm@npm:^1.1.0":
|
||||
version: 1.1.0
|
||||
resolution: "compute-l2norm@npm:1.1.0"
|
||||
dependencies:
|
||||
validate.io-array: "npm:^1.0.3"
|
||||
validate.io-function: "npm:^1.0.2"
|
||||
checksum: 10c0/af37fca05e662f221d73f41004972d95998c6927c666b95b9279466f34a06e374ae817194cbadd5c28d0e99a84526022b66f7d16e6e8e5cf9f909629ae381a93
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"compute-scroll-into-view@npm:^3.0.2":
|
||||
version: 3.1.0
|
||||
resolution: "compute-scroll-into-view@npm:3.1.0"
|
||||
@ -4351,13 +4437,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"data-uri-to-buffer@npm:^4.0.0":
|
||||
version: 4.0.1
|
||||
resolution: "data-uri-to-buffer@npm:4.0.1"
|
||||
checksum: 10c0/20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"data-urls@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "data-urls@npm:5.0.0"
|
||||
@ -4648,13 +4727,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"detect-libc@npm:2.0.2":
|
||||
version: 2.0.2
|
||||
resolution: "detect-libc@npm:2.0.2"
|
||||
checksum: 10c0/a9f4ffcd2701525c589617d98afe5a5d0676c8ea82bcc4ed6f3747241b79f781d36437c59a5e855254c864d36a3e9f8276568b6b531c28d6e53b093a15703f11
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"detect-libc@npm:^2.0.0":
|
||||
version: 2.0.3
|
||||
resolution: "detect-libc@npm:2.0.3"
|
||||
@ -5797,16 +5869,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4":
|
||||
version: 3.2.0
|
||||
resolution: "fetch-blob@npm:3.2.0"
|
||||
dependencies:
|
||||
node-domexception: "npm:^1.0.0"
|
||||
web-streams-polyfill: "npm:^3.0.3"
|
||||
checksum: 10c0/60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fflate@npm:0.8.1":
|
||||
version: 0.8.1
|
||||
resolution: "fflate@npm:0.8.1"
|
||||
@ -5909,6 +5971,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"find-replace@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "find-replace@npm:3.0.0"
|
||||
dependencies:
|
||||
array-back: "npm:^3.0.1"
|
||||
checksum: 10c0/fcd1bf7960388c8193c2861bcdc760c18ac14edb4bde062a961915d9a25727b2e8aabf0229e90cc09c753fd557e5a3e5ae61e49cadbe727be89a9e8e49ce7668
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"find-up@npm:^1.0.0":
|
||||
version: 1.1.2
|
||||
resolution: "find-up@npm:1.1.2"
|
||||
@ -5949,6 +6020,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"flatbuffers@npm:^24.3.25":
|
||||
version: 24.12.23
|
||||
resolution: "flatbuffers@npm:24.12.23"
|
||||
checksum: 10c0/f6c7e4440c724ee337dac54db1d6ae428e84b2bf6618c542d095956e77b521bdd8a0e4d87dc93b15ae6ed4d07a8b269b5c99fd766e5acbe67546ef81034b1e05
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"flatted@npm:^3.2.9":
|
||||
version: 3.3.1
|
||||
resolution: "flatted@npm:3.3.1"
|
||||
@ -6038,15 +6116,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"formdata-polyfill@npm:^4.0.10":
|
||||
version: 4.0.10
|
||||
resolution: "formdata-polyfill@npm:4.0.10"
|
||||
dependencies:
|
||||
fetch-blob: "npm:^3.1.2"
|
||||
checksum: 10c0/5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"fs-constants@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "fs-constants@npm:1.0.0"
|
||||
@ -7647,13 +7716,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"js-base64@npm:^3.7.5":
|
||||
version: 3.7.7
|
||||
resolution: "js-base64@npm:3.7.7"
|
||||
checksum: 10c0/3c905a7e78b601e4751b5e710edd0d6d045ce2d23eb84c9df03515371e1b291edc72808dc91e081cb9855aef6758292a2407006f4608ec3705373dd8baf2f80f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"js-tiktoken@npm:^1.0.12":
|
||||
version: 1.0.15
|
||||
resolution: "js-tiktoken@npm:1.0.15"
|
||||
@ -7738,6 +7800,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-bignum@npm:^0.0.3":
|
||||
version: 0.0.3
|
||||
resolution: "json-bignum@npm:0.0.3"
|
||||
checksum: 10c0/f9f9312d57a68f72676802fa087da4ed60241d73b6cc0e3fb9f587ca0de7364efb62612a14414ccfbedc0b77ce3c320adca21834a5673c99eb3375aef9f561db
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"json-buffer@npm:3.0.1":
|
||||
version: 3.0.1
|
||||
resolution: "json-buffer@npm:3.0.1"
|
||||
@ -8052,39 +8121,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"libsql@npm:^0.4.4":
|
||||
version: 0.4.7
|
||||
resolution: "libsql@npm:0.4.7"
|
||||
dependencies:
|
||||
"@libsql/darwin-arm64": "npm:0.4.7"
|
||||
"@libsql/darwin-x64": "npm:0.4.7"
|
||||
"@libsql/linux-arm64-gnu": "npm:0.4.7"
|
||||
"@libsql/linux-arm64-musl": "npm:0.4.7"
|
||||
"@libsql/linux-x64-gnu": "npm:0.4.7"
|
||||
"@libsql/linux-x64-musl": "npm:0.4.7"
|
||||
"@libsql/win32-x64-msvc": "npm:0.4.7"
|
||||
"@neon-rs/load": "npm:^0.0.4"
|
||||
detect-libc: "npm:2.0.2"
|
||||
dependenciesMeta:
|
||||
"@libsql/darwin-arm64":
|
||||
optional: true
|
||||
"@libsql/darwin-x64":
|
||||
optional: true
|
||||
"@libsql/linux-arm64-gnu":
|
||||
optional: true
|
||||
"@libsql/linux-arm64-musl":
|
||||
optional: true
|
||||
"@libsql/linux-x64-gnu":
|
||||
optional: true
|
||||
"@libsql/linux-x64-musl":
|
||||
optional: true
|
||||
"@libsql/win32-x64-msvc":
|
||||
optional: true
|
||||
checksum: 10c0/351952440e6bad3477e5f1bb1b9d6570d16e403b894f4a13c5c7e183a1307b2fb04a2fa902728cb8594a259e1726c51c61b822d545bbc88319b126ad15468a87
|
||||
conditions: (os=darwin | os=linux | os=win32) & (cpu=x64 | cpu=arm64 | cpu=wasm32)
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lie@npm:~3.3.0":
|
||||
version: 3.3.0
|
||||
resolution: "lie@npm:3.3.0"
|
||||
@ -8151,6 +8187,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lodash.camelcase@npm:^4.3.0":
|
||||
version: 4.3.0
|
||||
resolution: "lodash.camelcase@npm:4.3.0"
|
||||
checksum: 10c0/fcba15d21a458076dd309fce6b1b4bf611d84a0ec252cb92447c948c533ac250b95d2e00955801ebc367e5af5ed288b996d75d37d2035260a937008e14eaf432
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lodash.escaperegexp@npm:^4.1.2":
|
||||
version: 4.1.2
|
||||
resolution: "lodash.escaperegexp@npm:4.1.2"
|
||||
@ -9472,7 +9515,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"node-domexception@npm:1.0.0, node-domexception@npm:^1.0.0":
|
||||
"node-domexception@npm:1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "node-domexception@npm:1.0.0"
|
||||
checksum: 10c0/5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b
|
||||
@ -9500,17 +9543,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"node-fetch@npm:^3.3.2":
|
||||
version: 3.3.2
|
||||
resolution: "node-fetch@npm:3.3.2"
|
||||
dependencies:
|
||||
data-uri-to-buffer: "npm:^4.0.0"
|
||||
fetch-blob: "npm:^3.1.4"
|
||||
formdata-polyfill: "npm:^4.0.10"
|
||||
checksum: 10c0/f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"node-gyp@npm:8.x":
|
||||
version: 8.4.1
|
||||
resolution: "node-gyp@npm:8.4.1"
|
||||
@ -10498,13 +10530,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"promise-limit@npm:^2.7.0":
|
||||
version: 2.7.0
|
||||
resolution: "promise-limit@npm:2.7.0"
|
||||
checksum: 10c0/ce220a7e11c8d0541940a3d99cc424bd16a18451b295a263f6dbaa998585d2d1afa71fcb7bb29078a61e214d2f13d96e9b082e96e8e357fbe5c5936ef2459cba
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"promise-retry@npm:^2.0.1":
|
||||
version: 2.0.1
|
||||
resolution: "promise-retry@npm:2.0.1"
|
||||
@ -11454,6 +11479,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"reflect-metadata@npm:^0.2.2":
|
||||
version: 0.2.2
|
||||
resolution: "reflect-metadata@npm:0.2.2"
|
||||
checksum: 10c0/1cd93a15ea291e420204955544637c264c216e7aac527470e393d54b4bb075f10a17e60d8168ec96600c7e0b9fcc0cb0bb6e91c3fbf5b0d8c9056f04e6ac1ec2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"reflect.getprototypeof@npm:^1.0.4":
|
||||
version: 1.0.6
|
||||
resolution: "reflect.getprototypeof@npm:1.0.6"
|
||||
@ -12806,6 +12838,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"table-layout@npm:^4.1.0":
|
||||
version: 4.1.1
|
||||
resolution: "table-layout@npm:4.1.1"
|
||||
dependencies:
|
||||
array-back: "npm:^6.2.2"
|
||||
wordwrapjs: "npm:^5.1.0"
|
||||
checksum: 10c0/26d8e54a55ddb4de447c8f02a8d7fcbb66a9580375e406a3bc7717ab223a413f6dfbded6710f288b3dfd277991813a0bd5a17419a0dc6db54d9a36d883d868dc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tar-fs@npm:^2.0.0":
|
||||
version: 2.1.1
|
||||
resolution: "tar-fs@npm:2.1.1"
|
||||
@ -13115,6 +13157,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tslib@npm:^2.8.0":
|
||||
version: 2.8.1
|
||||
resolution: "tslib@npm:2.8.1"
|
||||
checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tunnel-agent@npm:^0.6.0":
|
||||
version: 0.6.0
|
||||
resolution: "tunnel-agent@npm:0.6.0"
|
||||
@ -13240,6 +13289,20 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"typical@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "typical@npm:4.0.0"
|
||||
checksum: 10c0/f300b198fb9fe743859b75ec761d53c382723dc178bbce4957d9cb754f2878a44ce17dc0b6a5156c52be1065449271f63754ba594dac225b80ce3aa39f9241ed
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"typical@npm:^7.1.1":
|
||||
version: 7.3.0
|
||||
resolution: "typical@npm:7.3.0"
|
||||
checksum: 10c0/bee697a88e1dd0447bc1cf7f6e875eaa2b0fb2cccb338b7b261e315f7df84a66402864bfc326d6b3117c50475afd1d49eda03d846a6299ad25f211035bfab3b1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"uc.micro@npm:^2.0.0, uc.micro@npm:^2.1.0":
|
||||
version: 2.1.0
|
||||
resolution: "uc.micro@npm:2.1.0"
|
||||
@ -13593,6 +13656,20 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"validate.io-array@npm:^1.0.3, validate.io-array@npm:^1.0.5":
|
||||
version: 1.0.6
|
||||
resolution: "validate.io-array@npm:1.0.6"
|
||||
checksum: 10c0/ece1e93d24fe1c92f5ec5983e186f7890021c9144c2ad0e45d76695267861e9ad0362474a038a240caf3ab30f7b7595738c7f6efe9f6f0f9ae94290d23c39ef6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"validate.io-function@npm:^1.0.2":
|
||||
version: 1.0.2
|
||||
resolution: "validate.io-function@npm:1.0.2"
|
||||
checksum: 10c0/210b4bbf8c71c7863df122beae76387406eb960a6540b003568dcde2bbb4baac17a2c8f0eda014f0c5d2440396e87141e62028cc8758ddc61589e3425bd26c27
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"verror@npm:1.10.0":
|
||||
version: 1.10.0
|
||||
resolution: "verror@npm:1.10.0"
|
||||
@ -13718,7 +13795,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"web-streams-polyfill@npm:^3.0.3, web-streams-polyfill@npm:^3.2.1":
|
||||
"web-streams-polyfill@npm:^3.2.1":
|
||||
version: 3.3.3
|
||||
resolution: "web-streams-polyfill@npm:3.3.3"
|
||||
checksum: 10c0/64e855c47f6c8330b5436147db1c75cb7e7474d924166800e8e2aab5eb6c76aac4981a84261dd2982b3e754490900b99791c80ae1407a9fa0dcff74f82ea3a7f
|
||||
@ -13917,6 +13994,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"wordwrapjs@npm:^5.1.0":
|
||||
version: 5.1.0
|
||||
resolution: "wordwrapjs@npm:5.1.0"
|
||||
checksum: 10c0/e147162f139eb8c05257729fde586f5422a2d242aa8f027b5fa5adead1b571b455d0690a15c73aeaa31c93ba96864caa06d84ebdb2c32a0890602ab86a7568d1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0":
|
||||
version: 7.0.0
|
||||
resolution: "wrap-ansi@npm:7.0.0"
|
||||
@ -13956,7 +14040,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ws@npm:^8.13.0, ws@npm:^8.16.0":
|
||||
"ws@npm:^8.16.0":
|
||||
version: 8.18.0
|
||||
resolution: "ws@npm:8.18.0"
|
||||
peerDependencies:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user