langchain 0.0.130 → 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 +28 -0
- package/dist/agents/chat/index.d.ts +33 -0
- package/dist/agents/chat/index.js +28 -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 +25 -0
- package/dist/agents/chat_convo/index.d.ts +32 -0
- package/dist/agents/chat_convo/index.js +25 -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 +9 -0
- package/dist/agents/executor.d.ts +12 -0
- package/dist/agents/executor.js +9 -0
- package/dist/agents/initialize.d.ts +5 -0
- package/dist/agents/mrkl/index.cjs +20 -0
- package/dist/agents/mrkl/index.d.ts +25 -0
- package/dist/agents/mrkl/index.js +20 -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 +46 -0
- package/dist/agents/openai/index.d.ts +40 -0
- package/dist/agents/openai/index.js +46 -0
- package/dist/agents/structured_chat/index.cjs +35 -0
- package/dist/agents/structured_chat/index.d.ts +41 -0
- package/dist/agents/structured_chat/index.js +35 -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 +29 -0
- package/dist/callbacks/base.d.ts +35 -0
- package/dist/callbacks/base.js +30 -1
- 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.cjs +3 -0
- package/dist/chains/analyze_documents_chain.d.ts +5 -0
- package/dist/chains/analyze_documents_chain.js +3 -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.cjs +9 -0
- package/dist/chains/combine_docs_chain.d.ts +13 -0
- package/dist/chains/combine_docs_chain.js +9 -0
- package/dist/chains/constitutional_ai/constitutional_chain.cjs +20 -0
- package/dist/chains/constitutional_ai/constitutional_chain.d.ts +21 -0
- package/dist/chains/constitutional_ai/constitutional_chain.js +20 -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 +7 -0
- package/dist/chains/conversation.d.ts +5 -0
- package/dist/chains/conversation.js +7 -0
- package/dist/chains/conversational_retrieval_chain.cjs +24 -0
- package/dist/chains/conversational_retrieval_chain.d.ts +27 -1
- package/dist/chains/conversational_retrieval_chain.js +24 -0
- package/dist/chains/llm_chain.cjs +3 -0
- package/dist/chains/llm_chain.d.ts +4 -0
- package/dist/chains/llm_chain.js +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 +30 -0
- package/dist/chains/openai_functions/openapi.d.ts +3 -0
- package/dist/chains/openai_functions/openapi.js +30 -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 +8 -0
- package/dist/chains/openai_moderation.d.ts +9 -0
- package/dist/chains/openai_moderation.js +8 -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 +15 -0
- package/dist/chains/retrieval_qa.d.ts +16 -0
- package/dist/chains/retrieval_qa.js +15 -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 +13 -0
- package/dist/chains/router/multi_route.d.ts +26 -0
- package/dist/chains/router/multi_route.js +13 -0
- package/dist/chains/sequential_chain.cjs +6 -0
- package/dist/chains/sequential_chain.d.ts +8 -0
- package/dist/chains/sequential_chain.js +6 -0
- package/dist/chains/serde.d.ts +58 -0
- package/dist/chains/sql_db/sql_db_chain.cjs +16 -0
- package/dist/chains/sql_db/sql_db_chain.d.ts +19 -0
- package/dist/chains/sql_db/sql_db_chain.js +16 -0
- package/dist/chains/summarization/load.d.ts +4 -0
- package/dist/chains/transform.cjs +9 -0
- package/dist/chains/transform.d.ts +12 -0
- package/dist/chains/transform.js +9 -0
- package/dist/chains/vector_db_qa.cjs +18 -0
- package/dist/chains/vector_db_qa.d.ts +22 -0
- package/dist/chains/vector_db_qa.js +18 -0
- package/dist/chat_models/anthropic.cjs +27 -4
- package/dist/chat_models/anthropic.d.ts +15 -0
- package/dist/chat_models/anthropic.js +27 -4
- package/dist/chat_models/baiduwenxin.cjs +19 -13
- package/dist/chat_models/baiduwenxin.d.ts +19 -3
- package/dist/chat_models/baiduwenxin.js +19 -13
- 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 +12 -0
- package/dist/chat_models/googlepalm.d.ts +8 -0
- package/dist/chat_models/googlepalm.js +12 -0
- package/dist/chat_models/googlevertexai.cjs +41 -0
- package/dist/chat_models/googlevertexai.d.ts +51 -0
- package/dist/chat_models/googlevertexai.js +41 -0
- package/dist/chat_models/ollama.cjs +14 -0
- package/dist/chat_models/ollama.d.ts +16 -0
- package/dist/chat_models/ollama.js +14 -0
- package/dist/chat_models/openai.cjs +19 -5
- package/dist/chat_models/openai.d.ts +7 -5
- package/dist/chat_models/openai.js +19 -5
- 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 +6 -0
- package/dist/document_transformers/html_to_text.d.ts +4 -0
- package/dist/document_transformers/html_to_text.js +6 -0
- package/dist/document_transformers/mozilla_readability.cjs +7 -0
- package/dist/document_transformers/mozilla_readability.d.ts +5 -0
- package/dist/document_transformers/mozilla_readability.js +7 -0
- package/dist/document_transformers/openai_functions.cjs +6 -0
- package/dist/document_transformers/openai_functions.d.ts +4 -0
- package/dist/document_transformers/openai_functions.js +6 -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/evaluation/qa/eval_chain.cjs +3 -0
- package/dist/evaluation/qa/eval_chain.d.ts +1 -0
- package/dist/evaluation/qa/eval_chain.js +3 -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 +68 -0
- package/dist/experimental/babyagi/agent.d.ts +76 -0
- package/dist/experimental/babyagi/agent.js +68 -0
- package/dist/experimental/babyagi/task_creation.cjs +13 -0
- package/dist/experimental/babyagi/task_creation.d.ts +11 -0
- package/dist/experimental/babyagi/task_creation.js +13 -0
- package/dist/experimental/babyagi/task_execution.cjs +12 -0
- package/dist/experimental/babyagi/task_execution.d.ts +10 -0
- package/dist/experimental/babyagi/task_execution.js +12 -0
- package/dist/experimental/babyagi/task_prioritization.cjs +11 -0
- package/dist/experimental/babyagi/task_prioritization.d.ts +9 -0
- package/dist/experimental/babyagi/task_prioritization.js +11 -0
- package/dist/experimental/generative_agents/generative_agent.cjs +77 -0
- package/dist/experimental/generative_agents/generative_agent.d.ts +80 -0
- package/dist/experimental/generative_agents/generative_agent.js +77 -0
- package/dist/experimental/generative_agents/generative_agent_memory.cjs +116 -0
- package/dist/experimental/generative_agents/generative_agent_memory.d.ts +114 -0
- package/dist/experimental/generative_agents/generative_agent_memory.js +116 -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 +35 -0
- package/dist/experimental/plan_and_execute/agent_executor.d.ts +38 -0
- package/dist/experimental/plan_and_execute/agent_executor.js +35 -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 +7 -0
- package/dist/llms/cohere.d.ts +8 -0
- package/dist/llms/cohere.js +7 -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 +7 -0
- package/dist/llms/ollama.d.ts +5 -0
- package/dist/llms/ollama.js +7 -0
- package/dist/llms/openai-chat.cjs +35 -4
- package/dist/llms/openai-chat.d.ts +28 -4
- package/dist/llms/openai-chat.js +35 -4
- package/dist/llms/openai.cjs +26 -6
- package/dist/llms/openai.d.ts +11 -3
- package/dist/llms/openai.js +26 -6
- package/dist/llms/replicate.cjs +9 -0
- package/dist/llms/replicate.d.ts +12 -0
- package/dist/llms/replicate.js +9 -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/load/index.cjs +7 -1
- package/dist/load/index.js +7 -1
- package/dist/load/serializable.cjs +42 -3
- package/dist/load/serializable.d.ts +16 -0
- package/dist/load/serializable.js +40 -2
- 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 +15 -0
- package/dist/output_parsers/combining.d.ts +19 -0
- package/dist/output_parsers/combining.js +15 -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 +28 -0
- package/dist/output_parsers/fix.d.ts +26 -0
- package/dist/output_parsers/fix.js +28 -0
- package/dist/output_parsers/list.cjs +27 -0
- package/dist/output_parsers/list.d.ts +25 -0
- package/dist/output_parsers/list.js +27 -0
- package/dist/output_parsers/noop.cjs +21 -0
- package/dist/output_parsers/noop.d.ts +19 -0
- package/dist/output_parsers/noop.js +21 -0
- package/dist/output_parsers/openai_functions.cjs +40 -0
- package/dist/output_parsers/openai_functions.d.ts +37 -0
- package/dist/output_parsers/openai_functions.js +40 -0
- package/dist/output_parsers/regex.cjs +15 -0
- package/dist/output_parsers/regex.d.ts +16 -0
- package/dist/output_parsers/regex.js +15 -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 +36 -0
- package/dist/output_parsers/structured.d.ts +38 -0
- package/dist/output_parsers/structured.js +36 -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 +69 -0
- package/dist/prompts/chat.d.ts +76 -0
- package/dist/prompts/chat.js +69 -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 +29 -0
- package/dist/prompts/pipeline.d.ts +35 -0
- package/dist/prompts/pipeline.js +29 -0
- package/dist/prompts/prompt.cjs +13 -0
- package/dist/prompts/prompt.d.ts +11 -0
- package/dist/prompts/prompt.js +13 -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 +65 -0
- package/dist/retrievers/amazon_kendra.d.ts +67 -0
- package/dist/retrievers/amazon_kendra.js +65 -0
- package/dist/retrievers/contextual_compression.cjs +8 -0
- package/dist/retrievers/contextual_compression.d.ts +11 -0
- package/dist/retrievers/contextual_compression.js +8 -0
- package/dist/retrievers/databerry.cjs +8 -0
- package/dist/retrievers/databerry.d.ts +10 -0
- package/dist/retrievers/databerry.js +8 -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 +12 -0
- package/dist/retrievers/hyde.d.ts +18 -0
- package/dist/retrievers/hyde.js +12 -0
- package/dist/retrievers/metal.cjs +10 -0
- package/dist/retrievers/metal.d.ts +13 -0
- package/dist/retrievers/metal.js +10 -0
- package/dist/retrievers/parent_document.cjs +20 -1
- package/dist/retrievers/parent_document.d.ts +16 -0
- package/dist/retrievers/parent_document.js +20 -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 +17 -0
- package/dist/retrievers/self_query/index.d.ts +19 -0
- package/dist/retrievers/self_query/index.js +17 -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 +91 -7
- package/dist/retrievers/self_query/supabase.d.ts +69 -2
- package/dist/retrievers/self_query/supabase.js +92 -8
- package/dist/retrievers/self_query/supabase_utils.cjs +255 -0
- package/dist/retrievers/self_query/supabase_utils.d.ts +102 -0
- package/dist/retrievers/self_query/supabase_utils.js +250 -0
- package/dist/retrievers/self_query/utils.cjs +36 -3
- package/dist/retrievers/self_query/utils.d.ts +20 -0
- package/dist/retrievers/self_query/utils.js +32 -2
- package/dist/retrievers/self_query/weaviate.cjs +45 -14
- package/dist/retrievers/self_query/weaviate.d.ts +42 -0
- package/dist/retrievers/self_query/weaviate.js +43 -12
- package/dist/retrievers/supabase.cjs +33 -0
- package/dist/retrievers/supabase.d.ts +31 -0
- package/dist/retrievers/supabase.js +33 -0
- package/dist/retrievers/time_weighted.cjs +11 -0
- package/dist/retrievers/time_weighted.d.ts +13 -0
- package/dist/retrievers/time_weighted.js +11 -0
- package/dist/retrievers/vespa.cjs +21 -0
- package/dist/retrievers/vespa.d.ts +19 -0
- package/dist/retrievers/vespa.js +21 -0
- package/dist/retrievers/zep.cjs +7 -0
- package/dist/retrievers/zep.d.ts +9 -0
- package/dist/retrievers/zep.js +7 -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 +100 -0
- package/dist/schema/index.d.ts +80 -0
- package/dist/schema/index.js +100 -0
- package/dist/schema/output_parser.cjs +49 -0
- package/dist/schema/output_parser.d.ts +53 -0
- package/dist/schema/output_parser.js +49 -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/runnable.cjs +25 -7
- package/dist/schema/runnable.d.ts +6 -0
- package/dist/schema/runnable.js +25 -7
- 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/text_splitter.cjs +9 -0
- package/dist/text_splitter.d.ts +3 -0
- package/dist/text_splitter.js +9 -0
- package/dist/tools/IFTTTWebhook.cjs +9 -0
- package/dist/tools/IFTTTWebhook.d.ts +7 -0
- package/dist/tools/IFTTTWebhook.js +9 -0
- package/dist/tools/aiplugin.cjs +15 -0
- package/dist/tools/aiplugin.d.ts +17 -0
- package/dist/tools/aiplugin.js +15 -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 +28 -0
- package/dist/tools/aws_sfn.d.ts +22 -0
- package/dist/tools/aws_sfn.js +28 -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 +13 -0
- package/dist/tools/bingserpapi.d.ts +11 -0
- package/dist/tools/bingserpapi.js +13 -0
- package/dist/tools/brave_search.cjs +9 -0
- package/dist/tools/brave_search.d.ts +11 -0
- package/dist/tools/brave_search.js +9 -0
- package/dist/tools/calculator.cjs +7 -0
- package/dist/tools/calculator.d.ts +5 -0
- package/dist/tools/calculator.js +7 -0
- package/dist/tools/chain.cjs +9 -0
- package/dist/tools/chain.d.ts +12 -0
- package/dist/tools/chain.js +9 -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 +9 -0
- package/dist/tools/dadjokeapi.d.ts +7 -0
- package/dist/tools/dadjokeapi.js +9 -0
- package/dist/tools/dataforseo_api_search.cjs +3 -0
- package/dist/tools/dataforseo_api_search.d.ts +10 -0
- package/dist/tools/dataforseo_api_search.js +3 -0
- package/dist/tools/dynamic.cjs +12 -0
- package/dist/tools/dynamic.d.ts +14 -0
- package/dist/tools/dynamic.js +12 -0
- package/dist/tools/fs.cjs +14 -0
- package/dist/tools/fs.d.ts +16 -0
- package/dist/tools/fs.js +14 -0
- package/dist/tools/google_custom_search.cjs +8 -0
- package/dist/tools/google_custom_search.d.ts +9 -0
- package/dist/tools/google_custom_search.js +8 -0
- package/dist/tools/json.cjs +29 -1
- package/dist/tools/json.d.ts +24 -0
- package/dist/tools/json.js +29 -1
- package/dist/tools/requests.cjs +19 -2
- package/dist/tools/requests.d.ts +17 -0
- package/dist/tools/requests.js +19 -2
- package/dist/tools/searxng_search.cjs +10 -0
- package/dist/tools/searxng_search.d.ts +11 -0
- package/dist/tools/searxng_search.js +10 -0
- package/dist/tools/serpapi.cjs +10 -0
- package/dist/tools/serpapi.d.ts +8 -0
- package/dist/tools/serpapi.js +10 -0
- package/dist/tools/serper.cjs +8 -0
- package/dist/tools/serper.d.ts +10 -0
- package/dist/tools/serper.js +8 -0
- package/dist/tools/sql.cjs +37 -0
- package/dist/tools/sql.d.ts +36 -0
- package/dist/tools/sql.js +37 -0
- package/dist/tools/vectorstore.cjs +14 -0
- package/dist/tools/vectorstore.d.ts +15 -0
- package/dist/tools/vectorstore.js +14 -0
- package/dist/tools/webbrowser.cjs +9 -0
- package/dist/tools/webbrowser.d.ts +13 -0
- package/dist/tools/webbrowser.js +9 -0
- package/dist/tools/wikipedia_query_run.cjs +19 -0
- package/dist/tools/wikipedia_query_run.d.ts +25 -0
- package/dist/tools/wikipedia_query_run.js +19 -0
- package/dist/tools/zapier.cjs +15 -0
- package/dist/tools/zapier.d.ts +13 -0
- package/dist/tools/zapier.js +15 -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 +16 -0
- package/dist/vectorstores/base.d.ts +27 -0
- package/dist/vectorstores/base.js +16 -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 +74 -0
- package/dist/vectorstores/elasticsearch.d.ts +90 -0
- package/dist/vectorstores/elasticsearch.js +74 -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 +54 -2
- 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
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import * as uuid from "uuid";
|
|
2
2
|
import { VectorStore } from "./base.js";
|
|
3
3
|
import { Document } from "../document.js";
|
|
4
|
+
/**
|
|
5
|
+
* The main class that extends the `VectorStore` class. It provides
|
|
6
|
+
* methods for interacting with the Chroma database, such as adding
|
|
7
|
+
* documents, deleting documents, and searching for similar vectors.
|
|
8
|
+
*/
|
|
4
9
|
export class Chroma extends VectorStore {
|
|
5
10
|
_vectorstoreType() {
|
|
6
11
|
return "chroma";
|
|
@@ -54,10 +59,23 @@ export class Chroma extends VectorStore {
|
|
|
54
59
|
}
|
|
55
60
|
this.filter = args.filter;
|
|
56
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Adds documents to the Chroma database. The documents are first
|
|
64
|
+
* converted to vectors using the `embeddings` instance, and then added to
|
|
65
|
+
* the database.
|
|
66
|
+
* @param documents An array of `Document` instances to be added to the database.
|
|
67
|
+
* @param options Optional. An object containing an array of `ids` for the documents.
|
|
68
|
+
* @returns A promise that resolves when the documents have been added to the database.
|
|
69
|
+
*/
|
|
57
70
|
async addDocuments(documents, options) {
|
|
58
71
|
const texts = documents.map(({ pageContent }) => pageContent);
|
|
59
72
|
return this.addVectors(await this.embeddings.embedDocuments(texts), documents, options);
|
|
60
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Ensures that a collection exists in the Chroma database. If the
|
|
76
|
+
* collection does not exist, it is created.
|
|
77
|
+
* @returns A promise that resolves with the `Collection` instance.
|
|
78
|
+
*/
|
|
61
79
|
async ensureCollection() {
|
|
62
80
|
if (!this.collection) {
|
|
63
81
|
if (!this.index) {
|
|
@@ -75,6 +93,14 @@ export class Chroma extends VectorStore {
|
|
|
75
93
|
}
|
|
76
94
|
return this.collection;
|
|
77
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Adds vectors to the Chroma database. The vectors are associated with
|
|
98
|
+
* the provided documents.
|
|
99
|
+
* @param vectors An array of vectors to be added to the database.
|
|
100
|
+
* @param documents An array of `Document` instances associated with the vectors.
|
|
101
|
+
* @param options Optional. An object containing an array of `ids` for the vectors.
|
|
102
|
+
* @returns A promise that resolves with an array of document IDs when the vectors have been added to the database.
|
|
103
|
+
*/
|
|
78
104
|
async addVectors(vectors, documents, options) {
|
|
79
105
|
if (vectors.length === 0) {
|
|
80
106
|
return [];
|
|
@@ -116,6 +142,12 @@ export class Chroma extends VectorStore {
|
|
|
116
142
|
});
|
|
117
143
|
return documentIds;
|
|
118
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Deletes documents from the Chroma database. The documents to be deleted
|
|
147
|
+
* can be specified by providing an array of `ids` or a `filter` object.
|
|
148
|
+
* @param params An object containing either an array of `ids` of the documents to be deleted or a `filter` object to specify the documents to be deleted.
|
|
149
|
+
* @returns A promise that resolves when the specified documents have been deleted from the database.
|
|
150
|
+
*/
|
|
119
151
|
async delete(params) {
|
|
120
152
|
const collection = await this.ensureCollection();
|
|
121
153
|
if (Array.isArray(params.ids)) {
|
|
@@ -130,6 +162,15 @@ export class Chroma extends VectorStore {
|
|
|
130
162
|
throw new Error(`You must provide one of "ids or "filter".`);
|
|
131
163
|
}
|
|
132
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Searches for vectors in the Chroma database that are similar to the
|
|
167
|
+
* provided query vector. The search can be filtered using the provided
|
|
168
|
+
* `filter` object or the `filter` property of the `Chroma` instance.
|
|
169
|
+
* @param query The query vector.
|
|
170
|
+
* @param k The number of similar vectors to return.
|
|
171
|
+
* @param filter Optional. A `filter` object to filter the search results.
|
|
172
|
+
* @returns A promise that resolves with an array of tuples, each containing a `Document` instance and a similarity score.
|
|
173
|
+
*/
|
|
133
174
|
async similaritySearchVectorWithScore(query, k, filter) {
|
|
134
175
|
if (filter && this.filter) {
|
|
135
176
|
throw new Error("cannot provide both `filter` and `this.filter`");
|
|
@@ -178,6 +219,16 @@ export class Chroma extends VectorStore {
|
|
|
178
219
|
}
|
|
179
220
|
return results;
|
|
180
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* Creates a new `Chroma` instance from an array of text strings. The text
|
|
224
|
+
* strings are converted to `Document` instances and added to the Chroma
|
|
225
|
+
* database.
|
|
226
|
+
* @param texts An array of text strings.
|
|
227
|
+
* @param metadatas An array of metadata objects or a single metadata object. If an array is provided, it must have the same length as the `texts` array.
|
|
228
|
+
* @param embeddings An `Embeddings` instance used to generate embeddings for the documents.
|
|
229
|
+
* @param dbConfig A `ChromaLibArgs` object containing the configuration for the Chroma database.
|
|
230
|
+
* @returns A promise that resolves with a new `Chroma` instance.
|
|
231
|
+
*/
|
|
181
232
|
static async fromTexts(texts, metadatas, embeddings, dbConfig) {
|
|
182
233
|
const docs = [];
|
|
183
234
|
for (let i = 0; i < texts.length; i += 1) {
|
|
@@ -190,16 +241,35 @@ export class Chroma extends VectorStore {
|
|
|
190
241
|
}
|
|
191
242
|
return this.fromDocuments(docs, embeddings, dbConfig);
|
|
192
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* Creates a new `Chroma` instance from an array of `Document` instances.
|
|
246
|
+
* The documents are added to the Chroma database.
|
|
247
|
+
* @param docs An array of `Document` instances.
|
|
248
|
+
* @param embeddings An `Embeddings` instance used to generate embeddings for the documents.
|
|
249
|
+
* @param dbConfig A `ChromaLibArgs` object containing the configuration for the Chroma database.
|
|
250
|
+
* @returns A promise that resolves with a new `Chroma` instance.
|
|
251
|
+
*/
|
|
193
252
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
194
253
|
const instance = new this(embeddings, dbConfig);
|
|
195
254
|
await instance.addDocuments(docs);
|
|
196
255
|
return instance;
|
|
197
256
|
}
|
|
257
|
+
/**
|
|
258
|
+
* Creates a new `Chroma` instance from an existing collection in the
|
|
259
|
+
* Chroma database.
|
|
260
|
+
* @param embeddings An `Embeddings` instance used to generate embeddings for the documents.
|
|
261
|
+
* @param dbConfig A `ChromaLibArgs` object containing the configuration for the Chroma database.
|
|
262
|
+
* @returns A promise that resolves with a new `Chroma` instance.
|
|
263
|
+
*/
|
|
198
264
|
static async fromExistingCollection(embeddings, dbConfig) {
|
|
199
265
|
const instance = new this(embeddings, dbConfig);
|
|
200
266
|
await instance.ensureCollection();
|
|
201
267
|
return instance;
|
|
202
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Imports the `ChromaClient` from the `chromadb` module.
|
|
271
|
+
* @returns A promise that resolves with an object containing the `ChromaClient` constructor.
|
|
272
|
+
*/
|
|
203
273
|
static async imports() {
|
|
204
274
|
try {
|
|
205
275
|
const { ChromaClient } = await import("chromadb");
|
|
@@ -210,6 +280,9 @@ export class Chroma extends VectorStore {
|
|
|
210
280
|
}
|
|
211
281
|
}
|
|
212
282
|
}
|
|
283
|
+
/**
|
|
284
|
+
* Generates a unique collection name if none is provided.
|
|
285
|
+
*/
|
|
213
286
|
function ensureCollectionName(collectionName) {
|
|
214
287
|
if (!collectionName) {
|
|
215
288
|
return `langchain-${uuid.v4()}`;
|
|
@@ -27,6 +27,12 @@ exports.ElasticVectorSearch = void 0;
|
|
|
27
27
|
const uuid = __importStar(require("uuid"));
|
|
28
28
|
const document_js_1 = require("../document.cjs");
|
|
29
29
|
const base_js_1 = require("./base.cjs");
|
|
30
|
+
/**
|
|
31
|
+
* Class for interacting with an Elasticsearch database. It extends the
|
|
32
|
+
* VectorStore base class and provides methods for adding documents and
|
|
33
|
+
* vectors to the Elasticsearch database, performing similarity searches,
|
|
34
|
+
* deleting documents, and more.
|
|
35
|
+
*/
|
|
30
36
|
class ElasticVectorSearch extends base_js_1.VectorStore {
|
|
31
37
|
_vectorstoreType() {
|
|
32
38
|
return "elasticsearch";
|
|
@@ -83,10 +89,27 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
|
|
|
83
89
|
this.client = args.client;
|
|
84
90
|
this.indexName = args.indexName ?? "documents";
|
|
85
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Method to add documents to the Elasticsearch database. It first
|
|
94
|
+
* converts the documents to vectors using the embeddings, then adds the
|
|
95
|
+
* vectors to the database.
|
|
96
|
+
* @param documents The documents to add to the database.
|
|
97
|
+
* @param options Optional parameter that can contain the IDs for the documents.
|
|
98
|
+
* @returns A promise that resolves with the IDs of the added documents.
|
|
99
|
+
*/
|
|
86
100
|
async addDocuments(documents, options) {
|
|
87
101
|
const texts = documents.map(({ pageContent }) => pageContent);
|
|
88
102
|
return this.addVectors(await this.embeddings.embedDocuments(texts), documents, options);
|
|
89
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Method to add vectors to the Elasticsearch database. It ensures the
|
|
106
|
+
* index exists, then adds the vectors and their corresponding documents
|
|
107
|
+
* to the database.
|
|
108
|
+
* @param vectors The vectors to add to the database.
|
|
109
|
+
* @param documents The documents corresponding to the vectors.
|
|
110
|
+
* @param options Optional parameter that can contain the IDs for the documents.
|
|
111
|
+
* @returns A promise that resolves with the IDs of the added documents.
|
|
112
|
+
*/
|
|
90
113
|
async addVectors(vectors, documents, options) {
|
|
91
114
|
await this.ensureIndexExists(vectors[0].length, this.engine, this.similarity, this.efConstruction, this.m);
|
|
92
115
|
const documentIds = options?.ids ?? Array.from({ length: vectors.length }, () => uuid.v4());
|
|
@@ -106,9 +129,19 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
|
|
|
106
129
|
await this.client.bulk({ refresh: true, operations });
|
|
107
130
|
return documentIds;
|
|
108
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Method to perform a similarity search in the Elasticsearch database
|
|
134
|
+
* using a vector. It returns the k most similar documents along with
|
|
135
|
+
* their similarity scores.
|
|
136
|
+
* @param query The query vector.
|
|
137
|
+
* @param k The number of most similar documents to return.
|
|
138
|
+
* @param filter Optional filter to apply to the search.
|
|
139
|
+
* @returns A promise that resolves with an array of tuples, where each tuple contains a Document and its similarity score.
|
|
140
|
+
*/
|
|
109
141
|
async similaritySearchVectorWithScore(query, k, filter) {
|
|
110
142
|
const result = await this.client.search({
|
|
111
143
|
index: this.indexName,
|
|
144
|
+
size: k,
|
|
112
145
|
knn: {
|
|
113
146
|
field: "embedding",
|
|
114
147
|
query_vector: query,
|
|
@@ -126,6 +159,11 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
|
|
|
126
159
|
hit._score,
|
|
127
160
|
]);
|
|
128
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Method to delete documents from the Elasticsearch database.
|
|
164
|
+
* @param params Object containing the IDs of the documents to delete.
|
|
165
|
+
* @returns A promise that resolves when the deletion is complete.
|
|
166
|
+
*/
|
|
129
167
|
async delete(params) {
|
|
130
168
|
const operations = params.ids.map((id) => ({
|
|
131
169
|
delete: {
|
|
@@ -135,6 +173,17 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
|
|
|
135
173
|
}));
|
|
136
174
|
await this.client.bulk({ refresh: true, operations });
|
|
137
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* Static method to create an ElasticVectorSearch instance from texts. It
|
|
178
|
+
* creates Document instances from the texts and their corresponding
|
|
179
|
+
* metadata, then calls the fromDocuments method to create the
|
|
180
|
+
* ElasticVectorSearch instance.
|
|
181
|
+
* @param texts The texts to create the ElasticVectorSearch instance from.
|
|
182
|
+
* @param metadatas The metadata corresponding to the texts.
|
|
183
|
+
* @param embeddings The embeddings to use for the documents.
|
|
184
|
+
* @param args The arguments to create the Elasticsearch client.
|
|
185
|
+
* @returns A promise that resolves with the created ElasticVectorSearch instance.
|
|
186
|
+
*/
|
|
138
187
|
static fromTexts(texts, metadatas, embeddings, args) {
|
|
139
188
|
const documents = texts.map((text, idx) => {
|
|
140
189
|
const metadata = Array.isArray(metadatas) ? metadatas[idx] : metadatas;
|
|
@@ -142,11 +191,28 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
|
|
|
142
191
|
});
|
|
143
192
|
return ElasticVectorSearch.fromDocuments(documents, embeddings, args);
|
|
144
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* Static method to create an ElasticVectorSearch instance from Document
|
|
196
|
+
* instances. It adds the documents to the Elasticsearch database, then
|
|
197
|
+
* returns the ElasticVectorSearch instance.
|
|
198
|
+
* @param docs The Document instances to create the ElasticVectorSearch instance from.
|
|
199
|
+
* @param embeddings The embeddings to use for the documents.
|
|
200
|
+
* @param dbConfig The configuration for the Elasticsearch database.
|
|
201
|
+
* @returns A promise that resolves with the created ElasticVectorSearch instance.
|
|
202
|
+
*/
|
|
145
203
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
146
204
|
const store = new ElasticVectorSearch(embeddings, dbConfig);
|
|
147
205
|
await store.addDocuments(docs).then(() => store);
|
|
148
206
|
return store;
|
|
149
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Static method to create an ElasticVectorSearch instance from an
|
|
210
|
+
* existing index in the Elasticsearch database. It checks if the index
|
|
211
|
+
* exists, then returns the ElasticVectorSearch instance if it does.
|
|
212
|
+
* @param embeddings The embeddings to use for the documents.
|
|
213
|
+
* @param dbConfig The configuration for the Elasticsearch database.
|
|
214
|
+
* @returns A promise that resolves with the created ElasticVectorSearch instance if the index exists, otherwise it throws an error.
|
|
215
|
+
*/
|
|
150
216
|
static async fromExistingIndex(embeddings, dbConfig) {
|
|
151
217
|
const store = new ElasticVectorSearch(embeddings, dbConfig);
|
|
152
218
|
const exists = await store.doesIndexExist();
|
|
@@ -199,9 +265,17 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
|
|
|
199
265
|
}
|
|
200
266
|
return result;
|
|
201
267
|
}
|
|
268
|
+
/**
|
|
269
|
+
* Method to check if an index exists in the Elasticsearch database.
|
|
270
|
+
* @returns A promise that resolves with a boolean indicating whether the index exists.
|
|
271
|
+
*/
|
|
202
272
|
async doesIndexExist() {
|
|
203
273
|
return await this.client.indices.exists({ index: this.indexName });
|
|
204
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* Method to delete an index from the Elasticsearch database if it exists.
|
|
277
|
+
* @returns A promise that resolves when the deletion is complete.
|
|
278
|
+
*/
|
|
205
279
|
async deleteIfExists() {
|
|
206
280
|
const indexExists = await this.doesIndexExist();
|
|
207
281
|
if (!indexExists)
|
|
@@ -2,8 +2,18 @@ import { Client } from "@elastic/elasticsearch";
|
|
|
2
2
|
import { Embeddings } from "../embeddings/base.js";
|
|
3
3
|
import { Document } from "../document.js";
|
|
4
4
|
import { VectorStore } from "./base.js";
|
|
5
|
+
/**
|
|
6
|
+
* Type representing the k-nearest neighbors (k-NN) engine used in
|
|
7
|
+
* Elasticsearch.
|
|
8
|
+
*/
|
|
5
9
|
type ElasticKnnEngine = "hnsw";
|
|
10
|
+
/**
|
|
11
|
+
* Type representing the similarity measure used in Elasticsearch.
|
|
12
|
+
*/
|
|
6
13
|
type ElasticSimilarity = "l2_norm" | "dot_product" | "cosine";
|
|
14
|
+
/**
|
|
15
|
+
* Interface defining the options for vector search in Elasticsearch.
|
|
16
|
+
*/
|
|
7
17
|
interface VectorSearchOptions {
|
|
8
18
|
readonly engine?: ElasticKnnEngine;
|
|
9
19
|
readonly similarity?: ElasticSimilarity;
|
|
@@ -11,12 +21,25 @@ interface VectorSearchOptions {
|
|
|
11
21
|
readonly efConstruction?: number;
|
|
12
22
|
readonly candidates?: number;
|
|
13
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Interface defining the arguments required to create an Elasticsearch
|
|
26
|
+
* client.
|
|
27
|
+
*/
|
|
14
28
|
export interface ElasticClientArgs {
|
|
15
29
|
readonly client: Client;
|
|
16
30
|
readonly indexName?: string;
|
|
17
31
|
readonly vectorSearchOptions?: VectorSearchOptions;
|
|
18
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Type representing a filter object in Elasticsearch.
|
|
35
|
+
*/
|
|
19
36
|
type ElasticFilter = object;
|
|
37
|
+
/**
|
|
38
|
+
* Class for interacting with an Elasticsearch database. It extends the
|
|
39
|
+
* VectorStore base class and provides methods for adding documents and
|
|
40
|
+
* vectors to the Elasticsearch database, performing similarity searches,
|
|
41
|
+
* deleting documents, and more.
|
|
42
|
+
*/
|
|
20
43
|
export declare class ElasticVectorSearch extends VectorStore {
|
|
21
44
|
FilterType: ElasticFilter;
|
|
22
45
|
private readonly client;
|
|
@@ -28,22 +51,89 @@ export declare class ElasticVectorSearch extends VectorStore {
|
|
|
28
51
|
private readonly candidates;
|
|
29
52
|
_vectorstoreType(): string;
|
|
30
53
|
constructor(embeddings: Embeddings, args: ElasticClientArgs);
|
|
54
|
+
/**
|
|
55
|
+
* Method to add documents to the Elasticsearch database. It first
|
|
56
|
+
* converts the documents to vectors using the embeddings, then adds the
|
|
57
|
+
* vectors to the database.
|
|
58
|
+
* @param documents The documents to add to the database.
|
|
59
|
+
* @param options Optional parameter that can contain the IDs for the documents.
|
|
60
|
+
* @returns A promise that resolves with the IDs of the added documents.
|
|
61
|
+
*/
|
|
31
62
|
addDocuments(documents: Document[], options?: {
|
|
32
63
|
ids?: string[];
|
|
33
64
|
}): Promise<string[]>;
|
|
65
|
+
/**
|
|
66
|
+
* Method to add vectors to the Elasticsearch database. It ensures the
|
|
67
|
+
* index exists, then adds the vectors and their corresponding documents
|
|
68
|
+
* to the database.
|
|
69
|
+
* @param vectors The vectors to add to the database.
|
|
70
|
+
* @param documents The documents corresponding to the vectors.
|
|
71
|
+
* @param options Optional parameter that can contain the IDs for the documents.
|
|
72
|
+
* @returns A promise that resolves with the IDs of the added documents.
|
|
73
|
+
*/
|
|
34
74
|
addVectors(vectors: number[][], documents: Document[], options?: {
|
|
35
75
|
ids?: string[];
|
|
36
76
|
}): Promise<string[]>;
|
|
77
|
+
/**
|
|
78
|
+
* Method to perform a similarity search in the Elasticsearch database
|
|
79
|
+
* using a vector. It returns the k most similar documents along with
|
|
80
|
+
* their similarity scores.
|
|
81
|
+
* @param query The query vector.
|
|
82
|
+
* @param k The number of most similar documents to return.
|
|
83
|
+
* @param filter Optional filter to apply to the search.
|
|
84
|
+
* @returns A promise that resolves with an array of tuples, where each tuple contains a Document and its similarity score.
|
|
85
|
+
*/
|
|
37
86
|
similaritySearchVectorWithScore(query: number[], k: number, filter?: ElasticFilter | undefined): Promise<[Document, number][]>;
|
|
87
|
+
/**
|
|
88
|
+
* Method to delete documents from the Elasticsearch database.
|
|
89
|
+
* @param params Object containing the IDs of the documents to delete.
|
|
90
|
+
* @returns A promise that resolves when the deletion is complete.
|
|
91
|
+
*/
|
|
38
92
|
delete(params: {
|
|
39
93
|
ids: string[];
|
|
40
94
|
}): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Static method to create an ElasticVectorSearch instance from texts. It
|
|
97
|
+
* creates Document instances from the texts and their corresponding
|
|
98
|
+
* metadata, then calls the fromDocuments method to create the
|
|
99
|
+
* ElasticVectorSearch instance.
|
|
100
|
+
* @param texts The texts to create the ElasticVectorSearch instance from.
|
|
101
|
+
* @param metadatas The metadata corresponding to the texts.
|
|
102
|
+
* @param embeddings The embeddings to use for the documents.
|
|
103
|
+
* @param args The arguments to create the Elasticsearch client.
|
|
104
|
+
* @returns A promise that resolves with the created ElasticVectorSearch instance.
|
|
105
|
+
*/
|
|
41
106
|
static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, args: ElasticClientArgs): Promise<ElasticVectorSearch>;
|
|
107
|
+
/**
|
|
108
|
+
* Static method to create an ElasticVectorSearch instance from Document
|
|
109
|
+
* instances. It adds the documents to the Elasticsearch database, then
|
|
110
|
+
* returns the ElasticVectorSearch instance.
|
|
111
|
+
* @param docs The Document instances to create the ElasticVectorSearch instance from.
|
|
112
|
+
* @param embeddings The embeddings to use for the documents.
|
|
113
|
+
* @param dbConfig The configuration for the Elasticsearch database.
|
|
114
|
+
* @returns A promise that resolves with the created ElasticVectorSearch instance.
|
|
115
|
+
*/
|
|
42
116
|
static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig: ElasticClientArgs): Promise<ElasticVectorSearch>;
|
|
117
|
+
/**
|
|
118
|
+
* Static method to create an ElasticVectorSearch instance from an
|
|
119
|
+
* existing index in the Elasticsearch database. It checks if the index
|
|
120
|
+
* exists, then returns the ElasticVectorSearch instance if it does.
|
|
121
|
+
* @param embeddings The embeddings to use for the documents.
|
|
122
|
+
* @param dbConfig The configuration for the Elasticsearch database.
|
|
123
|
+
* @returns A promise that resolves with the created ElasticVectorSearch instance if the index exists, otherwise it throws an error.
|
|
124
|
+
*/
|
|
43
125
|
static fromExistingIndex(embeddings: Embeddings, dbConfig: ElasticClientArgs): Promise<ElasticVectorSearch>;
|
|
44
126
|
private ensureIndexExists;
|
|
45
127
|
private buildMetadataTerms;
|
|
128
|
+
/**
|
|
129
|
+
* Method to check if an index exists in the Elasticsearch database.
|
|
130
|
+
* @returns A promise that resolves with a boolean indicating whether the index exists.
|
|
131
|
+
*/
|
|
46
132
|
doesIndexExist(): Promise<boolean>;
|
|
133
|
+
/**
|
|
134
|
+
* Method to delete an index from the Elasticsearch database if it exists.
|
|
135
|
+
* @returns A promise that resolves when the deletion is complete.
|
|
136
|
+
*/
|
|
47
137
|
deleteIfExists(): Promise<void>;
|
|
48
138
|
}
|
|
49
139
|
export {};
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import * as uuid from "uuid";
|
|
2
2
|
import { Document } from "../document.js";
|
|
3
3
|
import { VectorStore } from "./base.js";
|
|
4
|
+
/**
|
|
5
|
+
* Class for interacting with an Elasticsearch database. It extends the
|
|
6
|
+
* VectorStore base class and provides methods for adding documents and
|
|
7
|
+
* vectors to the Elasticsearch database, performing similarity searches,
|
|
8
|
+
* deleting documents, and more.
|
|
9
|
+
*/
|
|
4
10
|
export class ElasticVectorSearch extends VectorStore {
|
|
5
11
|
_vectorstoreType() {
|
|
6
12
|
return "elasticsearch";
|
|
@@ -57,10 +63,27 @@ export class ElasticVectorSearch extends VectorStore {
|
|
|
57
63
|
this.client = args.client;
|
|
58
64
|
this.indexName = args.indexName ?? "documents";
|
|
59
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Method to add documents to the Elasticsearch database. It first
|
|
68
|
+
* converts the documents to vectors using the embeddings, then adds the
|
|
69
|
+
* vectors to the database.
|
|
70
|
+
* @param documents The documents to add to the database.
|
|
71
|
+
* @param options Optional parameter that can contain the IDs for the documents.
|
|
72
|
+
* @returns A promise that resolves with the IDs of the added documents.
|
|
73
|
+
*/
|
|
60
74
|
async addDocuments(documents, options) {
|
|
61
75
|
const texts = documents.map(({ pageContent }) => pageContent);
|
|
62
76
|
return this.addVectors(await this.embeddings.embedDocuments(texts), documents, options);
|
|
63
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Method to add vectors to the Elasticsearch database. It ensures the
|
|
80
|
+
* index exists, then adds the vectors and their corresponding documents
|
|
81
|
+
* to the database.
|
|
82
|
+
* @param vectors The vectors to add to the database.
|
|
83
|
+
* @param documents The documents corresponding to the vectors.
|
|
84
|
+
* @param options Optional parameter that can contain the IDs for the documents.
|
|
85
|
+
* @returns A promise that resolves with the IDs of the added documents.
|
|
86
|
+
*/
|
|
64
87
|
async addVectors(vectors, documents, options) {
|
|
65
88
|
await this.ensureIndexExists(vectors[0].length, this.engine, this.similarity, this.efConstruction, this.m);
|
|
66
89
|
const documentIds = options?.ids ?? Array.from({ length: vectors.length }, () => uuid.v4());
|
|
@@ -80,9 +103,19 @@ export class ElasticVectorSearch extends VectorStore {
|
|
|
80
103
|
await this.client.bulk({ refresh: true, operations });
|
|
81
104
|
return documentIds;
|
|
82
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Method to perform a similarity search in the Elasticsearch database
|
|
108
|
+
* using a vector. It returns the k most similar documents along with
|
|
109
|
+
* their similarity scores.
|
|
110
|
+
* @param query The query vector.
|
|
111
|
+
* @param k The number of most similar documents to return.
|
|
112
|
+
* @param filter Optional filter to apply to the search.
|
|
113
|
+
* @returns A promise that resolves with an array of tuples, where each tuple contains a Document and its similarity score.
|
|
114
|
+
*/
|
|
83
115
|
async similaritySearchVectorWithScore(query, k, filter) {
|
|
84
116
|
const result = await this.client.search({
|
|
85
117
|
index: this.indexName,
|
|
118
|
+
size: k,
|
|
86
119
|
knn: {
|
|
87
120
|
field: "embedding",
|
|
88
121
|
query_vector: query,
|
|
@@ -100,6 +133,11 @@ export class ElasticVectorSearch extends VectorStore {
|
|
|
100
133
|
hit._score,
|
|
101
134
|
]);
|
|
102
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Method to delete documents from the Elasticsearch database.
|
|
138
|
+
* @param params Object containing the IDs of the documents to delete.
|
|
139
|
+
* @returns A promise that resolves when the deletion is complete.
|
|
140
|
+
*/
|
|
103
141
|
async delete(params) {
|
|
104
142
|
const operations = params.ids.map((id) => ({
|
|
105
143
|
delete: {
|
|
@@ -109,6 +147,17 @@ export class ElasticVectorSearch extends VectorStore {
|
|
|
109
147
|
}));
|
|
110
148
|
await this.client.bulk({ refresh: true, operations });
|
|
111
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Static method to create an ElasticVectorSearch instance from texts. It
|
|
152
|
+
* creates Document instances from the texts and their corresponding
|
|
153
|
+
* metadata, then calls the fromDocuments method to create the
|
|
154
|
+
* ElasticVectorSearch instance.
|
|
155
|
+
* @param texts The texts to create the ElasticVectorSearch instance from.
|
|
156
|
+
* @param metadatas The metadata corresponding to the texts.
|
|
157
|
+
* @param embeddings The embeddings to use for the documents.
|
|
158
|
+
* @param args The arguments to create the Elasticsearch client.
|
|
159
|
+
* @returns A promise that resolves with the created ElasticVectorSearch instance.
|
|
160
|
+
*/
|
|
112
161
|
static fromTexts(texts, metadatas, embeddings, args) {
|
|
113
162
|
const documents = texts.map((text, idx) => {
|
|
114
163
|
const metadata = Array.isArray(metadatas) ? metadatas[idx] : metadatas;
|
|
@@ -116,11 +165,28 @@ export class ElasticVectorSearch extends VectorStore {
|
|
|
116
165
|
});
|
|
117
166
|
return ElasticVectorSearch.fromDocuments(documents, embeddings, args);
|
|
118
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Static method to create an ElasticVectorSearch instance from Document
|
|
170
|
+
* instances. It adds the documents to the Elasticsearch database, then
|
|
171
|
+
* returns the ElasticVectorSearch instance.
|
|
172
|
+
* @param docs The Document instances to create the ElasticVectorSearch instance from.
|
|
173
|
+
* @param embeddings The embeddings to use for the documents.
|
|
174
|
+
* @param dbConfig The configuration for the Elasticsearch database.
|
|
175
|
+
* @returns A promise that resolves with the created ElasticVectorSearch instance.
|
|
176
|
+
*/
|
|
119
177
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
120
178
|
const store = new ElasticVectorSearch(embeddings, dbConfig);
|
|
121
179
|
await store.addDocuments(docs).then(() => store);
|
|
122
180
|
return store;
|
|
123
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Static method to create an ElasticVectorSearch instance from an
|
|
184
|
+
* existing index in the Elasticsearch database. It checks if the index
|
|
185
|
+
* exists, then returns the ElasticVectorSearch instance if it does.
|
|
186
|
+
* @param embeddings The embeddings to use for the documents.
|
|
187
|
+
* @param dbConfig The configuration for the Elasticsearch database.
|
|
188
|
+
* @returns A promise that resolves with the created ElasticVectorSearch instance if the index exists, otherwise it throws an error.
|
|
189
|
+
*/
|
|
124
190
|
static async fromExistingIndex(embeddings, dbConfig) {
|
|
125
191
|
const store = new ElasticVectorSearch(embeddings, dbConfig);
|
|
126
192
|
const exists = await store.doesIndexExist();
|
|
@@ -173,9 +239,17 @@ export class ElasticVectorSearch extends VectorStore {
|
|
|
173
239
|
}
|
|
174
240
|
return result;
|
|
175
241
|
}
|
|
242
|
+
/**
|
|
243
|
+
* Method to check if an index exists in the Elasticsearch database.
|
|
244
|
+
* @returns A promise that resolves with a boolean indicating whether the index exists.
|
|
245
|
+
*/
|
|
176
246
|
async doesIndexExist() {
|
|
177
247
|
return await this.client.indices.exists({ index: this.indexName });
|
|
178
248
|
}
|
|
249
|
+
/**
|
|
250
|
+
* Method to delete an index from the Elasticsearch database if it exists.
|
|
251
|
+
* @returns A promise that resolves when the deletion is complete.
|
|
252
|
+
*/
|
|
179
253
|
async deleteIfExists() {
|
|
180
254
|
const indexExists = await this.doesIndexExist();
|
|
181
255
|
if (!indexExists)
|
|
@@ -28,6 +28,11 @@ const uuid = __importStar(require("uuid"));
|
|
|
28
28
|
const base_js_1 = require("./base.cjs");
|
|
29
29
|
const document_js_1 = require("../document.cjs");
|
|
30
30
|
const in_memory_js_1 = require("../stores/doc/in_memory.cjs");
|
|
31
|
+
/**
|
|
32
|
+
* A class that wraps the FAISS (Facebook AI Similarity Search) vector
|
|
33
|
+
* database for efficient similarity search and clustering of dense
|
|
34
|
+
* vectors.
|
|
35
|
+
*/
|
|
31
36
|
class FaissStore extends base_js_1.SaveableVectorStore {
|
|
32
37
|
_vectorstoreType() {
|
|
33
38
|
return "faiss";
|
|
@@ -70,6 +75,11 @@ class FaissStore extends base_js_1.SaveableVectorStore {
|
|
|
70
75
|
this.embeddings = embeddings;
|
|
71
76
|
this.docstore = args?.docstore ?? new in_memory_js_1.SynchronousInMemoryDocstore();
|
|
72
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Adds an array of Document objects to the store.
|
|
80
|
+
* @param documents An array of Document objects.
|
|
81
|
+
* @returns A Promise that resolves when the documents have been added.
|
|
82
|
+
*/
|
|
73
83
|
async addDocuments(documents) {
|
|
74
84
|
const texts = documents.map(({ pageContent }) => pageContent);
|
|
75
85
|
return this.addVectors(await this.embeddings.embedDocuments(texts), documents);
|
|
@@ -83,6 +93,13 @@ class FaissStore extends base_js_1.SaveableVectorStore {
|
|
|
83
93
|
set index(index) {
|
|
84
94
|
this._index = index;
|
|
85
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Adds an array of vectors and their corresponding Document objects to
|
|
98
|
+
* the store.
|
|
99
|
+
* @param vectors An array of vectors.
|
|
100
|
+
* @param documents An array of Document objects corresponding to the vectors.
|
|
101
|
+
* @returns A Promise that resolves with an array of document IDs when the vectors and documents have been added.
|
|
102
|
+
*/
|
|
86
103
|
async addVectors(vectors, documents) {
|
|
87
104
|
if (vectors.length === 0) {
|
|
88
105
|
return [];
|
|
@@ -111,6 +128,13 @@ class FaissStore extends base_js_1.SaveableVectorStore {
|
|
|
111
128
|
}
|
|
112
129
|
return documentIds;
|
|
113
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Performs a similarity search in the vector store using a query vector
|
|
133
|
+
* and returns the top k results along with their scores.
|
|
134
|
+
* @param query A query vector.
|
|
135
|
+
* @param k The number of top results to return.
|
|
136
|
+
* @returns A Promise that resolves with an array of tuples, each containing a Document and its corresponding score.
|
|
137
|
+
*/
|
|
114
138
|
async similaritySearchVectorWithScore(query, k) {
|
|
115
139
|
const d = this.index.getDimension();
|
|
116
140
|
if (query.length !== d) {
|
|
@@ -128,6 +152,11 @@ class FaissStore extends base_js_1.SaveableVectorStore {
|
|
|
128
152
|
return [this.docstore.search(uuid), result.distances[index]];
|
|
129
153
|
});
|
|
130
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Saves the current state of the FaissStore to a specified directory.
|
|
157
|
+
* @param directory The directory to save the state to.
|
|
158
|
+
* @returns A Promise that resolves when the state has been saved.
|
|
159
|
+
*/
|
|
131
160
|
async save(directory) {
|
|
132
161
|
const fs = await import("node:fs/promises");
|
|
133
162
|
const path = await import("node:path");
|
|
@@ -140,6 +169,11 @@ class FaissStore extends base_js_1.SaveableVectorStore {
|
|
|
140
169
|
])),
|
|
141
170
|
]);
|
|
142
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Merges the current FaissStore with another FaissStore.
|
|
174
|
+
* @param targetIndex The FaissStore to merge with.
|
|
175
|
+
* @returns A Promise that resolves with an array of document IDs when the merge is complete.
|
|
176
|
+
*/
|
|
143
177
|
async mergeFrom(targetIndex) {
|
|
144
178
|
const targetIndexDimensions = targetIndex.index.getDimension();
|
|
145
179
|
if (!this._index) {
|
|
@@ -166,6 +200,12 @@ class FaissStore extends base_js_1.SaveableVectorStore {
|
|
|
166
200
|
this.index.mergeFrom(targetIndex.index);
|
|
167
201
|
return documentIds;
|
|
168
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Loads a FaissStore from a specified directory.
|
|
205
|
+
* @param directory The directory to load the FaissStore from.
|
|
206
|
+
* @param embeddings An Embeddings object.
|
|
207
|
+
* @returns A Promise that resolves with a new FaissStore instance.
|
|
208
|
+
*/
|
|
169
209
|
static async load(directory, embeddings) {
|
|
170
210
|
const fs = await import("node:fs/promises");
|
|
171
211
|
const path = await import("node:path");
|
|
@@ -243,6 +283,15 @@ class FaissStore extends base_js_1.SaveableVectorStore {
|
|
|
243
283
|
mapping: store.mapping,
|
|
244
284
|
});
|
|
245
285
|
}
|
|
286
|
+
/**
|
|
287
|
+
* Creates a new FaissStore from an array of texts, their corresponding
|
|
288
|
+
* metadata, and an Embeddings object.
|
|
289
|
+
* @param texts An array of texts.
|
|
290
|
+
* @param metadatas An array of metadata corresponding to the texts, or a single metadata object to be used for all texts.
|
|
291
|
+
* @param embeddings An Embeddings object.
|
|
292
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
293
|
+
* @returns A Promise that resolves with a new FaissStore instance.
|
|
294
|
+
*/
|
|
246
295
|
static async fromTexts(texts, metadatas, embeddings, dbConfig) {
|
|
247
296
|
const docs = [];
|
|
248
297
|
for (let i = 0; i < texts.length; i += 1) {
|
|
@@ -255,6 +304,14 @@ class FaissStore extends base_js_1.SaveableVectorStore {
|
|
|
255
304
|
}
|
|
256
305
|
return this.fromDocuments(docs, embeddings, dbConfig);
|
|
257
306
|
}
|
|
307
|
+
/**
|
|
308
|
+
* Creates a new FaissStore from an array of Document objects and an
|
|
309
|
+
* Embeddings object.
|
|
310
|
+
* @param docs An array of Document objects.
|
|
311
|
+
* @param embeddings An Embeddings object.
|
|
312
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
313
|
+
* @returns A Promise that resolves with a new FaissStore instance.
|
|
314
|
+
*/
|
|
258
315
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
259
316
|
const args = {
|
|
260
317
|
docstore: dbConfig?.docstore,
|
|
@@ -263,6 +320,14 @@ class FaissStore extends base_js_1.SaveableVectorStore {
|
|
|
263
320
|
await instance.addDocuments(docs);
|
|
264
321
|
return instance;
|
|
265
322
|
}
|
|
323
|
+
/**
|
|
324
|
+
* Creates a new FaissStore from an existing FaissStore and an Embeddings
|
|
325
|
+
* object.
|
|
326
|
+
* @param targetIndex An existing FaissStore.
|
|
327
|
+
* @param embeddings An Embeddings object.
|
|
328
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
329
|
+
* @returns A Promise that resolves with a new FaissStore instance.
|
|
330
|
+
*/
|
|
266
331
|
static async fromIndex(targetIndex, embeddings, dbConfig) {
|
|
267
332
|
const args = {
|
|
268
333
|
docstore: dbConfig?.docstore,
|