From 7bb74f9279ebf40572d3534e2b8fbcc45707a4d3 Mon Sep 17 00:00:00 2001 From: o-mikhailovskii <169046144+o-mikhailovskii@users.noreply.github.com> Date: Tue, 1 Oct 2024 01:03:32 +0200 Subject: [PATCH] Embeddings enhancements (#651) * Add Google embedding support * Update dependencies --- package-lock.json | 1110 +++++++++++--------------- package.json | 15 +- src/LLMProviders/chainManager.ts | 2 +- src/LLMProviders/chatModelManager.ts | 4 +- src/LLMProviders/embeddingManager.ts | 15 +- src/LLMProviders/promptManager.ts | 2 +- src/aiParams.ts | 2 +- src/chainFactory.ts | 4 +- src/constants.ts | 9 + src/langchainWrappers.ts | 4 +- src/vectorDBManager.ts | 2 +- 11 files changed, 505 insertions(+), 664 deletions(-) diff --git a/package-lock.json b/package-lock.json index 14719e34..eab950cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,11 +12,12 @@ "@esbuild-plugins/node-globals-polyfill": "^0.2.3", "@huggingface/inference": "^2.6.4", "@koa/cors": "^5.0.0", - "@langchain/anthropic": "^0.1.21", - "@langchain/cohere": "^0.0.11", - "@langchain/community": "^0.0.16", - "@langchain/google-genai": "^0.0.7", - "@langchain/groq": "^0.0.9", + "@langchain/anthropic": "^0.3.3", + "@langchain/cohere": "^0.3.0", + "@langchain/community": "^0.3.3", + "@langchain/core": "^0.3.3", + "@langchain/google-genai": "^0.1.0", + "@langchain/groq": "^0.1.2", "@tabler/icons-react": "^2.14.0", "@types/pouchdb": "^6.4.0", "axios": "^1.3.4", @@ -27,7 +28,7 @@ "eventsource-parser": "^1.0.0", "koa": "^2.14.2", "koa-proxies": "^0.12.3", - "langchain": "^0.0.212", + "langchain": "^0.3.2", "next-i18next": "^13.2.2", "pouchdb-browser": "^9.0.0", "prop-types": "^15.8.1", @@ -38,7 +39,7 @@ "sse": "github:mpetazzoni/sse.js" }, "devDependencies": { - "@langchain/ollama": "^0.0.4", + "@langchain/ollama": "^0.1.0", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^14.0.0", "@types/crypto-js": "^4.1.1", @@ -88,6 +89,28 @@ "node": ">=6.0.0" } }, + "node_modules/@anthropic-ai/sdk": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.27.3.tgz", + "integrity": "sha512-IjLt0gd3L4jlOfilxVXTifn42FnVffMgDC04RJK1KDZpmkBWLv0XC92MVVmkxrFZNS/7l3xWgP/I3nqtX1sQHw==", + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7" + } + }, + "node_modules/@anthropic-ai/sdk/node_modules/@types/node": { + "version": "18.19.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.54.tgz", + "integrity": "sha512-+BRgt0G5gYjTvdLac9sIeE0iZcJxi4Jc4PV5EUzqi+88jmQLr+fRZdv2tCTV7IHKSGxM6SaLoOXQWWUiLUItMw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, "node_modules/@aws-crypto/crc32": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", @@ -2431,9 +2454,9 @@ } }, "node_modules/@google/generative-ai": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@google/generative-ai/-/generative-ai-0.1.3.tgz", - "integrity": "sha512-Cm4uJX1sKarpm1mje/MiOIinM7zdUUrQp/5/qGPAgznbdd/B9zup5ehT6c1qGqycFcSopTA1J1HpqHS5kJR8hQ==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@google/generative-ai/-/generative-ai-0.7.1.tgz", + "integrity": "sha512-WTjMLLYL/xfA5BW6xAycRPiAX7FNHKAxrid/ayqC1QMam0KAK0NbMeS9Lubw80gVg5xFMLE+H7pw4wdNzTOlxw==", "engines": { "node": ">=18.0.0" } @@ -3066,163 +3089,204 @@ } }, "node_modules/@langchain/anthropic": { - "version": "0.1.21", - "resolved": "https://registry.npmjs.org/@langchain/anthropic/-/anthropic-0.1.21.tgz", - "integrity": "sha512-7L5UDhO93UYfBwdaGxIqc5ZGSQ4wgMyYdENflLYhA9Aeho+BSHd0Krqh6zEHNGy4p+OrCElyDy58G8yiDEpxvw==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@langchain/anthropic/-/anthropic-0.3.3.tgz", + "integrity": "sha512-OvnSV3Tjhb87n7CxWzIcJqcJEM4qoFDYYt6Rua7glQF/Ud5FBTurlzoMunLPTQeF5GdPiaOwP3nUw6I9gF7ppw==", "dependencies": { - "@anthropic-ai/sdk": "^0.21.0", - "@langchain/core": ">0.1.56 <0.3.0", - "fast-xml-parser": "^4.3.5", + "@anthropic-ai/sdk": "^0.27.3", + "fast-xml-parser": "^4.4.1", "zod": "^3.22.4", "zod-to-json-schema": "^3.22.4" }, "engines": { "node": ">=18" - } - }, - "node_modules/@langchain/anthropic/node_modules/@anthropic-ai/sdk": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.21.1.tgz", - "integrity": "sha512-fqdt74RTdplnaFOYhwNjjK/Ec09Dqv9ekYr7PuC6GdhV1RWkziqbpJBewn42CYYqCr92JeX6g+IXVgXmq9l7XQ==", - "dependencies": { - "@types/node": "^18.11.18", - "@types/node-fetch": "^2.6.4", - "abort-controller": "^3.0.0", - "agentkeepalive": "^4.2.1", - "form-data-encoder": "1.7.2", - "formdata-node": "^4.3.2", - "node-fetch": "^2.6.7", - "web-streams-polyfill": "^3.2.1" - } - }, - "node_modules/@langchain/anthropic/node_modules/@types/node": { - "version": "18.19.46", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.46.tgz", - "integrity": "sha512-vnRgMS7W6cKa1/0G3/DTtQYpVrZ8c0Xm6UkLaVFrb9jtcVC3okokW09Ki1Qdrj9ISokszD69nY4WDLRlvHlhAA==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@langchain/anthropic/node_modules/zod-to-json-schema": { - "version": "3.23.2", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.2.tgz", - "integrity": "sha512-uSt90Gzc/tUfyNqxnjlfBs8W6WSGpNBv0rVsNxP/BVSMHMKGdthPYff4xtCHYloJGM0CFxFsb3NbC0eqPhfImw==", + }, "peerDependencies": { - "zod": "^3.23.3" + "@langchain/core": ">=0.2.21 <0.4.0" } }, "node_modules/@langchain/cohere": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/@langchain/cohere/-/cohere-0.0.11.tgz", - "integrity": "sha512-BFLXXyJzomWRIINja43IOckuaaz+FkQY1njaoBQRqUxy+yCIQv2SUTo20AWwUPczsxhspFbu7NEp5qxCjvWqEg==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@langchain/cohere/-/cohere-0.3.0.tgz", + "integrity": "sha512-JlevgVK4oUwHiPcP7Xw55Xlp8FdbCsjDuWbcjWgeYcdTTH1sIItG/nDREZa8Z+MfXYca2njk4sZjCIuGsY7fVA==", "dependencies": { - "@langchain/core": ">0.1.58 <0.3.0", - "cohere-ai": "^7.9.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@langchain/community": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/@langchain/community/-/community-0.0.16.tgz", - "integrity": "sha512-6Jqq4I9nyiV5+CBTdKKA3ggCyhkMLUDborSC8bNBv5PKOGUFviLrEuHoB6GZnRCyJDHHkk1VN++P4cdozcbmUw==", - "dependencies": { - "@langchain/core": "~0.1.9", - "@langchain/openai": "~0.0.10", - "flat": "^5.0.2", - "langsmith": "~0.0.48", - "uuid": "^9.0.0", - "zod": "^3.22.3" + "cohere-ai": "^7.10.5", + "uuid": "^10.0.0", + "zod": "^3.23.8", + "zod-to-json-schema": "^3.23.1" }, "engines": { "node": ">=18" }, "peerDependencies": { + "@langchain/core": ">=0.2.21 <0.4.0" + } + }, + "node_modules/@langchain/cohere/node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@langchain/community": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@langchain/community/-/community-0.3.3.tgz", + "integrity": "sha512-445g9hBeBNndNC8ruQIO/sNbHYBL3jjrPuDW+/S6e/RAXo8whJA/02CWRcSMDYX3o4+1Brrg6rFimipOuM9M9w==", + "dependencies": { + "@langchain/openai": ">=0.2.0 <0.4.0", + "binary-extensions": "^2.2.0", + "expr-eval": "^2.0.2", + "flat": "^5.0.2", + "js-yaml": "^4.1.0", + "langchain": ">=0.2.3 <0.4.0", + "langsmith": "~0.1.56", + "uuid": "^10.0.0", + "zod": "^3.22.3", + "zod-to-json-schema": "^3.22.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@arcjet/redact": "^v1.0.0-alpha.23", "@aws-crypto/sha256-js": "^5.0.0", + "@aws-sdk/client-bedrock-agent-runtime": "^3.583.0", "@aws-sdk/client-bedrock-runtime": "^3.422.0", "@aws-sdk/client-dynamodb": "^3.310.0", "@aws-sdk/client-kendra": "^3.352.0", "@aws-sdk/client-lambda": "^3.310.0", + "@aws-sdk/client-s3": "^3.310.0", "@aws-sdk/client-sagemaker-runtime": "^3.310.0", "@aws-sdk/client-sfn": "^3.310.0", "@aws-sdk/credential-provider-node": "^3.388.0", + "@azure/search-documents": "^12.0.0", + "@azure/storage-blob": "^12.15.0", + "@browserbasehq/sdk": "*", "@clickhouse/client": "^0.2.5", - "@cloudflare/ai": "^1.0.12", - "@datastax/astra-db-ts": "0.1.2", + "@cloudflare/ai": "*", + "@datastax/astra-db-ts": "^1.0.0", "@elastic/elasticsearch": "^8.4.0", "@getmetal/metal-sdk": "*", + "@getzep/zep-cloud": "^1.0.6", "@getzep/zep-js": "^0.9.0", "@gomomento/sdk": "^1.51.1", "@gomomento/sdk-core": "^1.51.1", - "@google-ai/generativelanguage": "^0.2.1", + "@google-ai/generativelanguage": "*", + "@google-cloud/storage": "^6.10.1 || ^7.7.0", "@gradientai/nodejs-sdk": "^1.2.0", "@huggingface/inference": "^2.6.4", + "@langchain/core": ">=0.2.21 <0.4.0", + "@layerup/layerup-security": "^1.5.12", + "@mendable/firecrawl-js": "^0.0.13", + "@mlc-ai/web-llm": "*", "@mozilla/readability": "*", + "@neondatabase/serverless": "*", + "@notionhq/client": "^2.2.10", "@opensearch-project/opensearch": "*", - "@pinecone-database/pinecone": "^1.1.0", + "@pinecone-database/pinecone": "*", "@planetscale/database": "^1.8.0", - "@qdrant/js-client-rest": "^1.2.0", + "@premai/prem-sdk": "^0.3.25", + "@qdrant/js-client-rest": "^1.8.2", "@raycast/api": "^1.55.2", "@rockset/client": "^0.9.1", "@smithy/eventstream-codec": "^2.0.5", "@smithy/protocol-http": "^3.0.6", "@smithy/signature-v4": "^2.0.10", "@smithy/util-utf8": "^2.0.0", - "@supabase/postgrest-js": "^1.1.1", - "@supabase/supabase-js": "^2.10.0", + "@spider-cloud/spider-client": "^0.0.21", + "@supabase/supabase-js": "^2.45.0", "@tensorflow-models/universal-sentence-encoder": "*", "@tensorflow/tfjs-converter": "*", "@tensorflow/tfjs-core": "*", + "@upstash/ratelimit": "^1.1.3 || ^2.0.3", "@upstash/redis": "^1.20.6", + "@upstash/vector": "^1.1.1", "@vercel/kv": "^0.2.3", "@vercel/postgres": "^0.5.0", "@writerai/writer-sdk": "^0.40.2", "@xata.io/client": "^0.28.0", - "@xenova/transformers": "^2.5.4", - "@zilliz/milvus2-sdk-node": ">=2.2.7", + "@xenova/transformers": "^2.17.2", + "@zilliz/milvus2-sdk-node": ">=2.3.5", + "apify-client": "^2.7.1", + "assemblyai": "^4.6.0", + "better-sqlite3": ">=9.4.0 <12.0.0", "cassandra-driver": "^4.7.2", + "cborg": "^4.1.1", + "cheerio": "^1.0.0-rc.12", "chromadb": "*", - "closevector-common": "0.1.0-alpha.1", - "closevector-node": "0.1.0-alpha.10", - "closevector-web": "0.1.0-alpha.16", - "cohere-ai": ">=6.0.0", + "closevector-common": "0.1.3", + "closevector-node": "0.1.6", + "closevector-web": "0.1.6", + "cohere-ai": "*", "convex": "^1.3.1", + "couchbase": "^4.3.0", + "crypto-js": "^4.2.0", + "d3-dsv": "^2.0.0", "discord.js": "^14.14.1", + "dria": "^0.0.3", + "duck-duck-scrape": "^2.2.5", + "epub2": "^3.0.1", "faiss-node": "^0.5.1", - "firebase-admin": "^11.9.0", - "google-auth-library": "^8.9.0", - "googleapis": "^126.0.1", - "hnswlib-node": "^1.4.2", + "firebase-admin": "^11.9.0 || ^12.0.0", + "google-auth-library": "*", + "googleapis": "*", + "hnswlib-node": "^3.0.0", "html-to-text": "^9.0.5", + "ignore": "^5.2.0", + "interface-datastore": "^8.2.11", "ioredis": "^5.3.2", + "it-all": "^3.0.4", "jsdom": "*", + "jsonwebtoken": "^9.0.2", "llmonitor": "^0.5.9", "lodash": "^4.17.21", - "lunary": "^0.6.11", - "mongodb": "^5.2.0", - "mysql2": "^3.3.3", + "lunary": "^0.7.10", + "mammoth": "^1.6.0", + "mongodb": ">=5.2.0", + "mysql2": "^3.9.8", "neo4j-driver": "*", "node-llama-cpp": "*", + "notion-to-md": "^3.1.0", + "officeparser": "^4.0.4", + "pdf-parse": "1.1.1", "pg": "^8.11.0", "pg-copy-streams": "^6.0.5", "pickleparser": "^0.2.1", + "playwright": "^1.32.1", "portkey-ai": "^0.1.11", - "redis": "^4.6.4", - "replicate": "^0.18.0", - "typeorm": "^0.3.12", + "puppeteer": "*", + "pyodide": ">=0.24.1 <0.27.0", + "redis": "*", + "replicate": "^0.29.4", + "sonix-speech-recognition": "^2.1.1", + "srt-parser-2": "^1.2.3", + "typeorm": "^0.3.20", "typesense": "^1.5.3", "usearch": "^1.1.1", "vectordb": "^0.1.4", "voy-search": "0.6.2", - "weaviate-ts-client": "^1.4.0", + "weaviate-ts-client": "*", "web-auth-library": "^1.0.3", - "ws": "^8.14.2" + "ws": "^8.14.2", + "youtube-transcript": "^1.0.6", + "youtubei.js": "^9.1.0" }, "peerDependenciesMeta": { + "@arcjet/redact": { + "optional": true + }, "@aws-crypto/sha256-js": { "optional": true }, + "@aws-sdk/client-bedrock-agent-runtime": { + "optional": true + }, "@aws-sdk/client-bedrock-runtime": { "optional": true }, @@ -3235,6 +3299,9 @@ "@aws-sdk/client-lambda": { "optional": true }, + "@aws-sdk/client-s3": { + "optional": true + }, "@aws-sdk/client-sagemaker-runtime": { "optional": true }, @@ -3244,6 +3311,15 @@ "@aws-sdk/credential-provider-node": { "optional": true }, + "@azure/search-documents": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@browserbasehq/sdk": { + "optional": true + }, "@clickhouse/client": { "optional": true }, @@ -3259,6 +3335,9 @@ "@getmetal/metal-sdk": { "optional": true }, + "@getzep/zep-cloud": { + "optional": true + }, "@getzep/zep-js": { "optional": true }, @@ -3271,15 +3350,33 @@ "@google-ai/generativelanguage": { "optional": true }, + "@google-cloud/storage": { + "optional": true + }, "@gradientai/nodejs-sdk": { "optional": true }, "@huggingface/inference": { "optional": true }, + "@layerup/layerup-security": { + "optional": true + }, + "@mendable/firecrawl-js": { + "optional": true + }, + "@mlc-ai/web-llm": { + "optional": true + }, "@mozilla/readability": { "optional": true }, + "@neondatabase/serverless": { + "optional": true + }, + "@notionhq/client": { + "optional": true + }, "@opensearch-project/opensearch": { "optional": true }, @@ -3289,6 +3386,9 @@ "@planetscale/database": { "optional": true }, + "@premai/prem-sdk": { + "optional": true + }, "@qdrant/js-client-rest": { "optional": true }, @@ -3310,7 +3410,7 @@ "@smithy/util-utf8": { "optional": true }, - "@supabase/postgrest-js": { + "@spider-cloud/spider-client": { "optional": true }, "@supabase/supabase-js": { @@ -3325,9 +3425,15 @@ "@tensorflow/tfjs-core": { "optional": true }, + "@upstash/ratelimit": { + "optional": true + }, "@upstash/redis": { "optional": true }, + "@upstash/vector": { + "optional": true + }, "@vercel/kv": { "optional": true }, @@ -3346,9 +3452,24 @@ "@zilliz/milvus2-sdk-node": { "optional": true }, + "apify-client": { + "optional": true + }, + "assemblyai": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, "cassandra-driver": { "optional": true }, + "cborg": { + "optional": true + }, + "cheerio": { + "optional": true + }, "chromadb": { "optional": true }, @@ -3367,9 +3488,27 @@ "convex": { "optional": true }, + "couchbase": { + "optional": true + }, + "crypto-js": { + "optional": true + }, + "d3-dsv": { + "optional": true + }, "discord.js": { "optional": true }, + "dria": { + "optional": true + }, + "duck-duck-scrape": { + "optional": true + }, + "epub2": { + "optional": true + }, "faiss-node": { "optional": true }, @@ -3388,12 +3527,24 @@ "html-to-text": { "optional": true }, + "ignore": { + "optional": true + }, + "interface-datastore": { + "optional": true + }, "ioredis": { "optional": true }, + "it-all": { + "optional": true + }, "jsdom": { "optional": true }, + "jsonwebtoken": { + "optional": true + }, "llmonitor": { "optional": true }, @@ -3403,6 +3554,9 @@ "lunary": { "optional": true }, + "mammoth": { + "optional": true + }, "mongodb": { "optional": true }, @@ -3415,6 +3569,15 @@ "node-llama-cpp": { "optional": true }, + "notion-to-md": { + "optional": true + }, + "officeparser": { + "optional": true + }, + "pdf-parse": { + "optional": true + }, "pg": { "optional": true }, @@ -3424,15 +3587,30 @@ "pickleparser": { "optional": true }, + "playwright": { + "optional": true + }, "portkey-ai": { "optional": true }, + "puppeteer": { + "optional": true + }, + "pyodide": { + "optional": true + }, "redis": { "optional": true }, "replicate": { "optional": true }, + "sonix-speech-recognition": { + "optional": true + }, + "srt-parser-2": { + "optional": true + }, "typeorm": { "optional": true }, @@ -3456,24 +3634,41 @@ }, "ws": { "optional": true + }, + "youtube-transcript": { + "optional": true + }, + "youtubei.js": { + "optional": true } } }, + "node_modules/@langchain/community/node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@langchain/core": { - "version": "0.1.62", - "resolved": "https://registry.npmjs.org/@langchain/core/-/core-0.1.62.tgz", - "integrity": "sha512-PsBM/x0wxVvVPawKak2MFjxEneogipf212yO+rLf+2M3RDepCpYCdn1NBWgfmC+AWpmBYx/8zM7Y4QW7Kg2Wjw==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@langchain/core/-/core-0.3.3.tgz", + "integrity": "sha512-WAtkmhbdl2T41qzimTzhb3pXCHQxO4onqxzPxgdf3KftQdTwLq0YYBDhozRMZLNAd/+cfH0ymZGaZSsnc9Ogsg==", "dependencies": { "ansi-styles": "^5.0.0", "camelcase": "6", "decamelize": "1.2.0", - "js-tiktoken": "^1.0.8", - "langsmith": "~0.1.7", - "ml-distance": "^4.0.0", + "js-tiktoken": "^1.0.12", + "langsmith": "^0.1.56", "mustache": "^4.2.0", "p-queue": "^6.6.2", "p-retry": "4", - "uuid": "^9.0.0", + "uuid": "^10.0.0", "zod": "^3.22.4", "zod-to-json-schema": "^3.22.3" }, @@ -3503,187 +3698,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@langchain/core/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "engines": { - "node": ">=14" - } - }, - "node_modules/@langchain/core/node_modules/langsmith": { - "version": "0.1.23", - "resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.1.23.tgz", - "integrity": "sha512-lc6BpC82zpHNDW5qNO/+eQrN9YNK7ElZIU0GIHZrdKTclaqAXYkJB2C3hM2sxdkdp0HbFYOLa0PxxZLzNkMloQ==", - "dependencies": { - "@types/uuid": "^9.0.1", - "commander": "^10.0.1", - "p-queue": "^6.6.2", - "p-retry": "4", - "uuid": "^9.0.0" - }, - "peerDependencies": { - "openai": "*" - }, - "peerDependenciesMeta": { - "openai": { - "optional": true - } - } - }, - "node_modules/@langchain/core/node_modules/zod-to-json-schema": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.0.tgz", - "integrity": "sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag==", - "peerDependencies": { - "zod": "^3.23.3" - } - }, - "node_modules/@langchain/google-genai": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@langchain/google-genai/-/google-genai-0.0.7.tgz", - "integrity": "sha512-0VUrzVRS5PW/HhGVdTelDZd8DJVXdyLj2KqHpUNWdXNNMKaLVV6AY2nwqKLA3I4SV0VfOt1/XoZAgPIpQfn4Ow==", - "dependencies": { - "@google/generative-ai": "^0.1.0", - "@langchain/core": "~0.1.5" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@langchain/groq": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/@langchain/groq/-/groq-0.0.9.tgz", - "integrity": "sha512-/QGGgazYdxlN8FCmPfEVDO9Hg55POvQdnoou+b3lsugmwP1TYPRtqLW6JY7Atb36X4vjEJwiMCnntDXdT7vgaw==", - "dependencies": { - "@langchain/core": "~0.1.56", - "@langchain/openai": "~0.0.28", - "groq-sdk": "^0.3.2", - "zod": "^3.22.4", - "zod-to-json-schema": "^3.22.5" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@langchain/groq/node_modules/zod-to-json-schema": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.0.tgz", - "integrity": "sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag==", - "peerDependencies": { - "zod": "^3.23.3" - } - }, - "node_modules/@langchain/ollama": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@langchain/ollama/-/ollama-0.0.4.tgz", - "integrity": "sha512-laYaYFZsbu0Mjhm40CypXPV5gYvQjd16oBEoGnFFjmCUgCCu6gjETg3tgvgifo7w+dhmNPLUyqnjXA/BpWEH2Q==", - "dev": true, - "dependencies": { - "@langchain/core": ">=0.2.21 <0.3.0", - "ollama": "^0.5.6", - "uuid": "^10.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@langchain/ollama/node_modules/@langchain/core": { - "version": "0.2.31", - "resolved": "https://registry.npmjs.org/@langchain/core/-/core-0.2.31.tgz", - "integrity": "sha512-qGfeaACST7dvovgHItzuag9fEBGK7IjCE9vRuTu/y8/WYGJi28WPD/AwWxnu7YdW1vZSuIXO6ZA76t2G9B/oKg==", - "dev": true, - "dependencies": { - "ansi-styles": "^5.0.0", - "camelcase": "6", - "decamelize": "1.2.0", - "js-tiktoken": "^1.0.12", - "langsmith": "^0.1.43", - "mustache": "^4.2.0", - "p-queue": "^6.6.2", - "p-retry": "4", - "uuid": "^10.0.0", - "zod": "^3.22.4", - "zod-to-json-schema": "^3.22.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@langchain/ollama/node_modules/@types/uuid": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", - "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==", - "dev": true - }, - "node_modules/@langchain/ollama/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@langchain/ollama/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@langchain/ollama/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@langchain/ollama/node_modules/langsmith": { - "version": "0.1.51", - "resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.1.51.tgz", - "integrity": "sha512-TYauaTfEO5o5oCbZZvWHWg/0SiWp6DH2tYmIdGlMO0Dx6wp7uQdlGwiCcuDX+lITtLyFaraWQc8SjUwvfJ75Gw==", - "dev": true, - "dependencies": { - "@types/uuid": "^10.0.0", - "commander": "^10.0.1", - "p-queue": "^6.6.2", - "p-retry": "4", - "semver": "^7.6.3", - "uuid": "^10.0.0" - }, - "peerDependencies": { - "@langchain/core": "*", - "langchain": "*", - "openai": "*" - }, - "peerDependenciesMeta": { - "@langchain/core": { - "optional": true - }, - "langchain": { - "optional": true - }, - "openai": { - "optional": true - } - } - }, - "node_modules/@langchain/ollama/node_modules/uuid": { + "node_modules/@langchain/core/node_modules/uuid": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", - "dev": true, "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" @@ -3692,36 +3710,96 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/@langchain/ollama/node_modules/zod-to-json-schema": { - "version": "3.23.2", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.2.tgz", - "integrity": "sha512-uSt90Gzc/tUfyNqxnjlfBs8W6WSGpNBv0rVsNxP/BVSMHMKGdthPYff4xtCHYloJGM0CFxFsb3NbC0eqPhfImw==", - "dev": true, + "node_modules/@langchain/google-genai": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@langchain/google-genai/-/google-genai-0.1.0.tgz", + "integrity": "sha512-6rIba77zJVMj+048tLfkCBrkFbfAMiT+AfLEsu5s+CFoFmXMiI/dbKeDL4vhUWrJVb9uL4ZZyrnl0nKxyEKYgA==", + "dependencies": { + "@google/generative-ai": "^0.7.0", + "zod-to-json-schema": "^3.22.4" + }, + "engines": { + "node": ">=18" + }, "peerDependencies": { - "zod": "^3.23.3" + "@langchain/core": ">=0.2.21 <0.4.0" + } + }, + "node_modules/@langchain/groq": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@langchain/groq/-/groq-0.1.2.tgz", + "integrity": "sha512-bgQ9yGoNHOwG6LG2ngGvSNxF/1U1c1u3vKmFWmzecFIcBoQQOJY0jb0MrL3g1uTife0Sr3zxkWKXQg2aK/U4Sg==", + "dependencies": { + "@langchain/openai": "~0.3.0", + "groq-sdk": "^0.5.0", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@langchain/core": ">=0.2.21 <0.4.0" + } + }, + "node_modules/@langchain/ollama": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@langchain/ollama/-/ollama-0.1.0.tgz", + "integrity": "sha512-TI4DGenLf1ApoxFf4Bx/VPyO+a+poJKIul8AGm/FEyORtw3JPq1UDR6SdkGETrkDqzzdK9R0DvFRStd1MSTE/w==", + "devOptional": true, + "dependencies": { + "ollama": "^0.5.6", + "uuid": "^10.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@langchain/core": ">=0.2.21 <0.4.0" + } + }, + "node_modules/@langchain/ollama/node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "devOptional": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" } }, "node_modules/@langchain/openai": { - "version": "0.0.28", - "resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.0.28.tgz", - "integrity": "sha512-2s1RA3/eAnz4ahdzsMPBna9hfAqpFNlWdHiPxVGZ5yrhXsbLWWoPcF+22LCk9t0HJKtazi2GCIWc0HVXH9Abig==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.3.2.tgz", + "integrity": "sha512-p513TVHkZ+mMV4dGloprPFKaukOuOZxyPXY/IWReQK34c1dpnywmjrXg8ydcnfncNbq+kJ/kKe671NK9bic4WA==", "dependencies": { - "@langchain/core": "~0.1.56", - "js-tiktoken": "^1.0.7", - "openai": "^4.32.1", + "js-tiktoken": "^1.0.12", + "openai": "^4.57.3", "zod": "^3.22.4", "zod-to-json-schema": "^3.22.3" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@langchain/core": ">=0.2.26 <0.4.0" } }, - "node_modules/@langchain/openai/node_modules/zod-to-json-schema": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.0.tgz", - "integrity": "sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag==", + "node_modules/@langchain/textsplitters": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@langchain/textsplitters/-/textsplitters-0.1.0.tgz", + "integrity": "sha512-djI4uw9rlkAb5iMhtLED+xJebDdAG935AdP4eRTB02R7OB/act55Bj9wsskhZsvuyQRpO4O1wQOp85s6T6GWmw==", + "dependencies": { + "js-tiktoken": "^1.0.12" + }, + "engines": { + "node": ">=18" + }, "peerDependencies": { - "zod": "^3.23.3" + "@langchain/core": ">=0.2.21 <0.4.0" } }, "node_modules/@next/env": { @@ -5727,9 +5805,9 @@ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==" }, "node_modules/@types/uuid": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.7.tgz", - "integrity": "sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==" + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==" }, "node_modules/@types/yargs": { "version": "17.0.24", @@ -6288,11 +6366,6 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, - "node_modules/base-64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", - "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==" - }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -6320,11 +6393,6 @@ "node": ">=8" } }, - "node_modules/binary-search": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/binary-search/-/binary-search-1.3.6.tgz", - "integrity": "sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==" - }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -6645,14 +6713,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", - "engines": { - "node": "*" - } - }, "node_modules/ci-info": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", @@ -6998,14 +7058,6 @@ "node": ">= 8" } }, - "node_modules/crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", - "engines": { - "node": "*" - } - }, "node_modules/crypto-js": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", @@ -7344,15 +7396,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/digest-fetch": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/digest-fetch/-/digest-fetch-1.3.0.tgz", - "integrity": "sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==", - "dependencies": { - "base-64": "^0.1.0", - "md5": "^2.3.0" - } - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -8682,15 +8725,14 @@ "dev": true }, "node_modules/groq-sdk": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/groq-sdk/-/groq-sdk-0.3.3.tgz", - "integrity": "sha512-wdOeZ2QymPjjP3tmFpUAnfMisoLbt7xF2MfpROeFAngcqWbfTyB9j9pMWSEAMF/E4gZx8f2Y+5zswO0q92CSxA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/groq-sdk/-/groq-sdk-0.5.0.tgz", + "integrity": "sha512-RVmhW7qZ+XZoy5fIuSdx/LGQJONpL8MHgZEW7dFwTdgkzStub2XQx6OKv28CHogijdwH41J+Npj/z2jBPu3vmw==", "dependencies": { "@types/node": "^18.11.18", "@types/node-fetch": "^2.6.4", "abort-controller": "^3.0.0", "agentkeepalive": "^4.2.1", - "digest-fetch": "^1.3.0", "form-data-encoder": "1.7.2", "formdata-node": "^4.3.2", "node-fetch": "^2.6.7", @@ -8698,9 +8740,9 @@ } }, "node_modules/groq-sdk/node_modules/@types/node": { - "version": "18.19.33", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.33.tgz", - "integrity": "sha512-NR9+KrpSajr2qBVp/Yt5TU/rp+b5Mayi3+OlMlcg2cVCfRmcG5PWZ7S4+MG9PZ5gWBoc9Pd0BKSRViuBCRPu0A==", + "version": "18.19.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.54.tgz", + "integrity": "sha512-+BRgt0G5gYjTvdLac9sIeE0iZcJxi4Jc4PV5EUzqi+88jmQLr+fRZdv2tCTV7IHKSGxM6SaLoOXQWWUiLUItMw==", "dependencies": { "undici-types": "~5.26.4" } @@ -9252,11 +9294,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-any-array": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.1.tgz", - "integrity": "sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==" - }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -11044,134 +11081,65 @@ } }, "node_modules/langchain": { - "version": "0.0.212", - "resolved": "https://registry.npmjs.org/langchain/-/langchain-0.0.212.tgz", - "integrity": "sha512-zPcnAX3t1RuyWkbEkyqlIdR29j51Eylz7rcDcqET1baquR/r9xuk7P/HAJ6TFowiXDUg10d5YBD6VBvjwF/WDA==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/langchain/-/langchain-0.3.2.tgz", + "integrity": "sha512-kd2kz1cS/PIVrLEDFlrZsAasQfPLbY1UqCZbRKa3/QcpB33/n6xPDvXSMfBuKhvNj0bjW6MXDR9HZTduXjJBgg==", "dependencies": { - "@anthropic-ai/sdk": "^0.9.1", - "@langchain/community": "~0.0.8", - "@langchain/core": "~0.1.3", - "@langchain/openai": "~0.0.7", - "binary-extensions": "^2.2.0", - "expr-eval": "^2.0.2", - "js-tiktoken": "^1.0.7", + "@langchain/openai": ">=0.1.0 <0.4.0", + "@langchain/textsplitters": ">=0.0.0 <0.2.0", + "js-tiktoken": "^1.0.12", "js-yaml": "^4.1.0", "jsonpointer": "^5.0.1", - "langchainhub": "~0.0.6", - "langsmith": "~0.0.48", - "ml-distance": "^4.0.0", + "langsmith": "^0.1.56-rc.1", "openapi-types": "^12.1.3", "p-retry": "4", - "uuid": "^9.0.0", + "uuid": "^10.0.0", "yaml": "^2.2.1", - "zod": "^3.22.3", - "zod-to-json-schema": "3.20.3" + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" }, "engines": { "node": ">=18" }, "peerDependencies": { - "@aws-sdk/client-s3": "^3.310.0", - "@aws-sdk/client-sagemaker-runtime": "^3.310.0", - "@aws-sdk/client-sfn": "^3.310.0", - "@aws-sdk/credential-provider-node": "^3.388.0", - "@azure/storage-blob": "^12.15.0", - "@gomomento/sdk": "^1.51.1", - "@gomomento/sdk-core": "^1.51.1", - "@gomomento/sdk-web": "^1.51.1", - "@google-ai/generativelanguage": "^0.2.1", - "@google-cloud/storage": "^6.10.1", - "@notionhq/client": "^2.2.10", - "@pinecone-database/pinecone": "^1.1.0", - "@supabase/supabase-js": "^2.10.0", - "@vercel/kv": "^0.2.3", - "@xata.io/client": "^0.28.0", - "apify-client": "^2.7.1", - "assemblyai": "^4.0.0", + "@langchain/anthropic": "*", + "@langchain/aws": "*", + "@langchain/cohere": "*", + "@langchain/core": ">=0.2.21 <0.4.0", + "@langchain/google-genai": "*", + "@langchain/google-vertexai": "*", + "@langchain/groq": "*", + "@langchain/mistralai": "*", + "@langchain/ollama": "*", "axios": "*", - "cheerio": "^1.0.0-rc.12", - "chromadb": "*", - "convex": "^1.3.1", - "d3-dsv": "^2.0.0", - "epub2": "^3.0.1", - "fast-xml-parser": "^4.2.7", - "google-auth-library": "^8.9.0", - "googleapis": "^126.0.1", - "html-to-text": "^9.0.5", - "ignore": "^5.2.0", - "ioredis": "^5.3.2", - "jsdom": "*", - "mammoth": "^1.6.0", - "mongodb": "^5.2.0", - "node-llama-cpp": "*", - "notion-to-md": "^3.1.0", - "officeparser": "^4.0.4", - "pdf-parse": "1.1.1", + "cheerio": "*", + "handlebars": "^4.7.8", "peggy": "^3.0.2", - "playwright": "^1.32.1", - "puppeteer": "^19.7.2", - "pyodide": "^0.24.1", - "redis": "^4.6.4", - "sonix-speech-recognition": "^2.1.1", - "srt-parser-2": "^1.2.2", - "typeorm": "^0.3.12", - "vectordb": "^0.1.4", - "weaviate-ts-client": "^1.4.0", - "web-auth-library": "^1.0.3", - "ws": "^8.14.2", - "youtube-transcript": "^1.0.6", - "youtubei.js": "^5.8.0" + "typeorm": "*" }, "peerDependenciesMeta": { - "@aws-sdk/client-s3": { + "@langchain/anthropic": { "optional": true }, - "@aws-sdk/client-sagemaker-runtime": { + "@langchain/aws": { "optional": true }, - "@aws-sdk/client-sfn": { + "@langchain/cohere": { "optional": true }, - "@aws-sdk/credential-provider-node": { + "@langchain/google-genai": { "optional": true }, - "@azure/storage-blob": { + "@langchain/google-vertexai": { "optional": true }, - "@gomomento/sdk": { + "@langchain/groq": { "optional": true }, - "@gomomento/sdk-core": { + "@langchain/mistralai": { "optional": true }, - "@gomomento/sdk-web": { - "optional": true - }, - "@google-ai/generativelanguage": { - "optional": true - }, - "@google-cloud/storage": { - "optional": true - }, - "@notionhq/client": { - "optional": true - }, - "@pinecone-database/pinecone": { - "optional": true - }, - "@supabase/supabase-js": { - "optional": true - }, - "@vercel/kv": { - "optional": true - }, - "@xata.io/client": { - "optional": true - }, - "apify-client": { - "optional": true - }, - "assemblyai": { + "@langchain/ollama": { "optional": true }, "axios": { @@ -11180,146 +11148,48 @@ "cheerio": { "optional": true }, - "chromadb": { - "optional": true - }, - "convex": { - "optional": true - }, - "d3-dsv": { - "optional": true - }, - "epub2": { - "optional": true - }, - "faiss-node": { - "optional": true - }, - "fast-xml-parser": { - "optional": true - }, - "google-auth-library": { - "optional": true - }, - "googleapis": { - "optional": true - }, - "html-to-text": { - "optional": true - }, - "ignore": { - "optional": true - }, - "ioredis": { - "optional": true - }, - "jsdom": { - "optional": true - }, - "mammoth": { - "optional": true - }, - "mongodb": { - "optional": true - }, - "node-llama-cpp": { - "optional": true - }, - "notion-to-md": { - "optional": true - }, - "officeparser": { - "optional": true - }, - "pdf-parse": { + "handlebars": { "optional": true }, "peggy": { "optional": true }, - "playwright": { - "optional": true - }, - "puppeteer": { - "optional": true - }, - "pyodide": { - "optional": true - }, - "redis": { - "optional": true - }, - "sonix-speech-recognition": { - "optional": true - }, - "srt-parser-2": { - "optional": true - }, "typeorm": { "optional": true - }, - "vectordb": { - "optional": true - }, - "weaviate-ts-client": { - "optional": true - }, - "web-auth-library": { - "optional": true - }, - "ws": { - "optional": true - }, - "youtube-transcript": { - "optional": true - }, - "youtubei.js": { - "optional": true } } }, - "node_modules/langchain/node_modules/@anthropic-ai/sdk": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.9.1.tgz", - "integrity": "sha512-wa1meQ2WSfoY8Uor3EdrJq0jTiZJoKoSii2ZVWRY1oN4Tlr5s59pADg9T79FTbPe1/se5c3pBeZgJL63wmuoBA==", - "dependencies": { - "@types/node": "^18.11.18", - "@types/node-fetch": "^2.6.4", - "abort-controller": "^3.0.0", - "agentkeepalive": "^4.2.1", - "digest-fetch": "^1.3.0", - "form-data-encoder": "1.7.2", - "formdata-node": "^4.3.2", - "node-fetch": "^2.6.7", - "web-streams-polyfill": "^3.2.1" + "node_modules/langchain/node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/langchain/node_modules/@types/node": { - "version": "18.19.46", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.46.tgz", - "integrity": "sha512-vnRgMS7W6cKa1/0G3/DTtQYpVrZ8c0Xm6UkLaVFrb9jtcVC3okokW09Ki1Qdrj9ISokszD69nY4WDLRlvHlhAA==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/langchainhub": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/langchainhub/-/langchainhub-0.0.6.tgz", - "integrity": "sha512-SW6105T+YP1cTe0yMf//7kyshCgvCTyFBMTgH2H3s9rTAR4e+78DA/BBrUL/Mt4Q5eMWui7iGuAYb3pgGsdQ9w==" - }, "node_modules/langsmith": { - "version": "0.0.53", - "resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.0.53.tgz", - "integrity": "sha512-w2Rgx4ixE+wuItFVKGnc+Wmzj91RevMd7sev9BHWC8VFztDPuyrNZQD55QpxphM6JLb9hF9osxvAiYDGtDZbuQ==", + "version": "0.1.61", + "resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.1.61.tgz", + "integrity": "sha512-XQE4KPScwPmdaT0mWDzhNxj9gvqXUR+C7urLA0QFi27XeoQdm17eYpudenn4wxC0gIyUJutQCyuYJpfwlT5JnQ==", "dependencies": { - "@types/uuid": "^9.0.1", + "@types/uuid": "^10.0.0", "commander": "^10.0.1", "p-queue": "^6.6.2", "p-retry": "4", - "uuid": "^9.0.0" + "semver": "^7.6.3", + "uuid": "^10.0.0" }, - "bin": { - "langsmith": "dist/cli/main.cjs" + "peerDependencies": { + "openai": "*" + }, + "peerDependenciesMeta": { + "openai": { + "optional": true + } } }, "node_modules/langsmith/node_modules/commander": { @@ -11330,6 +11200,18 @@ "node": ">=14" } }, + "node_modules/langsmith/node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -11949,21 +11831,6 @@ "node": ">=10" } }, - "node_modules/md5": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", - "dependencies": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" - } - }, - "node_modules/md5/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, "node_modules/mdast-util-from-markdown": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz", @@ -12764,46 +12631,6 @@ "node": "*" } }, - "node_modules/ml-array-mean": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/ml-array-mean/-/ml-array-mean-1.1.6.tgz", - "integrity": "sha512-MIdf7Zc8HznwIisyiJGRH9tRigg3Yf4FldW8DxKxpCCv/g5CafTw0RRu51nojVEOXuCQC7DRVVu5c7XXO/5joQ==", - "dependencies": { - "ml-array-sum": "^1.1.6" - } - }, - "node_modules/ml-array-sum": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/ml-array-sum/-/ml-array-sum-1.1.6.tgz", - "integrity": "sha512-29mAh2GwH7ZmiRnup4UyibQZB9+ZLyMShvt4cH4eTK+cL2oEMIZFnSyB3SS8MlsTh6q/w/yh48KmqLxmovN4Dw==", - "dependencies": { - "is-any-array": "^2.0.0" - } - }, - "node_modules/ml-distance": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ml-distance/-/ml-distance-4.0.0.tgz", - "integrity": "sha512-zj7+UGZpHk3uL7n79XTfGNUjIGnhLn8xVvrxYvBHvXFxo3jq1q+/UjP311hZxnLVhbxbXCjUniThX8gozjacYA==", - "dependencies": { - "ml-array-mean": "^1.1.6", - "ml-distance-euclidean": "^2.0.0", - "ml-tree-similarity": "^1.0.0" - } - }, - "node_modules/ml-distance-euclidean": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ml-distance-euclidean/-/ml-distance-euclidean-2.0.0.tgz", - "integrity": "sha512-yC9/2o8QF0A3m/0IXqCTXCzz2pNEzvmcE/9HFKOZGnTjatvBbsn4lWYJkxENkA4Ug2fnYl7PXQxnPi21sgMy/Q==" - }, - "node_modules/ml-tree-similarity": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ml-tree-similarity/-/ml-tree-similarity-1.0.0.tgz", - "integrity": "sha512-XJUyYqjSuUQkNQHMscr6tcjldsOoAekxADTplt40QKfwW6nd++1wHWV9AArl0Zvw/TIHgNaZZNvr8QGvE8wLRg==", - "dependencies": { - "binary-search": "^1.3.5", - "num-sort": "^2.0.0" - } - }, "node_modules/mlly": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", @@ -13066,17 +12893,6 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/num-sort": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/num-sort/-/num-sort-2.1.0.tgz", - "integrity": "sha512-1MQz1Ed8z2yckoBeSfkQHHO9K1yDRxxtotKSJ9yvcTUUxSvfvzEq5GwBrjjHEpMlq/k5gvXdmJ1SbYxWtpNoVg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/nwsapi": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.4.tgz", @@ -13160,7 +12976,7 @@ "version": "0.5.8", "resolved": "https://registry.npmjs.org/ollama/-/ollama-0.5.8.tgz", "integrity": "sha512-frBGdfSV34i7JybLZUeyCYDx0CMyDiG4On8xOK+cNRWM04HImhoWgIMpF4p7vTkQumadbSxOteR7SZyKqNmOXg==", - "dev": true, + "devOptional": true, "dependencies": { "whatwg-fetch": "^3.6.20" } @@ -13206,9 +13022,9 @@ "integrity": "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==" }, "node_modules/openai": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/openai/-/openai-4.43.0.tgz", - "integrity": "sha512-4SMUB/XiqnO5IrEcdzEGGTcHoeXq7D/k82v36zoqSitrMUjenZXGH5JysIH7aF7Wr+gjvq0dT2mV6wLVKA7Seg==", + "version": "4.65.0", + "resolved": "https://registry.npmjs.org/openai/-/openai-4.65.0.tgz", + "integrity": "sha512-LfA4KUBpH/8rA3vjCQ74LZtdK/8wx9W6Qxq8MHqEdImPsN1XPQ2ompIuJWkKS6kXt5Cs5i8Eb65IIo4M7U+yeQ==", "dependencies": { "@types/node": "^18.11.18", "@types/node-fetch": "^2.6.4", @@ -13216,11 +13032,18 @@ "agentkeepalive": "^4.2.1", "form-data-encoder": "1.7.2", "formdata-node": "^4.3.2", - "node-fetch": "^2.6.7", - "web-streams-polyfill": "^3.2.1" + "node-fetch": "^2.6.7" }, "bin": { "openai": "bin/cli" + }, + "peerDependencies": { + "zod": "^3.23.8" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } } }, "node_modules/openai/node_modules/@types/node": { @@ -14363,7 +14186,6 @@ "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, "bin": { "semver": "bin/semver.js" }, @@ -15416,7 +15238,7 @@ "version": "3.6.20", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", - "dev": true + "devOptional": true }, "node_modules/whatwg-mimetype": { "version": "3.0.0", @@ -15687,11 +15509,11 @@ } }, "node_modules/zod-to-json-schema": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.20.3.tgz", - "integrity": "sha512-/Q3wnyxAfCt94ZcrGiXXoiAfRqasxl9CX64LZ9fj+4dKH68zulUtU0uk1WMxQPfAxQ0ZI70dKzcoW7hHj+DwSQ==", + "version": "3.23.3", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.3.tgz", + "integrity": "sha512-TYWChTxKQbRJp5ST22o/Irt9KC5nj7CdBKYB/AosCRdj/wxEMvv4NNaj9XVUHDOIp53ZxArGhnw5HMZziPFjog==", "peerDependencies": { - "zod": "^3.20.0" + "zod": "^3.23.3" } }, "node_modules/zwitch": { diff --git a/package.json b/package.json index c1ffa4ce..9d4b2aa8 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "license": "AGPL-3.0", "devDependencies": { - "@langchain/ollama": "^0.0.4", + "@langchain/ollama": "^0.1.0", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^14.0.0", "@types/crypto-js": "^4.1.1", @@ -63,11 +63,12 @@ "@esbuild-plugins/node-globals-polyfill": "^0.2.3", "@huggingface/inference": "^2.6.4", "@koa/cors": "^5.0.0", - "@langchain/anthropic": "^0.1.21", - "@langchain/cohere": "^0.0.11", - "@langchain/community": "^0.0.16", - "@langchain/google-genai": "^0.0.7", - "@langchain/groq": "^0.0.9", + "@langchain/anthropic": "^0.3.3", + "@langchain/cohere": "^0.3.0", + "@langchain/community": "^0.3.3", + "@langchain/core": "^0.3.3", + "@langchain/google-genai": "^0.1.0", + "@langchain/groq": "^0.1.2", "@tabler/icons-react": "^2.14.0", "@types/pouchdb": "^6.4.0", "axios": "^1.3.4", @@ -78,7 +79,7 @@ "eventsource-parser": "^1.0.0", "koa": "^2.14.2", "koa-proxies": "^0.12.3", - "langchain": "^0.0.212", + "langchain": "^0.3.2", "next-i18next": "^13.2.2", "pouchdb-browser": "^9.0.0", "prop-types": "^15.8.1", diff --git a/src/LLMProviders/chainManager.ts b/src/LLMProviders/chainManager.ts index 66358840..dbe93153 100644 --- a/src/LLMProviders/chainManager.ts +++ b/src/LLMProviders/chainManager.ts @@ -18,7 +18,7 @@ import { ChatPromptTemplate, HumanMessagePromptTemplate, MessagesPlaceholder, -} from "langchain/prompts"; +} from "@langchain/core/prompts"; import { MultiQueryRetriever } from "langchain/retrievers/multi_query"; import { MemoryVectorStore } from "langchain/vectorstores/memory"; import { App, Notice } from "obsidian"; diff --git a/src/LLMProviders/chatModelManager.ts b/src/LLMProviders/chatModelManager.ts index 89940671..f0f3dc37 100644 --- a/src/LLMProviders/chatModelManager.ts +++ b/src/LLMProviders/chatModelManager.ts @@ -6,8 +6,8 @@ import { ChatCohere } from "@langchain/cohere"; import { ChatGoogleGenerativeAI } from "@langchain/google-genai"; import { ChatGroq } from "@langchain/groq"; import { ChatOllama } from "@langchain/ollama"; -import { BaseChatModel } from "langchain/chat_models/base"; -import { ChatOpenAI } from "langchain/chat_models/openai"; +import { BaseChatModel } from "@langchain/core/language_models/chat_models"; +import { ChatOpenAI } from "@langchain/openai"; import { Notice } from "obsidian"; export default class ChatModelManager { diff --git a/src/LLMProviders/embeddingManager.ts b/src/LLMProviders/embeddingManager.ts index ebdaca11..7117ba7f 100644 --- a/src/LLMProviders/embeddingManager.ts +++ b/src/LLMProviders/embeddingManager.ts @@ -4,9 +4,10 @@ import { EmbeddingModelProviders } from "@/constants"; import EncryptionService from "@/encryptionService"; import { ProxyOpenAIEmbeddings } from "@/langchainWrappers"; import { CohereEmbeddings } from "@langchain/cohere"; -import { Embeddings } from "langchain/embeddings/base"; -import { OllamaEmbeddings } from "langchain/embeddings/ollama"; -import { OpenAIEmbeddings } from "langchain/embeddings/openai"; +import { GoogleGenerativeAIEmbeddings } from "@langchain/google-genai"; +import { Embeddings } from "@langchain/core/embeddings"; +import { OllamaEmbeddings } from "@langchain/community/embeddings/ollama"; +import { OpenAIEmbeddings } from "@langchain/openai"; export default class EmbeddingManager { private encryptionService: EncryptionService; private activeEmbeddingModels: CustomModel[]; @@ -66,6 +67,10 @@ export default class EmbeddingManager { constructor = CohereEmbeddings; apiKey = params.cohereApiKey; break; + case EmbeddingModelProviders.GOOGLE: + constructor = GoogleGenerativeAIEmbeddings; + apiKey = params.googleApiKey; + break; case EmbeddingModelProviders.AZURE_OPENAI: constructor = OpenAIEmbeddings; apiKey = params.azureOpenAIApiKey; @@ -158,6 +163,10 @@ export default class EmbeddingManager { model: modelName, apiKey: decrypt(params.cohereApiKey), }, + [EmbeddingModelProviders.GOOGLE]: { + modelName: modelName, + apiKey: decrypt(params.googleApiKey), + }, [EmbeddingModelProviders.AZURE_OPENAI]: { azureOpenAIApiKey: decrypt(params.azureOpenAIApiKey), azureOpenAIApiInstanceName: params.azureOpenAIApiInstanceName, diff --git a/src/LLMProviders/promptManager.ts b/src/LLMProviders/promptManager.ts index 3ee9e421..c508d63f 100644 --- a/src/LLMProviders/promptManager.ts +++ b/src/LLMProviders/promptManager.ts @@ -4,7 +4,7 @@ import { HumanMessagePromptTemplate, MessagesPlaceholder, SystemMessagePromptTemplate, -} from "langchain/prompts"; +} from "@langchain/core/prompts"; export default class PromptManager { private static instance: PromptManager; diff --git a/src/aiParams.ts b/src/aiParams.ts index 48ed4d9d..93265241 100644 --- a/src/aiParams.ts +++ b/src/aiParams.ts @@ -1,5 +1,5 @@ import { ChainType } from "@/chainFactory"; -import { ChatPromptTemplate } from "langchain/prompts"; +import { ChatPromptTemplate } from "@langchain/core/prompts"; import { NoteFile } from "./vectorDBManager"; export interface ModelConfig { diff --git a/src/chainFactory.ts b/src/chainFactory.ts index 7e46997f..43e83082 100644 --- a/src/chainFactory.ts +++ b/src/chainFactory.ts @@ -1,9 +1,9 @@ import { StringOutputParser } from "@langchain/core/output_parsers"; import { BaseRetriever } from "@langchain/core/retrievers"; import { RunnablePassthrough, RunnableSequence } from "@langchain/core/runnables"; -import { BaseLanguageModel } from "langchain/base_language"; +import { BaseLanguageModel } from "@langchain/core/language_models/base"; import { BaseChatMemory } from "langchain/memory"; -import { ChatPromptTemplate, PromptTemplate } from "langchain/prompts"; +import { ChatPromptTemplate, PromptTemplate } from "@langchain/core/prompts"; import { formatDocumentsAsString } from "langchain/util/document"; export interface LLMChainInput { diff --git a/src/constants.ts b/src/constants.ts index 24032a74..6ce8305d 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -102,6 +102,7 @@ export const BUILTIN_CHAT_MODELS: CustomModel[] = [ export enum EmbeddingModelProviders { OPENAI = "openai", COHEREAI = "cohereai", + GOOGLE = "google", AZURE_OPENAI = "azure_openai", OLLAMA = "ollama", OPENAI_FORMAT = "3rd party (openai-format)", @@ -115,6 +116,7 @@ export enum EmbeddingModels { OPENAI_EMBEDDING_LARGE = "text-embedding-3-large", AZURE_OPENAI = "azure-openai", COHEREAI_EMBED_MULTILINGUAL_LIGHT_V3_0 = "embed-multilingual-light-v3.0", + GOOGLE_ENG = "text-embedding-004", } export const BUILTIN_EMBEDDING_MODELS: CustomModel[] = [ @@ -140,6 +142,13 @@ export const BUILTIN_EMBEDDING_MODELS: CustomModel[] = [ isBuiltIn: true, isEmbeddingModel: true, }, + { + name: EmbeddingModels.GOOGLE_ENG, + provider: EmbeddingModelProviders.GOOGLE, + enabled: true, + isBuiltIn: true, + isEmbeddingModel: true, + }, { name: EmbeddingModels.AZURE_OPENAI, provider: EmbeddingModelProviders.AZURE_OPENAI, diff --git a/src/langchainWrappers.ts b/src/langchainWrappers.ts index d517d4c4..4674d3e7 100644 --- a/src/langchainWrappers.ts +++ b/src/langchainWrappers.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { AnthropicInput, ChatAnthropic } from "@langchain/anthropic"; -import { ChatOpenAI } from "langchain/chat_models/openai"; -import { OpenAIEmbeddings } from "langchain/embeddings/openai"; +import { ChatOpenAI } from "@langchain/openai"; +import { OpenAIEmbeddings } from "@langchain/openai"; import { requestUrl } from "obsidian"; import OpenAI from "openai"; diff --git a/src/vectorDBManager.ts b/src/vectorDBManager.ts index 1a2e0259..e738375a 100644 --- a/src/vectorDBManager.ts +++ b/src/vectorDBManager.ts @@ -1,6 +1,6 @@ import { MD5 } from "crypto-js"; import { Document } from "langchain/document"; -import { Embeddings } from "langchain/embeddings/base"; +import { Embeddings } from "@langchain/core/embeddings"; import { RecursiveCharacterTextSplitter } from "langchain/text_splitter"; import { MemoryVectorStore } from "langchain/vectorstores/memory"; import EmbeddingManager from "./LLMProviders/embeddingManager";