langchain 0.0.131 → 0.0.132
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/agent.cjs +23 -0
- package/dist/agents/agent.d.ts +28 -0
- package/dist/agents/agent.js +23 -0
- package/dist/agents/chat/index.cjs +25 -0
- package/dist/agents/chat/index.d.ts +32 -0
- package/dist/agents/chat/index.js +25 -0
- package/dist/agents/chat/outputParser.cjs +19 -0
- package/dist/agents/chat/outputParser.d.ts +19 -0
- package/dist/agents/chat/outputParser.js +19 -0
- package/dist/agents/chat_convo/index.cjs +22 -0
- package/dist/agents/chat_convo/index.d.ts +31 -0
- package/dist/agents/chat_convo/index.js +22 -0
- package/dist/agents/chat_convo/outputParser.cjs +42 -0
- package/dist/agents/chat_convo/outputParser.d.ts +42 -0
- package/dist/agents/chat_convo/outputParser.js +42 -0
- package/dist/agents/executor.cjs +6 -0
- package/dist/agents/executor.d.ts +11 -0
- package/dist/agents/executor.js +6 -0
- package/dist/agents/initialize.d.ts +5 -0
- package/dist/agents/mrkl/index.cjs +17 -0
- package/dist/agents/mrkl/index.d.ts +24 -0
- package/dist/agents/mrkl/index.js +17 -0
- package/dist/agents/mrkl/outputParser.cjs +15 -0
- package/dist/agents/mrkl/outputParser.d.ts +15 -0
- package/dist/agents/mrkl/outputParser.js +15 -0
- package/dist/agents/openai/index.cjs +43 -0
- package/dist/agents/openai/index.d.ts +39 -0
- package/dist/agents/openai/index.js +43 -0
- package/dist/agents/structured_chat/index.cjs +32 -0
- package/dist/agents/structured_chat/index.d.ts +40 -0
- package/dist/agents/structured_chat/index.js +32 -0
- package/dist/agents/structured_chat/outputParser.cjs +44 -0
- package/dist/agents/structured_chat/outputParser.d.ts +48 -0
- package/dist/agents/structured_chat/outputParser.js +44 -0
- package/dist/agents/toolkits/aws_sfn.cjs +5 -0
- package/dist/agents/toolkits/aws_sfn.d.ts +9 -0
- package/dist/agents/toolkits/aws_sfn.js +5 -0
- package/dist/agents/toolkits/base.cjs +5 -0
- package/dist/agents/toolkits/base.d.ts +5 -0
- package/dist/agents/toolkits/base.js +5 -0
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs +10 -0
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.ts +10 -0
- package/dist/agents/toolkits/conversational_retrieval/openai_functions.js +10 -0
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs +17 -0
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts +21 -0
- package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.js +17 -0
- package/dist/agents/toolkits/json/json.cjs +15 -0
- package/dist/agents/toolkits/json/json.d.ts +15 -0
- package/dist/agents/toolkits/json/json.js +15 -0
- package/dist/agents/toolkits/openapi/openapi.cjs +21 -0
- package/dist/agents/toolkits/openapi/openapi.d.ts +21 -0
- package/dist/agents/toolkits/openapi/openapi.js +21 -0
- package/dist/agents/toolkits/sql/sql.cjs +4 -0
- package/dist/agents/toolkits/sql/sql.d.ts +8 -0
- package/dist/agents/toolkits/sql/sql.js +4 -0
- package/dist/agents/toolkits/vectorstore/vectorstore.cjs +10 -0
- package/dist/agents/toolkits/vectorstore/vectorstore.d.ts +14 -0
- package/dist/agents/toolkits/vectorstore/vectorstore.js +10 -0
- package/dist/agents/toolkits/zapier/zapier.cjs +12 -0
- package/dist/agents/toolkits/zapier/zapier.d.ts +12 -0
- package/dist/agents/toolkits/zapier/zapier.js +12 -0
- package/dist/agents/types.cjs +5 -0
- package/dist/agents/types.d.ts +28 -0
- package/dist/agents/types.js +5 -0
- package/dist/cache/index.cjs +21 -0
- package/dist/cache/index.d.ts +21 -0
- package/dist/cache/index.js +21 -0
- package/dist/cache/ioredis.cjs +16 -0
- package/dist/cache/ioredis.d.ts +16 -0
- package/dist/cache/ioredis.js +16 -0
- package/dist/cache/redis.cjs +21 -0
- package/dist/cache/redis.d.ts +25 -0
- package/dist/cache/redis.js +21 -0
- package/dist/callbacks/base.cjs +11 -0
- package/dist/callbacks/base.d.ts +20 -0
- package/dist/callbacks/base.js +11 -0
- package/dist/callbacks/handlers/console.cjs +87 -0
- package/dist/callbacks/handlers/console.d.ts +87 -0
- package/dist/callbacks/handlers/console.js +87 -0
- package/dist/callbacks/handlers/initialize.cjs +12 -0
- package/dist/callbacks/handlers/initialize.d.ts +12 -0
- package/dist/callbacks/handlers/initialize.js +12 -0
- package/dist/callbacks/manager.cjs +9 -0
- package/dist/callbacks/manager.d.ts +9 -0
- package/dist/callbacks/manager.js +9 -0
- package/dist/callbacks/promises.cjs +9 -0
- package/dist/callbacks/promises.d.ts +4 -0
- package/dist/callbacks/promises.js +9 -0
- package/dist/chains/analyze_documents_chain.d.ts +4 -0
- package/dist/chains/api/api_chain.cjs +12 -0
- package/dist/chains/api/api_chain.d.ts +19 -0
- package/dist/chains/api/api_chain.js +12 -0
- package/dist/chains/base.cjs +6 -0
- package/dist/chains/base.d.ts +6 -0
- package/dist/chains/base.js +6 -0
- package/dist/chains/chat_vector_db_chain.cjs +8 -0
- package/dist/chains/chat_vector_db_chain.d.ts +11 -0
- package/dist/chains/chat_vector_db_chain.js +8 -0
- package/dist/chains/combine_docs_chain.d.ts +10 -0
- package/dist/chains/constitutional_ai/constitutional_chain.cjs +17 -0
- package/dist/chains/constitutional_ai/constitutional_chain.d.ts +20 -0
- package/dist/chains/constitutional_ai/constitutional_chain.js +17 -0
- package/dist/chains/constitutional_ai/constitutional_principle.cjs +4 -0
- package/dist/chains/constitutional_ai/constitutional_principle.d.ts +4 -0
- package/dist/chains/constitutional_ai/constitutional_principle.js +4 -0
- package/dist/chains/conversation.cjs +4 -0
- package/dist/chains/conversation.d.ts +4 -0
- package/dist/chains/conversation.js +4 -0
- package/dist/chains/conversational_retrieval_chain.cjs +21 -0
- package/dist/chains/conversational_retrieval_chain.d.ts +26 -1
- package/dist/chains/conversational_retrieval_chain.js +21 -0
- package/dist/chains/llm_chain.d.ts +3 -0
- package/dist/chains/openai_functions/extraction.cjs +21 -0
- package/dist/chains/openai_functions/extraction.d.ts +15 -0
- package/dist/chains/openai_functions/extraction.js +21 -0
- package/dist/chains/openai_functions/openapi.cjs +27 -0
- package/dist/chains/openai_functions/openapi.d.ts +3 -0
- package/dist/chains/openai_functions/openapi.js +27 -0
- package/dist/chains/openai_functions/structured_output.cjs +12 -0
- package/dist/chains/openai_functions/structured_output.d.ts +18 -0
- package/dist/chains/openai_functions/structured_output.js +12 -0
- package/dist/chains/openai_functions/tagging.cjs +24 -0
- package/dist/chains/openai_functions/tagging.d.ts +21 -0
- package/dist/chains/openai_functions/tagging.js +24 -0
- package/dist/chains/openai_moderation.cjs +5 -0
- package/dist/chains/openai_moderation.d.ts +8 -0
- package/dist/chains/openai_moderation.js +5 -0
- package/dist/chains/query_constructor/index.cjs +17 -0
- package/dist/chains/query_constructor/index.d.ts +20 -0
- package/dist/chains/query_constructor/index.js +17 -0
- package/dist/chains/query_constructor/ir.cjs +24 -0
- package/dist/chains/query_constructor/ir.d.ts +71 -0
- package/dist/chains/query_constructor/ir.js +24 -0
- package/dist/chains/query_constructor/parser.cjs +21 -0
- package/dist/chains/query_constructor/parser.d.ts +25 -0
- package/dist/chains/query_constructor/parser.js +21 -0
- package/dist/chains/question_answering/load.cjs +21 -0
- package/dist/chains/question_answering/load.d.ts +34 -0
- package/dist/chains/question_answering/load.js +21 -0
- package/dist/chains/retrieval_qa.cjs +12 -0
- package/dist/chains/retrieval_qa.d.ts +15 -0
- package/dist/chains/retrieval_qa.js +12 -0
- package/dist/chains/router/llm_router.cjs +16 -0
- package/dist/chains/router/llm_router.d.ts +24 -0
- package/dist/chains/router/llm_router.js +16 -0
- package/dist/chains/router/multi_prompt.cjs +19 -0
- package/dist/chains/router/multi_prompt.d.ts +19 -0
- package/dist/chains/router/multi_prompt.js +19 -0
- package/dist/chains/router/multi_retrieval_qa.cjs +22 -0
- package/dist/chains/router/multi_retrieval_qa.d.ts +27 -0
- package/dist/chains/router/multi_retrieval_qa.js +22 -0
- package/dist/chains/router/multi_route.cjs +10 -0
- package/dist/chains/router/multi_route.d.ts +25 -0
- package/dist/chains/router/multi_route.js +10 -0
- package/dist/chains/sequential_chain.d.ts +6 -0
- package/dist/chains/serde.d.ts +58 -0
- package/dist/chains/sql_db/sql_db_chain.cjs +13 -0
- package/dist/chains/sql_db/sql_db_chain.d.ts +18 -0
- package/dist/chains/sql_db/sql_db_chain.js +13 -0
- package/dist/chains/summarization/load.d.ts +4 -0
- package/dist/chains/transform.cjs +6 -0
- package/dist/chains/transform.d.ts +11 -0
- package/dist/chains/transform.js +6 -0
- package/dist/chains/vector_db_qa.cjs +15 -0
- package/dist/chains/vector_db_qa.d.ts +21 -0
- package/dist/chains/vector_db_qa.js +15 -0
- package/dist/chat_models/anthropic.cjs +24 -4
- package/dist/chat_models/anthropic.d.ts +14 -0
- package/dist/chat_models/anthropic.js +24 -4
- package/dist/chat_models/baiduwenxin.cjs +16 -0
- package/dist/chat_models/baiduwenxin.d.ts +18 -0
- package/dist/chat_models/baiduwenxin.js +16 -0
- package/dist/chat_models/base.cjs +61 -0
- package/dist/chat_models/base.d.ts +73 -0
- package/dist/chat_models/base.js +61 -0
- package/dist/chat_models/googlepalm.cjs +3 -0
- package/dist/chat_models/googlepalm.d.ts +6 -0
- package/dist/chat_models/googlepalm.js +3 -0
- package/dist/chat_models/googlevertexai.cjs +32 -0
- package/dist/chat_models/googlevertexai.d.ts +49 -0
- package/dist/chat_models/googlevertexai.js +32 -0
- package/dist/chat_models/ollama.cjs +11 -0
- package/dist/chat_models/ollama.d.ts +15 -0
- package/dist/chat_models/ollama.js +11 -0
- package/dist/document_loaders/base.cjs +10 -0
- package/dist/document_loaders/base.d.ts +17 -0
- package/dist/document_loaders/base.js +10 -0
- package/dist/document_loaders/fs/buffer.cjs +21 -0
- package/dist/document_loaders/fs/buffer.d.ts +28 -0
- package/dist/document_loaders/fs/buffer.js +21 -0
- package/dist/document_loaders/fs/csv.cjs +19 -0
- package/dist/document_loaders/fs/csv.d.ts +19 -0
- package/dist/document_loaders/fs/csv.js +19 -0
- package/dist/document_loaders/fs/directory.cjs +21 -0
- package/dist/document_loaders/fs/directory.d.ts +29 -0
- package/dist/document_loaders/fs/directory.js +21 -0
- package/dist/document_loaders/fs/docx.cjs +16 -0
- package/dist/document_loaders/fs/docx.d.ts +16 -0
- package/dist/document_loaders/fs/docx.js +16 -0
- package/dist/document_loaders/fs/epub.cjs +16 -0
- package/dist/document_loaders/fs/epub.d.ts +16 -0
- package/dist/document_loaders/fs/epub.js +16 -0
- package/dist/document_loaders/fs/json.cjs +40 -0
- package/dist/document_loaders/fs/json.d.ts +40 -0
- package/dist/document_loaders/fs/json.js +40 -0
- package/dist/document_loaders/fs/notion.cjs +6 -0
- package/dist/document_loaders/fs/notion.d.ts +6 -0
- package/dist/document_loaders/fs/notion.js +6 -0
- package/dist/document_loaders/fs/pdf.cjs +21 -0
- package/dist/document_loaders/fs/pdf.d.ts +21 -0
- package/dist/document_loaders/fs/pdf.js +21 -0
- package/dist/document_loaders/fs/srt.cjs +19 -0
- package/dist/document_loaders/fs/srt.d.ts +19 -0
- package/dist/document_loaders/fs/srt.js +19 -0
- package/dist/document_loaders/fs/text.cjs +34 -0
- package/dist/document_loaders/fs/text.d.ts +34 -0
- package/dist/document_loaders/fs/text.js +34 -0
- package/dist/document_loaders/fs/unstructured.cjs +14 -0
- package/dist/document_loaders/fs/unstructured.d.ts +26 -0
- package/dist/document_loaders/fs/unstructured.js +14 -0
- package/dist/document_loaders/web/apify_dataset.cjs +11 -0
- package/dist/document_loaders/web/apify_dataset.d.ts +15 -0
- package/dist/document_loaders/web/apify_dataset.js +11 -0
- package/dist/document_loaders/web/azure_blob_storage_container.cjs +13 -0
- package/dist/document_loaders/web/azure_blob_storage_container.d.ts +26 -0
- package/dist/document_loaders/web/azure_blob_storage_container.js +13 -0
- package/dist/document_loaders/web/azure_blob_storage_file.cjs +12 -0
- package/dist/document_loaders/web/azure_blob_storage_file.d.ts +21 -0
- package/dist/document_loaders/web/azure_blob_storage_file.js +12 -0
- package/dist/document_loaders/web/cheerio.cjs +21 -0
- package/dist/document_loaders/web/cheerio.d.ts +26 -0
- package/dist/document_loaders/web/cheerio.js +21 -0
- package/dist/document_loaders/web/college_confidential.cjs +11 -0
- package/dist/document_loaders/web/college_confidential.d.ts +11 -0
- package/dist/document_loaders/web/college_confidential.js +11 -0
- package/dist/document_loaders/web/confluence.cjs +23 -0
- package/dist/document_loaders/web/confluence.d.ts +33 -0
- package/dist/document_loaders/web/confluence.js +23 -0
- package/dist/document_loaders/web/figma.cjs +21 -0
- package/dist/document_loaders/web/figma.d.ts +32 -0
- package/dist/document_loaders/web/figma.js +21 -0
- package/dist/document_loaders/web/gitbook.cjs +33 -0
- package/dist/document_loaders/web/gitbook.d.ts +38 -0
- package/dist/document_loaders/web/gitbook.js +33 -0
- package/dist/document_loaders/web/github.cjs +50 -0
- package/dist/document_loaders/web/github.d.ts +53 -0
- package/dist/document_loaders/web/github.js +50 -0
- package/dist/document_loaders/web/hn.cjs +31 -0
- package/dist/document_loaders/web/hn.d.ts +31 -0
- package/dist/document_loaders/web/hn.js +31 -0
- package/dist/document_loaders/web/imsdb.cjs +14 -0
- package/dist/document_loaders/web/imsdb.d.ts +14 -0
- package/dist/document_loaders/web/imsdb.js +14 -0
- package/dist/document_loaders/web/notionapi.cjs +39 -0
- package/dist/document_loaders/web/notionapi.d.ts +43 -0
- package/dist/document_loaders/web/notionapi.js +39 -0
- package/dist/document_loaders/web/notiondb.cjs +19 -0
- package/dist/document_loaders/web/notiondb.d.ts +24 -0
- package/dist/document_loaders/web/notiondb.js +19 -0
- package/dist/document_loaders/web/playwright.cjs +22 -0
- package/dist/document_loaders/web/playwright.d.ts +27 -0
- package/dist/document_loaders/web/playwright.js +22 -0
- package/dist/document_loaders/web/puppeteer.cjs +20 -0
- package/dist/document_loaders/web/puppeteer.d.ts +25 -0
- package/dist/document_loaders/web/puppeteer.js +20 -0
- package/dist/document_loaders/web/s3.cjs +9 -0
- package/dist/document_loaders/web/s3.d.ts +21 -0
- package/dist/document_loaders/web/s3.js +9 -0
- package/dist/document_loaders/web/serpapi.cjs +4 -0
- package/dist/document_loaders/web/serpapi.d.ts +8 -0
- package/dist/document_loaders/web/serpapi.js +4 -0
- package/dist/document_loaders/web/sonix_audio.cjs +10 -0
- package/dist/document_loaders/web/sonix_audio.d.ts +10 -0
- package/dist/document_loaders/web/sonix_audio.js +10 -0
- package/dist/document_loaders/web/sort_xyz_blockchain.cjs +10 -0
- package/dist/document_loaders/web/sort_xyz_blockchain.d.ts +17 -0
- package/dist/document_loaders/web/sort_xyz_blockchain.js +10 -0
- package/dist/document_loaders/web/youtube.cjs +23 -0
- package/dist/document_loaders/web/youtube.d.ts +27 -0
- package/dist/document_loaders/web/youtube.js +23 -0
- package/dist/document_transformers/html_to_text.cjs +3 -0
- package/dist/document_transformers/html_to_text.d.ts +3 -0
- package/dist/document_transformers/html_to_text.js +3 -0
- package/dist/document_transformers/mozilla_readability.cjs +4 -0
- package/dist/document_transformers/mozilla_readability.d.ts +4 -0
- package/dist/document_transformers/mozilla_readability.js +4 -0
- package/dist/document_transformers/openai_functions.cjs +3 -0
- package/dist/document_transformers/openai_functions.d.ts +3 -0
- package/dist/document_transformers/openai_functions.js +3 -0
- package/dist/embeddings/base.cjs +4 -0
- package/dist/embeddings/base.d.ts +21 -0
- package/dist/embeddings/base.js +4 -0
- package/dist/embeddings/cache_backed.d.ts +4 -0
- package/dist/embeddings/cohere.d.ts +4 -0
- package/dist/embeddings/fake.cjs +33 -0
- package/dist/embeddings/fake.d.ts +37 -0
- package/dist/embeddings/fake.js +33 -0
- package/dist/embeddings/googlepalm.cjs +18 -0
- package/dist/embeddings/googlepalm.d.ts +22 -0
- package/dist/embeddings/googlepalm.js +18 -0
- package/dist/embeddings/googlevertexai.cjs +15 -0
- package/dist/embeddings/googlevertexai.d.ts +20 -0
- package/dist/embeddings/googlevertexai.js +15 -0
- package/dist/embeddings/hf.cjs +20 -0
- package/dist/embeddings/hf.d.ts +24 -0
- package/dist/embeddings/hf.js +20 -0
- package/dist/embeddings/openai.cjs +25 -0
- package/dist/embeddings/openai.d.ts +29 -0
- package/dist/embeddings/openai.js +25 -0
- package/dist/embeddings/tensorflow.cjs +27 -0
- package/dist/embeddings/tensorflow.d.ts +31 -0
- package/dist/embeddings/tensorflow.js +27 -0
- package/dist/experimental/autogpt/agent.cjs +21 -0
- package/dist/experimental/autogpt/agent.d.ts +24 -0
- package/dist/experimental/autogpt/agent.js +21 -0
- package/dist/experimental/autogpt/output_parser.cjs +24 -0
- package/dist/experimental/autogpt/output_parser.d.ts +24 -0
- package/dist/experimental/autogpt/output_parser.js +24 -0
- package/dist/experimental/autogpt/prompt.cjs +25 -0
- package/dist/experimental/autogpt/prompt.d.ts +28 -0
- package/dist/experimental/autogpt/prompt.js +25 -0
- package/dist/experimental/autogpt/prompt_generator.cjs +32 -0
- package/dist/experimental/autogpt/prompt_generator.d.ts +32 -0
- package/dist/experimental/autogpt/prompt_generator.js +32 -0
- package/dist/experimental/autogpt/schema.d.ts +11 -0
- package/dist/experimental/babyagi/agent.cjs +65 -0
- package/dist/experimental/babyagi/agent.d.ts +75 -0
- package/dist/experimental/babyagi/agent.js +65 -0
- package/dist/experimental/babyagi/task_creation.cjs +10 -0
- package/dist/experimental/babyagi/task_creation.d.ts +10 -0
- package/dist/experimental/babyagi/task_creation.js +10 -0
- package/dist/experimental/babyagi/task_execution.cjs +9 -0
- package/dist/experimental/babyagi/task_execution.d.ts +9 -0
- package/dist/experimental/babyagi/task_execution.js +9 -0
- package/dist/experimental/babyagi/task_prioritization.cjs +8 -0
- package/dist/experimental/babyagi/task_prioritization.d.ts +8 -0
- package/dist/experimental/babyagi/task_prioritization.js +8 -0
- package/dist/experimental/generative_agents/generative_agent.cjs +74 -0
- package/dist/experimental/generative_agents/generative_agent.d.ts +79 -0
- package/dist/experimental/generative_agents/generative_agent.js +74 -0
- package/dist/experimental/generative_agents/generative_agent_memory.cjs +113 -0
- package/dist/experimental/generative_agents/generative_agent_memory.d.ts +113 -0
- package/dist/experimental/generative_agents/generative_agent_memory.js +113 -0
- package/dist/experimental/multimodal_embeddings/googlevertexai.cjs +46 -0
- package/dist/experimental/multimodal_embeddings/googlevertexai.d.ts +58 -0
- package/dist/experimental/multimodal_embeddings/googlevertexai.js +46 -0
- package/dist/experimental/plan_and_execute/agent_executor.cjs +32 -0
- package/dist/experimental/plan_and_execute/agent_executor.d.ts +37 -0
- package/dist/experimental/plan_and_execute/agent_executor.js +32 -0
- package/dist/experimental/plan_and_execute/base.cjs +26 -0
- package/dist/experimental/plan_and_execute/base.d.ts +38 -0
- package/dist/experimental/plan_and_execute/base.js +26 -0
- package/dist/experimental/plan_and_execute/outputParser.cjs +18 -0
- package/dist/experimental/plan_and_execute/outputParser.d.ts +18 -0
- package/dist/experimental/plan_and_execute/outputParser.js +18 -0
- package/dist/llms/ai21.cjs +13 -0
- package/dist/llms/ai21.d.ts +19 -0
- package/dist/llms/ai21.js +13 -0
- package/dist/llms/aleph_alpha.cjs +10 -0
- package/dist/llms/aleph_alpha.d.ts +13 -0
- package/dist/llms/aleph_alpha.js +10 -0
- package/dist/llms/base.cjs +32 -0
- package/dist/llms/base.d.ts +32 -0
- package/dist/llms/base.js +32 -0
- package/dist/llms/bedrock.cjs +21 -0
- package/dist/llms/bedrock.d.ts +9 -0
- package/dist/llms/bedrock.js +21 -0
- package/dist/llms/cohere.cjs +4 -0
- package/dist/llms/cohere.d.ts +7 -0
- package/dist/llms/cohere.js +4 -0
- package/dist/llms/googlevertexai.cjs +23 -0
- package/dist/llms/googlevertexai.d.ts +38 -0
- package/dist/llms/googlevertexai.js +23 -0
- package/dist/llms/hf.cjs +4 -0
- package/dist/llms/hf.d.ts +8 -0
- package/dist/llms/hf.js +4 -0
- package/dist/llms/ollama.cjs +4 -0
- package/dist/llms/ollama.d.ts +4 -0
- package/dist/llms/ollama.js +4 -0
- package/dist/llms/openai-chat.cjs +17 -0
- package/dist/llms/openai-chat.d.ts +22 -0
- package/dist/llms/openai-chat.js +17 -0
- package/dist/llms/openai.cjs +6 -0
- package/dist/llms/openai.d.ts +6 -0
- package/dist/llms/openai.js +6 -0
- package/dist/llms/replicate.cjs +6 -0
- package/dist/llms/replicate.d.ts +11 -0
- package/dist/llms/replicate.js +6 -0
- package/dist/llms/sagemaker_endpoint.cjs +11 -0
- package/dist/llms/sagemaker_endpoint.d.ts +17 -0
- package/dist/llms/sagemaker_endpoint.js +11 -0
- package/dist/memory/base.cjs +11 -0
- package/dist/memory/base.d.ts +40 -0
- package/dist/memory/base.js +11 -0
- package/dist/memory/buffer_memory.cjs +19 -0
- package/dist/memory/buffer_memory.d.ts +22 -0
- package/dist/memory/buffer_memory.js +19 -0
- package/dist/memory/buffer_window_memory.cjs +15 -0
- package/dist/memory/buffer_window_memory.d.ts +18 -0
- package/dist/memory/buffer_window_memory.js +15 -0
- package/dist/memory/chat_memory.cjs +16 -0
- package/dist/memory/chat_memory.d.ts +19 -0
- package/dist/memory/chat_memory.js +16 -0
- package/dist/memory/combined_memory.cjs +28 -0
- package/dist/memory/combined_memory.d.ts +33 -0
- package/dist/memory/combined_memory.js +28 -0
- package/dist/memory/entity_memory.cjs +21 -0
- package/dist/memory/entity_memory.d.ts +24 -0
- package/dist/memory/entity_memory.js +21 -0
- package/dist/memory/motorhead_memory.cjs +25 -0
- package/dist/memory/motorhead_memory.d.ts +29 -0
- package/dist/memory/motorhead_memory.js +25 -0
- package/dist/memory/stores/entity/in_memory.cjs +29 -0
- package/dist/memory/stores/entity/in_memory.d.ts +29 -0
- package/dist/memory/stores/entity/in_memory.js +29 -0
- package/dist/memory/summary.cjs +31 -0
- package/dist/memory/summary.d.ts +39 -0
- package/dist/memory/summary.js +31 -0
- package/dist/memory/summary_buffer.cjs +33 -0
- package/dist/memory/summary_buffer.d.ts +37 -0
- package/dist/memory/summary_buffer.js +33 -0
- package/dist/memory/vector_store.cjs +22 -0
- package/dist/memory/vector_store.d.ts +26 -0
- package/dist/memory/vector_store.js +22 -0
- package/dist/memory/zep.cjs +22 -0
- package/dist/memory/zep.d.ts +27 -0
- package/dist/memory/zep.js +22 -0
- package/dist/output_parsers/combining.cjs +12 -0
- package/dist/output_parsers/combining.d.ts +18 -0
- package/dist/output_parsers/combining.js +12 -0
- package/dist/output_parsers/expression.cjs +12 -0
- package/dist/output_parsers/expression.d.ts +12 -0
- package/dist/output_parsers/expression.js +12 -0
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs +18 -0
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.d.ts +18 -0
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js +18 -0
- package/dist/output_parsers/expression_type_handlers/base.cjs +68 -0
- package/dist/output_parsers/expression_type_handlers/base.d.ts +79 -0
- package/dist/output_parsers/expression_type_handlers/base.js +68 -0
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs +18 -0
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.d.ts +18 -0
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js +18 -0
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs +22 -0
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.d.ts +22 -0
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.js +22 -0
- package/dist/output_parsers/expression_type_handlers/factory.cjs +20 -0
- package/dist/output_parsers/expression_type_handlers/factory.d.ts +20 -0
- package/dist/output_parsers/expression_type_handlers/factory.js +20 -0
- package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +19 -0
- package/dist/output_parsers/expression_type_handlers/identifier_handler.d.ts +19 -0
- package/dist/output_parsers/expression_type_handlers/identifier_handler.js +19 -0
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs +17 -0
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.d.ts +17 -0
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.js +17 -0
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs +16 -0
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.d.ts +16 -0
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js +16 -0
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs +16 -0
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.d.ts +16 -0
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js +16 -0
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs +17 -0
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.d.ts +17 -0
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js +17 -0
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs +16 -0
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.d.ts +16 -0
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.js +16 -0
- package/dist/output_parsers/expression_type_handlers/types.d.ts +50 -0
- package/dist/output_parsers/fix.cjs +25 -0
- package/dist/output_parsers/fix.d.ts +25 -0
- package/dist/output_parsers/fix.js +25 -0
- package/dist/output_parsers/list.cjs +24 -0
- package/dist/output_parsers/list.d.ts +24 -0
- package/dist/output_parsers/list.js +24 -0
- package/dist/output_parsers/noop.cjs +18 -0
- package/dist/output_parsers/noop.d.ts +18 -0
- package/dist/output_parsers/noop.js +18 -0
- package/dist/output_parsers/openai_functions.cjs +31 -0
- package/dist/output_parsers/openai_functions.d.ts +34 -0
- package/dist/output_parsers/openai_functions.js +31 -0
- package/dist/output_parsers/regex.cjs +12 -0
- package/dist/output_parsers/regex.d.ts +15 -0
- package/dist/output_parsers/regex.js +12 -0
- package/dist/output_parsers/router.cjs +15 -0
- package/dist/output_parsers/router.d.ts +19 -0
- package/dist/output_parsers/router.js +15 -0
- package/dist/output_parsers/structured.cjs +30 -0
- package/dist/output_parsers/structured.d.ts +36 -0
- package/dist/output_parsers/structured.js +30 -0
- package/dist/prompts/base.cjs +26 -0
- package/dist/prompts/base.d.ts +36 -0
- package/dist/prompts/base.js +26 -0
- package/dist/prompts/chat.cjs +48 -0
- package/dist/prompts/chat.d.ts +69 -0
- package/dist/prompts/chat.js +48 -0
- package/dist/prompts/few_shot.cjs +5 -0
- package/dist/prompts/few_shot.d.ts +5 -0
- package/dist/prompts/few_shot.js +5 -0
- package/dist/prompts/pipeline.cjs +26 -0
- package/dist/prompts/pipeline.d.ts +34 -0
- package/dist/prompts/pipeline.js +26 -0
- package/dist/prompts/prompt.cjs +10 -0
- package/dist/prompts/prompt.d.ts +10 -0
- package/dist/prompts/prompt.js +10 -0
- package/dist/prompts/selectors/LengthBasedExampleSelector.cjs +32 -0
- package/dist/prompts/selectors/LengthBasedExampleSelector.d.ts +33 -0
- package/dist/prompts/selectors/LengthBasedExampleSelector.js +32 -0
- package/dist/prompts/selectors/SemanticSimilarityExampleSelector.cjs +31 -0
- package/dist/prompts/selectors/SemanticSimilarityExampleSelector.d.ts +35 -0
- package/dist/prompts/selectors/SemanticSimilarityExampleSelector.js +31 -0
- package/dist/prompts/selectors/conditional.cjs +30 -0
- package/dist/prompts/selectors/conditional.d.ts +37 -0
- package/dist/prompts/selectors/conditional.js +30 -0
- package/dist/prompts/serde.d.ts +24 -0
- package/dist/prompts/template.d.ts +17 -0
- package/dist/retrievers/amazon_kendra.cjs +62 -0
- package/dist/retrievers/amazon_kendra.d.ts +66 -0
- package/dist/retrievers/amazon_kendra.js +62 -0
- package/dist/retrievers/contextual_compression.cjs +5 -0
- package/dist/retrievers/contextual_compression.d.ts +10 -0
- package/dist/retrievers/contextual_compression.js +5 -0
- package/dist/retrievers/databerry.cjs +5 -0
- package/dist/retrievers/databerry.d.ts +9 -0
- package/dist/retrievers/databerry.js +5 -0
- package/dist/retrievers/document_compressors/chain_extract.cjs +18 -0
- package/dist/retrievers/document_compressors/chain_extract.d.ts +22 -0
- package/dist/retrievers/document_compressors/chain_extract.js +18 -0
- package/dist/retrievers/document_compressors/index.d.ts +9 -0
- package/dist/retrievers/hyde.cjs +9 -0
- package/dist/retrievers/hyde.d.ts +17 -0
- package/dist/retrievers/hyde.js +9 -0
- package/dist/retrievers/metal.cjs +7 -0
- package/dist/retrievers/metal.d.ts +12 -0
- package/dist/retrievers/metal.js +7 -0
- package/dist/retrievers/parent_document.cjs +17 -1
- package/dist/retrievers/parent_document.d.ts +15 -0
- package/dist/retrievers/parent_document.js +17 -1
- package/dist/retrievers/remote/base.cjs +4 -0
- package/dist/retrievers/remote/base.d.ts +28 -0
- package/dist/retrievers/remote/base.js +4 -0
- package/dist/retrievers/remote/chatgpt-plugin.cjs +17 -0
- package/dist/retrievers/remote/chatgpt-plugin.d.ts +21 -0
- package/dist/retrievers/remote/chatgpt-plugin.js +17 -0
- package/dist/retrievers/remote/remote-retriever.cjs +20 -0
- package/dist/retrievers/remote/remote-retriever.d.ts +20 -0
- package/dist/retrievers/remote/remote-retriever.js +20 -0
- package/dist/retrievers/self_query/base.cjs +28 -0
- package/dist/retrievers/self_query/base.d.ts +45 -0
- package/dist/retrievers/self_query/base.js +28 -0
- package/dist/retrievers/self_query/chroma.cjs +6 -0
- package/dist/retrievers/self_query/chroma.d.ts +6 -0
- package/dist/retrievers/self_query/chroma.js +6 -0
- package/dist/retrievers/self_query/functional.cjs +40 -0
- package/dist/retrievers/self_query/functional.d.ts +49 -0
- package/dist/retrievers/self_query/functional.js +40 -0
- package/dist/retrievers/self_query/index.cjs +14 -0
- package/dist/retrievers/self_query/index.d.ts +18 -0
- package/dist/retrievers/self_query/index.js +14 -0
- package/dist/retrievers/self_query/pinecone.cjs +7 -0
- package/dist/retrievers/self_query/pinecone.d.ts +7 -0
- package/dist/retrievers/self_query/pinecone.js +7 -0
- package/dist/retrievers/self_query/supabase.cjs +63 -0
- package/dist/retrievers/self_query/supabase.d.ts +67 -0
- package/dist/retrievers/self_query/supabase.js +63 -0
- package/dist/retrievers/self_query/supabase_utils.cjs +78 -0
- package/dist/retrievers/self_query/supabase_utils.d.ts +78 -0
- package/dist/retrievers/self_query/supabase_utils.js +78 -0
- package/dist/retrievers/self_query/utils.cjs +17 -0
- package/dist/retrievers/self_query/utils.d.ts +17 -0
- package/dist/retrievers/self_query/utils.js +17 -0
- package/dist/retrievers/self_query/weaviate.cjs +42 -0
- package/dist/retrievers/self_query/weaviate.d.ts +42 -0
- package/dist/retrievers/self_query/weaviate.js +42 -0
- package/dist/retrievers/supabase.cjs +30 -0
- package/dist/retrievers/supabase.d.ts +30 -0
- package/dist/retrievers/supabase.js +30 -0
- package/dist/retrievers/time_weighted.cjs +8 -0
- package/dist/retrievers/time_weighted.d.ts +12 -0
- package/dist/retrievers/time_weighted.js +8 -0
- package/dist/retrievers/vespa.cjs +18 -0
- package/dist/retrievers/vespa.d.ts +18 -0
- package/dist/retrievers/vespa.js +18 -0
- package/dist/retrievers/zep.cjs +4 -0
- package/dist/retrievers/zep.d.ts +8 -0
- package/dist/retrievers/zep.js +4 -0
- package/dist/schema/document.cjs +7 -0
- package/dist/schema/document.d.ts +7 -0
- package/dist/schema/document.js +7 -0
- package/dist/schema/index.cjs +70 -0
- package/dist/schema/index.d.ts +70 -0
- package/dist/schema/index.js +70 -0
- package/dist/schema/output_parser.cjs +43 -0
- package/dist/schema/output_parser.d.ts +51 -0
- package/dist/schema/output_parser.js +43 -0
- package/dist/schema/query_constructor.cjs +5 -0
- package/dist/schema/query_constructor.d.ts +5 -0
- package/dist/schema/query_constructor.js +5 -0
- package/dist/schema/retriever.cjs +18 -0
- package/dist/schema/retriever.d.ts +18 -0
- package/dist/schema/retriever.js +18 -0
- package/dist/schema/storage.d.ts +20 -0
- package/dist/storage/encoder_backed.cjs +27 -0
- package/dist/storage/encoder_backed.d.ts +27 -0
- package/dist/storage/encoder_backed.js +27 -0
- package/dist/storage/in_memory.cjs +25 -0
- package/dist/storage/in_memory.d.ts +25 -0
- package/dist/storage/in_memory.js +25 -0
- package/dist/storage/ioredis.cjs +25 -0
- package/dist/storage/ioredis.d.ts +25 -0
- package/dist/storage/ioredis.js +25 -0
- package/dist/stores/doc/gcs.cjs +28 -0
- package/dist/stores/doc/gcs.d.ts +33 -0
- package/dist/stores/doc/gcs.js +28 -0
- package/dist/stores/doc/in_memory.cjs +27 -0
- package/dist/stores/doc/in_memory.d.ts +27 -0
- package/dist/stores/doc/in_memory.js +27 -0
- package/dist/stores/file/in_memory.cjs +20 -0
- package/dist/stores/file/in_memory.d.ts +20 -0
- package/dist/stores/file/in_memory.js +20 -0
- package/dist/stores/file/node.cjs +15 -0
- package/dist/stores/file/node.d.ts +15 -0
- package/dist/stores/file/node.js +15 -0
- package/dist/stores/message/dynamodb.cjs +17 -0
- package/dist/stores/message/dynamodb.d.ts +23 -0
- package/dist/stores/message/dynamodb.js +17 -0
- package/dist/stores/message/firestore.cjs +19 -0
- package/dist/stores/message/firestore.d.ts +24 -0
- package/dist/stores/message/firestore.js +19 -0
- package/dist/stores/message/in_memory.cjs +19 -0
- package/dist/stores/message/in_memory.d.ts +19 -0
- package/dist/stores/message/in_memory.js +19 -0
- package/dist/stores/message/ioredis.cjs +17 -0
- package/dist/stores/message/ioredis.d.ts +22 -0
- package/dist/stores/message/ioredis.js +17 -0
- package/dist/stores/message/momento.cjs +18 -0
- package/dist/stores/message/momento.d.ts +18 -0
- package/dist/stores/message/momento.js +18 -0
- package/dist/stores/message/planetscale.cjs +26 -0
- package/dist/stores/message/planetscale.d.ts +30 -0
- package/dist/stores/message/planetscale.js +26 -0
- package/dist/stores/message/redis.cjs +24 -0
- package/dist/stores/message/redis.d.ts +27 -0
- package/dist/stores/message/redis.js +24 -0
- package/dist/stores/message/upstash_redis.cjs +17 -0
- package/dist/stores/message/upstash_redis.d.ts +21 -0
- package/dist/stores/message/upstash_redis.js +17 -0
- package/dist/stores/message/utils.cjs +21 -0
- package/dist/stores/message/utils.d.ts +21 -0
- package/dist/stores/message/utils.js +21 -0
- package/dist/stores/message/xata.cjs +25 -0
- package/dist/stores/message/xata.d.ts +29 -0
- package/dist/stores/message/xata.js +25 -0
- package/dist/tools/IFTTTWebhook.cjs +6 -0
- package/dist/tools/IFTTTWebhook.d.ts +6 -0
- package/dist/tools/IFTTTWebhook.js +6 -0
- package/dist/tools/aiplugin.cjs +12 -0
- package/dist/tools/aiplugin.d.ts +16 -0
- package/dist/tools/aiplugin.js +12 -0
- package/dist/tools/aws_lambda.cjs +9 -0
- package/dist/tools/aws_lambda.d.ts +7 -0
- package/dist/tools/aws_lambda.js +9 -0
- package/dist/tools/aws_sfn.cjs +19 -0
- package/dist/tools/aws_sfn.d.ts +19 -0
- package/dist/tools/aws_sfn.js +19 -0
- package/dist/tools/base.cjs +22 -0
- package/dist/tools/base.d.ts +25 -0
- package/dist/tools/base.js +22 -0
- package/dist/tools/bingserpapi.cjs +10 -0
- package/dist/tools/bingserpapi.d.ts +10 -0
- package/dist/tools/bingserpapi.js +10 -0
- package/dist/tools/brave_search.cjs +6 -0
- package/dist/tools/brave_search.d.ts +10 -0
- package/dist/tools/brave_search.js +6 -0
- package/dist/tools/calculator.cjs +4 -0
- package/dist/tools/calculator.d.ts +4 -0
- package/dist/tools/calculator.js +4 -0
- package/dist/tools/chain.cjs +6 -0
- package/dist/tools/chain.d.ts +11 -0
- package/dist/tools/chain.js +6 -0
- package/dist/tools/convert_to_openai.cjs +6 -0
- package/dist/tools/convert_to_openai.d.ts +6 -0
- package/dist/tools/convert_to_openai.js +6 -0
- package/dist/tools/dadjokeapi.cjs +6 -0
- package/dist/tools/dadjokeapi.d.ts +6 -0
- package/dist/tools/dadjokeapi.js +6 -0
- package/dist/tools/dataforseo_api_search.d.ts +9 -0
- package/dist/tools/dynamic.cjs +6 -0
- package/dist/tools/dynamic.d.ts +12 -0
- package/dist/tools/dynamic.js +6 -0
- package/dist/tools/fs.cjs +8 -0
- package/dist/tools/fs.d.ts +14 -0
- package/dist/tools/fs.js +8 -0
- package/dist/tools/google_custom_search.cjs +5 -0
- package/dist/tools/google_custom_search.d.ts +8 -0
- package/dist/tools/google_custom_search.js +5 -0
- package/dist/tools/json.cjs +22 -0
- package/dist/tools/json.d.ts +22 -0
- package/dist/tools/json.js +22 -0
- package/dist/tools/requests.cjs +11 -0
- package/dist/tools/requests.d.ts +15 -0
- package/dist/tools/requests.js +11 -0
- package/dist/tools/searxng_search.cjs +7 -0
- package/dist/tools/searxng_search.d.ts +10 -0
- package/dist/tools/searxng_search.js +7 -0
- package/dist/tools/serpapi.cjs +7 -0
- package/dist/tools/serpapi.d.ts +7 -0
- package/dist/tools/serpapi.js +7 -0
- package/dist/tools/serper.cjs +5 -0
- package/dist/tools/serper.d.ts +9 -0
- package/dist/tools/serper.js +5 -0
- package/dist/tools/sql.cjs +25 -0
- package/dist/tools/sql.d.ts +32 -0
- package/dist/tools/sql.js +25 -0
- package/dist/tools/vectorstore.cjs +11 -0
- package/dist/tools/vectorstore.d.ts +14 -0
- package/dist/tools/vectorstore.js +11 -0
- package/dist/tools/webbrowser.cjs +6 -0
- package/dist/tools/webbrowser.d.ts +12 -0
- package/dist/tools/webbrowser.js +6 -0
- package/dist/tools/wikipedia_query_run.cjs +16 -0
- package/dist/tools/wikipedia_query_run.d.ts +24 -0
- package/dist/tools/wikipedia_query_run.js +16 -0
- package/dist/tools/zapier.cjs +12 -0
- package/dist/tools/zapier.d.ts +12 -0
- package/dist/tools/zapier.js +12 -0
- package/dist/vectorstores/analyticdb.cjs +76 -0
- package/dist/vectorstores/analyticdb.d.ts +80 -0
- package/dist/vectorstores/analyticdb.js +76 -0
- package/dist/vectorstores/base.cjs +13 -0
- package/dist/vectorstores/base.d.ts +26 -0
- package/dist/vectorstores/base.js +13 -0
- package/dist/vectorstores/chroma.cjs +73 -0
- package/dist/vectorstores/chroma.d.ts +84 -0
- package/dist/vectorstores/chroma.js +73 -0
- package/dist/vectorstores/elasticsearch.cjs +73 -0
- package/dist/vectorstores/elasticsearch.d.ts +90 -0
- package/dist/vectorstores/elasticsearch.js +73 -0
- package/dist/vectorstores/faiss.cjs +65 -0
- package/dist/vectorstores/faiss.d.ts +69 -0
- package/dist/vectorstores/faiss.js +65 -0
- package/dist/vectorstores/hnswlib.cjs +71 -0
- package/dist/vectorstores/hnswlib.d.ts +80 -0
- package/dist/vectorstores/hnswlib.js +71 -0
- package/dist/vectorstores/lancedb.cjs +38 -0
- package/dist/vectorstores/lancedb.d.ts +42 -0
- package/dist/vectorstores/lancedb.js +38 -0
- package/dist/vectorstores/memory.cjs +56 -0
- package/dist/vectorstores/memory.d.ts +66 -0
- package/dist/vectorstores/memory.js +56 -0
- package/dist/vectorstores/milvus.cjs +91 -7
- package/dist/vectorstores/milvus.d.ts +80 -1
- package/dist/vectorstores/milvus.js +91 -7
- package/dist/vectorstores/mongo.cjs +45 -0
- package/dist/vectorstores/mongo.d.ts +49 -0
- package/dist/vectorstores/mongo.js +45 -0
- package/dist/vectorstores/mongodb_atlas.cjs +48 -0
- package/dist/vectorstores/mongodb_atlas.d.ts +59 -0
- package/dist/vectorstores/mongodb_atlas.js +48 -0
- package/dist/vectorstores/myscale.cjs +66 -0
- package/dist/vectorstores/myscale.d.ts +80 -0
- package/dist/vectorstores/myscale.js +66 -0
- package/dist/vectorstores/opensearch.cjs +60 -0
- package/dist/vectorstores/opensearch.d.ts +74 -0
- package/dist/vectorstores/opensearch.js +60 -0
- package/dist/vectorstores/pinecone.cjs +54 -0
- package/dist/vectorstores/pinecone.d.ts +58 -0
- package/dist/vectorstores/pinecone.js +54 -0
- package/dist/vectorstores/prisma.cjs +66 -0
- package/dist/vectorstores/prisma.d.ts +66 -0
- package/dist/vectorstores/prisma.js +66 -0
- package/dist/vectorstores/qdrant.cjs +60 -0
- package/dist/vectorstores/qdrant.d.ts +66 -0
- package/dist/vectorstores/qdrant.js +60 -0
- package/dist/vectorstores/redis.cjs +62 -0
- package/dist/vectorstores/redis.d.ts +88 -0
- package/dist/vectorstores/redis.js +62 -0
- package/dist/vectorstores/singlestore.cjs +46 -0
- package/dist/vectorstores/singlestore.d.ts +46 -0
- package/dist/vectorstores/singlestore.js +46 -0
- package/dist/vectorstores/supabase.cjs +50 -0
- package/dist/vectorstores/supabase.d.ts +53 -0
- package/dist/vectorstores/supabase.js +50 -0
- package/dist/vectorstores/tigris.cjs +49 -0
- package/dist/vectorstores/tigris.d.ts +53 -0
- package/dist/vectorstores/tigris.js +49 -0
- package/dist/vectorstores/typeorm.cjs +71 -0
- package/dist/vectorstores/typeorm.d.ts +76 -0
- package/dist/vectorstores/typeorm.js +71 -0
- package/dist/vectorstores/typesense.cjs +5 -0
- package/dist/vectorstores/typesense.d.ts +5 -0
- package/dist/vectorstores/typesense.js +5 -0
- package/dist/vectorstores/usearch.cjs +50 -0
- package/dist/vectorstores/usearch.d.ts +55 -0
- package/dist/vectorstores/usearch.js +50 -0
- package/dist/vectorstores/vectara.cjs +104 -0
- package/dist/vectorstores/vectara.d.ts +72 -0
- package/dist/vectorstores/vectara.js +104 -0
- package/dist/vectorstores/weaviate.cjs +61 -0
- package/dist/vectorstores/weaviate.d.ts +70 -0
- package/dist/vectorstores/weaviate.js +61 -0
- package/dist/vectorstores/xata.cjs +36 -0
- package/dist/vectorstores/xata.d.ts +43 -0
- package/dist/vectorstores/xata.js +36 -0
- package/dist/vectorstores/zep.d.ts +11 -0
- package/package.json +2 -2
|
@@ -2,6 +2,11 @@ import * as uuid from "uuid";
|
|
|
2
2
|
import { SaveableVectorStore } from "./base.js";
|
|
3
3
|
import { Document } from "../document.js";
|
|
4
4
|
import { SynchronousInMemoryDocstore } from "../stores/doc/in_memory.js";
|
|
5
|
+
/**
|
|
6
|
+
* A class that wraps the FAISS (Facebook AI Similarity Search) vector
|
|
7
|
+
* database for efficient similarity search and clustering of dense
|
|
8
|
+
* vectors.
|
|
9
|
+
*/
|
|
5
10
|
export class FaissStore extends SaveableVectorStore {
|
|
6
11
|
_vectorstoreType() {
|
|
7
12
|
return "faiss";
|
|
@@ -44,6 +49,11 @@ export class FaissStore extends SaveableVectorStore {
|
|
|
44
49
|
this.embeddings = embeddings;
|
|
45
50
|
this.docstore = args?.docstore ?? new SynchronousInMemoryDocstore();
|
|
46
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Adds an array of Document objects to the store.
|
|
54
|
+
* @param documents An array of Document objects.
|
|
55
|
+
* @returns A Promise that resolves when the documents have been added.
|
|
56
|
+
*/
|
|
47
57
|
async addDocuments(documents) {
|
|
48
58
|
const texts = documents.map(({ pageContent }) => pageContent);
|
|
49
59
|
return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
|
|
@@ -57,6 +67,13 @@ export class FaissStore extends SaveableVectorStore {
|
|
|
57
67
|
set index(index) {
|
|
58
68
|
this._index = index;
|
|
59
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Adds an array of vectors and their corresponding Document objects to
|
|
72
|
+
* the store.
|
|
73
|
+
* @param vectors An array of vectors.
|
|
74
|
+
* @param documents An array of Document objects corresponding to the vectors.
|
|
75
|
+
* @returns A Promise that resolves with an array of document IDs when the vectors and documents have been added.
|
|
76
|
+
*/
|
|
60
77
|
async addVectors(vectors, documents) {
|
|
61
78
|
if (vectors.length === 0) {
|
|
62
79
|
return [];
|
|
@@ -85,6 +102,13 @@ export class FaissStore extends SaveableVectorStore {
|
|
|
85
102
|
}
|
|
86
103
|
return documentIds;
|
|
87
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Performs a similarity search in the vector store using a query vector
|
|
107
|
+
* and returns the top k results along with their scores.
|
|
108
|
+
* @param query A query vector.
|
|
109
|
+
* @param k The number of top results to return.
|
|
110
|
+
* @returns A Promise that resolves with an array of tuples, each containing a Document and its corresponding score.
|
|
111
|
+
*/
|
|
88
112
|
async similaritySearchVectorWithScore(query, k) {
|
|
89
113
|
const d = this.index.getDimension();
|
|
90
114
|
if (query.length !== d) {
|
|
@@ -102,6 +126,11 @@ export class FaissStore extends SaveableVectorStore {
|
|
|
102
126
|
return [this.docstore.search(uuid), result.distances[index]];
|
|
103
127
|
});
|
|
104
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Saves the current state of the FaissStore to a specified directory.
|
|
131
|
+
* @param directory The directory to save the state to.
|
|
132
|
+
* @returns A Promise that resolves when the state has been saved.
|
|
133
|
+
*/
|
|
105
134
|
async save(directory) {
|
|
106
135
|
const fs = await import("node:fs/promises");
|
|
107
136
|
const path = await import("node:path");
|
|
@@ -114,6 +143,11 @@ export class FaissStore extends SaveableVectorStore {
|
|
|
114
143
|
])),
|
|
115
144
|
]);
|
|
116
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Merges the current FaissStore with another FaissStore.
|
|
148
|
+
* @param targetIndex The FaissStore to merge with.
|
|
149
|
+
* @returns A Promise that resolves with an array of document IDs when the merge is complete.
|
|
150
|
+
*/
|
|
117
151
|
async mergeFrom(targetIndex) {
|
|
118
152
|
const targetIndexDimensions = targetIndex.index.getDimension();
|
|
119
153
|
if (!this._index) {
|
|
@@ -140,6 +174,12 @@ export class FaissStore extends SaveableVectorStore {
|
|
|
140
174
|
this.index.mergeFrom(targetIndex.index);
|
|
141
175
|
return documentIds;
|
|
142
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Loads a FaissStore from a specified directory.
|
|
179
|
+
* @param directory The directory to load the FaissStore from.
|
|
180
|
+
* @param embeddings An Embeddings object.
|
|
181
|
+
* @returns A Promise that resolves with a new FaissStore instance.
|
|
182
|
+
*/
|
|
143
183
|
static async load(directory, embeddings) {
|
|
144
184
|
const fs = await import("node:fs/promises");
|
|
145
185
|
const path = await import("node:path");
|
|
@@ -217,6 +257,15 @@ export class FaissStore extends SaveableVectorStore {
|
|
|
217
257
|
mapping: store.mapping,
|
|
218
258
|
});
|
|
219
259
|
}
|
|
260
|
+
/**
|
|
261
|
+
* Creates a new FaissStore from an array of texts, their corresponding
|
|
262
|
+
* metadata, and an Embeddings object.
|
|
263
|
+
* @param texts An array of texts.
|
|
264
|
+
* @param metadatas An array of metadata corresponding to the texts, or a single metadata object to be used for all texts.
|
|
265
|
+
* @param embeddings An Embeddings object.
|
|
266
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
267
|
+
* @returns A Promise that resolves with a new FaissStore instance.
|
|
268
|
+
*/
|
|
220
269
|
static async fromTexts(texts, metadatas, embeddings, dbConfig) {
|
|
221
270
|
const docs = [];
|
|
222
271
|
for (let i = 0; i < texts.length; i += 1) {
|
|
@@ -229,6 +278,14 @@ export class FaissStore extends SaveableVectorStore {
|
|
|
229
278
|
}
|
|
230
279
|
return this.fromDocuments(docs, embeddings, dbConfig);
|
|
231
280
|
}
|
|
281
|
+
/**
|
|
282
|
+
* Creates a new FaissStore from an array of Document objects and an
|
|
283
|
+
* Embeddings object.
|
|
284
|
+
* @param docs An array of Document objects.
|
|
285
|
+
* @param embeddings An Embeddings object.
|
|
286
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
287
|
+
* @returns A Promise that resolves with a new FaissStore instance.
|
|
288
|
+
*/
|
|
232
289
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
233
290
|
const args = {
|
|
234
291
|
docstore: dbConfig?.docstore,
|
|
@@ -237,6 +294,14 @@ export class FaissStore extends SaveableVectorStore {
|
|
|
237
294
|
await instance.addDocuments(docs);
|
|
238
295
|
return instance;
|
|
239
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* Creates a new FaissStore from an existing FaissStore and an Embeddings
|
|
299
|
+
* object.
|
|
300
|
+
* @param targetIndex An existing FaissStore.
|
|
301
|
+
* @param embeddings An Embeddings object.
|
|
302
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
303
|
+
* @returns A Promise that resolves with a new FaissStore instance.
|
|
304
|
+
*/
|
|
240
305
|
static async fromIndex(targetIndex, embeddings, dbConfig) {
|
|
241
306
|
const args = {
|
|
242
307
|
docstore: dbConfig?.docstore,
|
|
@@ -4,6 +4,12 @@ exports.HNSWLib = void 0;
|
|
|
4
4
|
const base_js_1 = require("./base.cjs");
|
|
5
5
|
const document_js_1 = require("../document.cjs");
|
|
6
6
|
const in_memory_js_1 = require("../stores/doc/in_memory.cjs");
|
|
7
|
+
/**
|
|
8
|
+
* Class that implements a vector store using Hierarchical Navigable Small
|
|
9
|
+
* World (HNSW) graphs. It extends the SaveableVectorStore class and
|
|
10
|
+
* provides methods for adding documents and vectors, performing
|
|
11
|
+
* similarity searches, and saving and loading the vector store.
|
|
12
|
+
*/
|
|
7
13
|
class HNSWLib extends base_js_1.SaveableVectorStore {
|
|
8
14
|
_vectorstoreType() {
|
|
9
15
|
return "hnswlib";
|
|
@@ -33,6 +39,13 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
|
|
|
33
39
|
this.embeddings = embeddings;
|
|
34
40
|
this.docstore = args?.docstore ?? new in_memory_js_1.SynchronousInMemoryDocstore();
|
|
35
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Method to add documents to the vector store. It first converts the
|
|
44
|
+
* documents to vectors using the embeddings, then adds the vectors to the
|
|
45
|
+
* vector store.
|
|
46
|
+
* @param documents The documents to be added to the vector store.
|
|
47
|
+
* @returns A Promise that resolves when the documents have been added.
|
|
48
|
+
*/
|
|
36
49
|
async addDocuments(documents) {
|
|
37
50
|
const texts = documents.map(({ pageContent }) => pageContent);
|
|
38
51
|
return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
|
|
@@ -67,6 +80,14 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
|
|
|
67
80
|
set index(index) {
|
|
68
81
|
this._index = index;
|
|
69
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Method to add vectors to the vector store. It first initializes the
|
|
85
|
+
* index if it hasn't been initialized yet, then adds the vectors to the
|
|
86
|
+
* index and the documents to the document store.
|
|
87
|
+
* @param vectors The vectors to be added to the vector store.
|
|
88
|
+
* @param documents The documents corresponding to the vectors.
|
|
89
|
+
* @returns A Promise that resolves when the vectors and documents have been added.
|
|
90
|
+
*/
|
|
70
91
|
async addVectors(vectors, documents) {
|
|
71
92
|
if (vectors.length === 0) {
|
|
72
93
|
return;
|
|
@@ -95,6 +116,16 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
|
|
|
95
116
|
}
|
|
96
117
|
this.docstore.add(toSave);
|
|
97
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Method to perform a similarity search in the vector store using a query
|
|
121
|
+
* vector. It returns the k most similar documents along with their
|
|
122
|
+
* similarity scores. An optional filter function can be provided to
|
|
123
|
+
* filter the documents.
|
|
124
|
+
* @param query The query vector.
|
|
125
|
+
* @param k The number of most similar documents to return.
|
|
126
|
+
* @param filter An optional filter function to filter the documents.
|
|
127
|
+
* @returns A Promise that resolves to an array of tuples, where each tuple contains a document and its similarity score.
|
|
128
|
+
*/
|
|
98
129
|
async similaritySearchVectorWithScore(query, k, filter) {
|
|
99
130
|
if (this.args.numDimensions && !this._index) {
|
|
100
131
|
await this.initIndex([[]]);
|
|
@@ -125,6 +156,13 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
|
|
|
125
156
|
result.distances[resultIndex],
|
|
126
157
|
]);
|
|
127
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Method to delete the vector store from a directory. It deletes the
|
|
161
|
+
* hnswlib.index file, the docstore.json file, and the args.json file from
|
|
162
|
+
* the directory.
|
|
163
|
+
* @param params An object with a directory property that specifies the directory from which to delete the vector store.
|
|
164
|
+
* @returns A Promise that resolves when the vector store has been deleted.
|
|
165
|
+
*/
|
|
128
166
|
async delete(params) {
|
|
129
167
|
const fs = await import("node:fs/promises");
|
|
130
168
|
const path = await import("node:path");
|
|
@@ -144,6 +182,12 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
|
|
|
144
182
|
await fs.rm(path.join(params.directory, "args.json"), { force: true }),
|
|
145
183
|
]);
|
|
146
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Method to save the vector store to a directory. It saves the HNSW
|
|
187
|
+
* index, the arguments, and the document store to the directory.
|
|
188
|
+
* @param directory The directory to which to save the vector store.
|
|
189
|
+
* @returns A Promise that resolves when the vector store has been saved.
|
|
190
|
+
*/
|
|
147
191
|
async save(directory) {
|
|
148
192
|
const fs = await import("node:fs/promises");
|
|
149
193
|
const path = await import("node:path");
|
|
@@ -154,6 +198,14 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
|
|
|
154
198
|
await fs.writeFile(path.join(directory, "docstore.json"), JSON.stringify(Array.from(this.docstore._docs.entries()))),
|
|
155
199
|
]);
|
|
156
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Static method to load a vector store from a directory. It reads the
|
|
203
|
+
* HNSW index, the arguments, and the document store from the directory,
|
|
204
|
+
* then creates a new HNSWLib instance with these values.
|
|
205
|
+
* @param directory The directory from which to load the vector store.
|
|
206
|
+
* @param embeddings The embeddings to be used by the HNSWLib instance.
|
|
207
|
+
* @returns A Promise that resolves to a new HNSWLib instance.
|
|
208
|
+
*/
|
|
157
209
|
static async load(directory, embeddings) {
|
|
158
210
|
const fs = await import("node:fs/promises");
|
|
159
211
|
const path = await import("node:path");
|
|
@@ -169,6 +221,16 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
|
|
|
169
221
|
args.index = index;
|
|
170
222
|
return new HNSWLib(embeddings, args);
|
|
171
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Static method to create a new HNSWLib instance from texts and metadata.
|
|
226
|
+
* It creates a new Document instance for each text and metadata, then
|
|
227
|
+
* calls the fromDocuments method to create the HNSWLib instance.
|
|
228
|
+
* @param texts The texts to be used to create the documents.
|
|
229
|
+
* @param metadatas The metadata to be used to create the documents.
|
|
230
|
+
* @param embeddings The embeddings to be used by the HNSWLib instance.
|
|
231
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
232
|
+
* @returns A Promise that resolves to a new HNSWLib instance.
|
|
233
|
+
*/
|
|
172
234
|
static async fromTexts(texts, metadatas, embeddings, dbConfig) {
|
|
173
235
|
const docs = [];
|
|
174
236
|
for (let i = 0; i < texts.length; i += 1) {
|
|
@@ -181,6 +243,15 @@ class HNSWLib extends base_js_1.SaveableVectorStore {
|
|
|
181
243
|
}
|
|
182
244
|
return HNSWLib.fromDocuments(docs, embeddings, dbConfig);
|
|
183
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* Static method to create a new HNSWLib instance from documents. It
|
|
248
|
+
* creates a new HNSWLib instance, adds the documents to it, then returns
|
|
249
|
+
* the instance.
|
|
250
|
+
* @param docs The documents to be added to the HNSWLib instance.
|
|
251
|
+
* @param embeddings The embeddings to be used by the HNSWLib instance.
|
|
252
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
253
|
+
* @returns A Promise that resolves to a new HNSWLib instance.
|
|
254
|
+
*/
|
|
184
255
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
185
256
|
const args = {
|
|
186
257
|
docstore: dbConfig?.docstore,
|
|
@@ -3,14 +3,29 @@ import { Embeddings } from "../embeddings/base.js";
|
|
|
3
3
|
import { SaveableVectorStore } from "./base.js";
|
|
4
4
|
import { Document } from "../document.js";
|
|
5
5
|
import { SynchronousInMemoryDocstore } from "../stores/doc/in_memory.js";
|
|
6
|
+
/**
|
|
7
|
+
* Interface for the base configuration of HNSWLib. It includes the space
|
|
8
|
+
* name and the number of dimensions.
|
|
9
|
+
*/
|
|
6
10
|
export interface HNSWLibBase {
|
|
7
11
|
space: SpaceName;
|
|
8
12
|
numDimensions?: number;
|
|
9
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Interface for the arguments that can be passed to the HNSWLib
|
|
16
|
+
* constructor. It extends HNSWLibBase and includes properties for the
|
|
17
|
+
* document store and HNSW index.
|
|
18
|
+
*/
|
|
10
19
|
export interface HNSWLibArgs extends HNSWLibBase {
|
|
11
20
|
docstore?: SynchronousInMemoryDocstore;
|
|
12
21
|
index?: HierarchicalNSWT;
|
|
13
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Class that implements a vector store using Hierarchical Navigable Small
|
|
25
|
+
* World (HNSW) graphs. It extends the SaveableVectorStore class and
|
|
26
|
+
* provides methods for adding documents and vectors, performing
|
|
27
|
+
* similarity searches, and saving and loading the vector store.
|
|
28
|
+
*/
|
|
14
29
|
export declare class HNSWLib extends SaveableVectorStore {
|
|
15
30
|
FilterType: (doc: Document) => boolean;
|
|
16
31
|
_index?: HierarchicalNSWT;
|
|
@@ -18,21 +33,86 @@ export declare class HNSWLib extends SaveableVectorStore {
|
|
|
18
33
|
args: HNSWLibBase;
|
|
19
34
|
_vectorstoreType(): string;
|
|
20
35
|
constructor(embeddings: Embeddings, args: HNSWLibArgs);
|
|
36
|
+
/**
|
|
37
|
+
* Method to add documents to the vector store. It first converts the
|
|
38
|
+
* documents to vectors using the embeddings, then adds the vectors to the
|
|
39
|
+
* vector store.
|
|
40
|
+
* @param documents The documents to be added to the vector store.
|
|
41
|
+
* @returns A Promise that resolves when the documents have been added.
|
|
42
|
+
*/
|
|
21
43
|
addDocuments(documents: Document[]): Promise<void>;
|
|
22
44
|
private static getHierarchicalNSW;
|
|
23
45
|
private initIndex;
|
|
24
46
|
get index(): HierarchicalNSWT;
|
|
25
47
|
private set index(value);
|
|
48
|
+
/**
|
|
49
|
+
* Method to add vectors to the vector store. It first initializes the
|
|
50
|
+
* index if it hasn't been initialized yet, then adds the vectors to the
|
|
51
|
+
* index and the documents to the document store.
|
|
52
|
+
* @param vectors The vectors to be added to the vector store.
|
|
53
|
+
* @param documents The documents corresponding to the vectors.
|
|
54
|
+
* @returns A Promise that resolves when the vectors and documents have been added.
|
|
55
|
+
*/
|
|
26
56
|
addVectors(vectors: number[][], documents: Document[]): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Method to perform a similarity search in the vector store using a query
|
|
59
|
+
* vector. It returns the k most similar documents along with their
|
|
60
|
+
* similarity scores. An optional filter function can be provided to
|
|
61
|
+
* filter the documents.
|
|
62
|
+
* @param query The query vector.
|
|
63
|
+
* @param k The number of most similar documents to return.
|
|
64
|
+
* @param filter An optional filter function to filter the documents.
|
|
65
|
+
* @returns A Promise that resolves to an array of tuples, where each tuple contains a document and its similarity score.
|
|
66
|
+
*/
|
|
27
67
|
similaritySearchVectorWithScore(query: number[], k: number, filter?: this["FilterType"]): Promise<[Document<Record<string, any>>, number][]>;
|
|
68
|
+
/**
|
|
69
|
+
* Method to delete the vector store from a directory. It deletes the
|
|
70
|
+
* hnswlib.index file, the docstore.json file, and the args.json file from
|
|
71
|
+
* the directory.
|
|
72
|
+
* @param params An object with a directory property that specifies the directory from which to delete the vector store.
|
|
73
|
+
* @returns A Promise that resolves when the vector store has been deleted.
|
|
74
|
+
*/
|
|
28
75
|
delete(params: {
|
|
29
76
|
directory: string;
|
|
30
77
|
}): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Method to save the vector store to a directory. It saves the HNSW
|
|
80
|
+
* index, the arguments, and the document store to the directory.
|
|
81
|
+
* @param directory The directory to which to save the vector store.
|
|
82
|
+
* @returns A Promise that resolves when the vector store has been saved.
|
|
83
|
+
*/
|
|
31
84
|
save(directory: string): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Static method to load a vector store from a directory. It reads the
|
|
87
|
+
* HNSW index, the arguments, and the document store from the directory,
|
|
88
|
+
* then creates a new HNSWLib instance with these values.
|
|
89
|
+
* @param directory The directory from which to load the vector store.
|
|
90
|
+
* @param embeddings The embeddings to be used by the HNSWLib instance.
|
|
91
|
+
* @returns A Promise that resolves to a new HNSWLib instance.
|
|
92
|
+
*/
|
|
32
93
|
static load(directory: string, embeddings: Embeddings): Promise<HNSWLib>;
|
|
94
|
+
/**
|
|
95
|
+
* Static method to create a new HNSWLib instance from texts and metadata.
|
|
96
|
+
* It creates a new Document instance for each text and metadata, then
|
|
97
|
+
* calls the fromDocuments method to create the HNSWLib instance.
|
|
98
|
+
* @param texts The texts to be used to create the documents.
|
|
99
|
+
* @param metadatas The metadata to be used to create the documents.
|
|
100
|
+
* @param embeddings The embeddings to be used by the HNSWLib instance.
|
|
101
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
102
|
+
* @returns A Promise that resolves to a new HNSWLib instance.
|
|
103
|
+
*/
|
|
33
104
|
static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, dbConfig?: {
|
|
34
105
|
docstore?: SynchronousInMemoryDocstore;
|
|
35
106
|
}): Promise<HNSWLib>;
|
|
107
|
+
/**
|
|
108
|
+
* Static method to create a new HNSWLib instance from documents. It
|
|
109
|
+
* creates a new HNSWLib instance, adds the documents to it, then returns
|
|
110
|
+
* the instance.
|
|
111
|
+
* @param docs The documents to be added to the HNSWLib instance.
|
|
112
|
+
* @param embeddings The embeddings to be used by the HNSWLib instance.
|
|
113
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
114
|
+
* @returns A Promise that resolves to a new HNSWLib instance.
|
|
115
|
+
*/
|
|
36
116
|
static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig?: {
|
|
37
117
|
docstore?: SynchronousInMemoryDocstore;
|
|
38
118
|
}): Promise<HNSWLib>;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { SaveableVectorStore } from "./base.js";
|
|
2
2
|
import { Document } from "../document.js";
|
|
3
3
|
import { SynchronousInMemoryDocstore } from "../stores/doc/in_memory.js";
|
|
4
|
+
/**
|
|
5
|
+
* Class that implements a vector store using Hierarchical Navigable Small
|
|
6
|
+
* World (HNSW) graphs. It extends the SaveableVectorStore class and
|
|
7
|
+
* provides methods for adding documents and vectors, performing
|
|
8
|
+
* similarity searches, and saving and loading the vector store.
|
|
9
|
+
*/
|
|
4
10
|
export class HNSWLib extends SaveableVectorStore {
|
|
5
11
|
_vectorstoreType() {
|
|
6
12
|
return "hnswlib";
|
|
@@ -30,6 +36,13 @@ export class HNSWLib extends SaveableVectorStore {
|
|
|
30
36
|
this.embeddings = embeddings;
|
|
31
37
|
this.docstore = args?.docstore ?? new SynchronousInMemoryDocstore();
|
|
32
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Method to add documents to the vector store. It first converts the
|
|
41
|
+
* documents to vectors using the embeddings, then adds the vectors to the
|
|
42
|
+
* vector store.
|
|
43
|
+
* @param documents The documents to be added to the vector store.
|
|
44
|
+
* @returns A Promise that resolves when the documents have been added.
|
|
45
|
+
*/
|
|
33
46
|
async addDocuments(documents) {
|
|
34
47
|
const texts = documents.map(({ pageContent }) => pageContent);
|
|
35
48
|
return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
|
|
@@ -64,6 +77,14 @@ export class HNSWLib extends SaveableVectorStore {
|
|
|
64
77
|
set index(index) {
|
|
65
78
|
this._index = index;
|
|
66
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Method to add vectors to the vector store. It first initializes the
|
|
82
|
+
* index if it hasn't been initialized yet, then adds the vectors to the
|
|
83
|
+
* index and the documents to the document store.
|
|
84
|
+
* @param vectors The vectors to be added to the vector store.
|
|
85
|
+
* @param documents The documents corresponding to the vectors.
|
|
86
|
+
* @returns A Promise that resolves when the vectors and documents have been added.
|
|
87
|
+
*/
|
|
67
88
|
async addVectors(vectors, documents) {
|
|
68
89
|
if (vectors.length === 0) {
|
|
69
90
|
return;
|
|
@@ -92,6 +113,16 @@ export class HNSWLib extends SaveableVectorStore {
|
|
|
92
113
|
}
|
|
93
114
|
this.docstore.add(toSave);
|
|
94
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Method to perform a similarity search in the vector store using a query
|
|
118
|
+
* vector. It returns the k most similar documents along with their
|
|
119
|
+
* similarity scores. An optional filter function can be provided to
|
|
120
|
+
* filter the documents.
|
|
121
|
+
* @param query The query vector.
|
|
122
|
+
* @param k The number of most similar documents to return.
|
|
123
|
+
* @param filter An optional filter function to filter the documents.
|
|
124
|
+
* @returns A Promise that resolves to an array of tuples, where each tuple contains a document and its similarity score.
|
|
125
|
+
*/
|
|
95
126
|
async similaritySearchVectorWithScore(query, k, filter) {
|
|
96
127
|
if (this.args.numDimensions && !this._index) {
|
|
97
128
|
await this.initIndex([[]]);
|
|
@@ -122,6 +153,13 @@ export class HNSWLib extends SaveableVectorStore {
|
|
|
122
153
|
result.distances[resultIndex],
|
|
123
154
|
]);
|
|
124
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Method to delete the vector store from a directory. It deletes the
|
|
158
|
+
* hnswlib.index file, the docstore.json file, and the args.json file from
|
|
159
|
+
* the directory.
|
|
160
|
+
* @param params An object with a directory property that specifies the directory from which to delete the vector store.
|
|
161
|
+
* @returns A Promise that resolves when the vector store has been deleted.
|
|
162
|
+
*/
|
|
125
163
|
async delete(params) {
|
|
126
164
|
const fs = await import("node:fs/promises");
|
|
127
165
|
const path = await import("node:path");
|
|
@@ -141,6 +179,12 @@ export class HNSWLib extends SaveableVectorStore {
|
|
|
141
179
|
await fs.rm(path.join(params.directory, "args.json"), { force: true }),
|
|
142
180
|
]);
|
|
143
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Method to save the vector store to a directory. It saves the HNSW
|
|
184
|
+
* index, the arguments, and the document store to the directory.
|
|
185
|
+
* @param directory The directory to which to save the vector store.
|
|
186
|
+
* @returns A Promise that resolves when the vector store has been saved.
|
|
187
|
+
*/
|
|
144
188
|
async save(directory) {
|
|
145
189
|
const fs = await import("node:fs/promises");
|
|
146
190
|
const path = await import("node:path");
|
|
@@ -151,6 +195,14 @@ export class HNSWLib extends SaveableVectorStore {
|
|
|
151
195
|
await fs.writeFile(path.join(directory, "docstore.json"), JSON.stringify(Array.from(this.docstore._docs.entries()))),
|
|
152
196
|
]);
|
|
153
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* Static method to load a vector store from a directory. It reads the
|
|
200
|
+
* HNSW index, the arguments, and the document store from the directory,
|
|
201
|
+
* then creates a new HNSWLib instance with these values.
|
|
202
|
+
* @param directory The directory from which to load the vector store.
|
|
203
|
+
* @param embeddings The embeddings to be used by the HNSWLib instance.
|
|
204
|
+
* @returns A Promise that resolves to a new HNSWLib instance.
|
|
205
|
+
*/
|
|
154
206
|
static async load(directory, embeddings) {
|
|
155
207
|
const fs = await import("node:fs/promises");
|
|
156
208
|
const path = await import("node:path");
|
|
@@ -166,6 +218,16 @@ export class HNSWLib extends SaveableVectorStore {
|
|
|
166
218
|
args.index = index;
|
|
167
219
|
return new HNSWLib(embeddings, args);
|
|
168
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* Static method to create a new HNSWLib instance from texts and metadata.
|
|
223
|
+
* It creates a new Document instance for each text and metadata, then
|
|
224
|
+
* calls the fromDocuments method to create the HNSWLib instance.
|
|
225
|
+
* @param texts The texts to be used to create the documents.
|
|
226
|
+
* @param metadatas The metadata to be used to create the documents.
|
|
227
|
+
* @param embeddings The embeddings to be used by the HNSWLib instance.
|
|
228
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
229
|
+
* @returns A Promise that resolves to a new HNSWLib instance.
|
|
230
|
+
*/
|
|
169
231
|
static async fromTexts(texts, metadatas, embeddings, dbConfig) {
|
|
170
232
|
const docs = [];
|
|
171
233
|
for (let i = 0; i < texts.length; i += 1) {
|
|
@@ -178,6 +240,15 @@ export class HNSWLib extends SaveableVectorStore {
|
|
|
178
240
|
}
|
|
179
241
|
return HNSWLib.fromDocuments(docs, embeddings, dbConfig);
|
|
180
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Static method to create a new HNSWLib instance from documents. It
|
|
245
|
+
* creates a new HNSWLib instance, adds the documents to it, then returns
|
|
246
|
+
* the instance.
|
|
247
|
+
* @param docs The documents to be added to the HNSWLib instance.
|
|
248
|
+
* @param embeddings The embeddings to be used by the HNSWLib instance.
|
|
249
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
250
|
+
* @returns A Promise that resolves to a new HNSWLib instance.
|
|
251
|
+
*/
|
|
181
252
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
182
253
|
const args = {
|
|
183
254
|
docstore: dbConfig?.docstore,
|
|
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.LanceDB = void 0;
|
|
4
4
|
const base_js_1 = require("./base.cjs");
|
|
5
5
|
const document_js_1 = require("../document.cjs");
|
|
6
|
+
/**
|
|
7
|
+
* A wrapper for an open-source database for vector-search with persistent
|
|
8
|
+
* storage. It simplifies retrieval, filtering, and management of
|
|
9
|
+
* embeddings.
|
|
10
|
+
*/
|
|
6
11
|
class LanceDB extends base_js_1.VectorStore {
|
|
7
12
|
constructor(embeddings, args) {
|
|
8
13
|
super(embeddings, args);
|
|
@@ -22,6 +27,11 @@ class LanceDB extends base_js_1.VectorStore {
|
|
|
22
27
|
this.embeddings = embeddings;
|
|
23
28
|
this.textKey = args.textKey || "text";
|
|
24
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Adds documents to the database.
|
|
32
|
+
* @param documents The documents to be added.
|
|
33
|
+
* @returns A Promise that resolves when the documents have been added.
|
|
34
|
+
*/
|
|
25
35
|
async addDocuments(documents) {
|
|
26
36
|
const texts = documents.map(({ pageContent }) => pageContent);
|
|
27
37
|
return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
|
|
@@ -29,6 +39,12 @@ class LanceDB extends base_js_1.VectorStore {
|
|
|
29
39
|
_vectorstoreType() {
|
|
30
40
|
return "lancedb";
|
|
31
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Adds vectors and their corresponding documents to the database.
|
|
44
|
+
* @param vectors The vectors to be added.
|
|
45
|
+
* @param documents The corresponding documents to be added.
|
|
46
|
+
* @returns A Promise that resolves when the vectors and documents have been added.
|
|
47
|
+
*/
|
|
32
48
|
async addVectors(vectors, documents) {
|
|
33
49
|
if (vectors.length === 0) {
|
|
34
50
|
return;
|
|
@@ -49,6 +65,13 @@ class LanceDB extends base_js_1.VectorStore {
|
|
|
49
65
|
}
|
|
50
66
|
await this.table.add(data);
|
|
51
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Performs a similarity search on the vectors in the database and returns
|
|
70
|
+
* the documents and their scores.
|
|
71
|
+
* @param query The query vector.
|
|
72
|
+
* @param k The number of results to return.
|
|
73
|
+
* @returns A Promise that resolves with an array of tuples, each containing a Document and its score.
|
|
74
|
+
*/
|
|
52
75
|
async similaritySearchVectorWithScore(query, k) {
|
|
53
76
|
const results = await this.table.search(query).limit(k).execute();
|
|
54
77
|
const docsAndScore = [];
|
|
@@ -69,6 +92,14 @@ class LanceDB extends base_js_1.VectorStore {
|
|
|
69
92
|
});
|
|
70
93
|
return docsAndScore;
|
|
71
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Creates a new instance of LanceDB from texts.
|
|
97
|
+
* @param texts The texts to be converted into documents.
|
|
98
|
+
* @param metadatas The metadata for the texts.
|
|
99
|
+
* @param embeddings The embeddings to be managed.
|
|
100
|
+
* @param dbConfig The configuration for the LanceDB instance.
|
|
101
|
+
* @returns A Promise that resolves with a new instance of LanceDB.
|
|
102
|
+
*/
|
|
72
103
|
static async fromTexts(texts, metadatas, embeddings, dbConfig) {
|
|
73
104
|
const docs = [];
|
|
74
105
|
for (let i = 0; i < texts.length; i += 1) {
|
|
@@ -81,6 +112,13 @@ class LanceDB extends base_js_1.VectorStore {
|
|
|
81
112
|
}
|
|
82
113
|
return LanceDB.fromDocuments(docs, embeddings, dbConfig);
|
|
83
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Creates a new instance of LanceDB from documents.
|
|
117
|
+
* @param docs The documents to be added to the database.
|
|
118
|
+
* @param embeddings The embeddings to be managed.
|
|
119
|
+
* @param dbConfig The configuration for the LanceDB instance.
|
|
120
|
+
* @returns A Promise that resolves with a new instance of LanceDB.
|
|
121
|
+
*/
|
|
84
122
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
85
123
|
const instance = new this(embeddings, dbConfig);
|
|
86
124
|
await instance.addDocuments(docs);
|
|
@@ -2,18 +2,60 @@ import { Table } from "vectordb";
|
|
|
2
2
|
import { VectorStore } from "./base.js";
|
|
3
3
|
import { Embeddings } from "../embeddings/base.js";
|
|
4
4
|
import { Document } from "../document.js";
|
|
5
|
+
/**
|
|
6
|
+
* Defines the arguments for the LanceDB class constructor. It includes a
|
|
7
|
+
* table and an optional textKey.
|
|
8
|
+
*/
|
|
5
9
|
export type LanceDBArgs = {
|
|
6
10
|
table: Table;
|
|
7
11
|
textKey?: string;
|
|
8
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* A wrapper for an open-source database for vector-search with persistent
|
|
15
|
+
* storage. It simplifies retrieval, filtering, and management of
|
|
16
|
+
* embeddings.
|
|
17
|
+
*/
|
|
9
18
|
export declare class LanceDB extends VectorStore {
|
|
10
19
|
private table;
|
|
11
20
|
private textKey;
|
|
12
21
|
constructor(embeddings: Embeddings, args: LanceDBArgs);
|
|
22
|
+
/**
|
|
23
|
+
* Adds documents to the database.
|
|
24
|
+
* @param documents The documents to be added.
|
|
25
|
+
* @returns A Promise that resolves when the documents have been added.
|
|
26
|
+
*/
|
|
13
27
|
addDocuments(documents: Document[]): Promise<void>;
|
|
14
28
|
_vectorstoreType(): string;
|
|
29
|
+
/**
|
|
30
|
+
* Adds vectors and their corresponding documents to the database.
|
|
31
|
+
* @param vectors The vectors to be added.
|
|
32
|
+
* @param documents The corresponding documents to be added.
|
|
33
|
+
* @returns A Promise that resolves when the vectors and documents have been added.
|
|
34
|
+
*/
|
|
15
35
|
addVectors(vectors: number[][], documents: Document[]): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Performs a similarity search on the vectors in the database and returns
|
|
38
|
+
* the documents and their scores.
|
|
39
|
+
* @param query The query vector.
|
|
40
|
+
* @param k The number of results to return.
|
|
41
|
+
* @returns A Promise that resolves with an array of tuples, each containing a Document and its score.
|
|
42
|
+
*/
|
|
16
43
|
similaritySearchVectorWithScore(query: number[], k: number): Promise<[Document, number][]>;
|
|
44
|
+
/**
|
|
45
|
+
* Creates a new instance of LanceDB from texts.
|
|
46
|
+
* @param texts The texts to be converted into documents.
|
|
47
|
+
* @param metadatas The metadata for the texts.
|
|
48
|
+
* @param embeddings The embeddings to be managed.
|
|
49
|
+
* @param dbConfig The configuration for the LanceDB instance.
|
|
50
|
+
* @returns A Promise that resolves with a new instance of LanceDB.
|
|
51
|
+
*/
|
|
17
52
|
static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, dbConfig: LanceDBArgs): Promise<LanceDB>;
|
|
53
|
+
/**
|
|
54
|
+
* Creates a new instance of LanceDB from documents.
|
|
55
|
+
* @param docs The documents to be added to the database.
|
|
56
|
+
* @param embeddings The embeddings to be managed.
|
|
57
|
+
* @param dbConfig The configuration for the LanceDB instance.
|
|
58
|
+
* @returns A Promise that resolves with a new instance of LanceDB.
|
|
59
|
+
*/
|
|
18
60
|
static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig: LanceDBArgs): Promise<LanceDB>;
|
|
19
61
|
}
|