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
|
@@ -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,6 +129,15 @@ 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,
|
|
@@ -127,6 +159,11 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
|
|
|
127
159
|
hit._score,
|
|
128
160
|
]);
|
|
129
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
|
+
*/
|
|
130
167
|
async delete(params) {
|
|
131
168
|
const operations = params.ids.map((id) => ({
|
|
132
169
|
delete: {
|
|
@@ -136,6 +173,17 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
|
|
|
136
173
|
}));
|
|
137
174
|
await this.client.bulk({ refresh: true, operations });
|
|
138
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
|
+
*/
|
|
139
187
|
static fromTexts(texts, metadatas, embeddings, args) {
|
|
140
188
|
const documents = texts.map((text, idx) => {
|
|
141
189
|
const metadata = Array.isArray(metadatas) ? metadatas[idx] : metadatas;
|
|
@@ -143,11 +191,28 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
|
|
|
143
191
|
});
|
|
144
192
|
return ElasticVectorSearch.fromDocuments(documents, embeddings, args);
|
|
145
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
|
+
*/
|
|
146
203
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
147
204
|
const store = new ElasticVectorSearch(embeddings, dbConfig);
|
|
148
205
|
await store.addDocuments(docs).then(() => store);
|
|
149
206
|
return store;
|
|
150
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
|
+
*/
|
|
151
216
|
static async fromExistingIndex(embeddings, dbConfig) {
|
|
152
217
|
const store = new ElasticVectorSearch(embeddings, dbConfig);
|
|
153
218
|
const exists = await store.doesIndexExist();
|
|
@@ -200,9 +265,17 @@ class ElasticVectorSearch extends base_js_1.VectorStore {
|
|
|
200
265
|
}
|
|
201
266
|
return result;
|
|
202
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
|
+
*/
|
|
203
272
|
async doesIndexExist() {
|
|
204
273
|
return await this.client.indices.exists({ index: this.indexName });
|
|
205
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
|
+
*/
|
|
206
279
|
async deleteIfExists() {
|
|
207
280
|
const indexExists = await this.doesIndexExist();
|
|
208
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,6 +103,15 @@ 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,
|
|
@@ -101,6 +133,11 @@ export class ElasticVectorSearch extends VectorStore {
|
|
|
101
133
|
hit._score,
|
|
102
134
|
]);
|
|
103
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
|
+
*/
|
|
104
141
|
async delete(params) {
|
|
105
142
|
const operations = params.ids.map((id) => ({
|
|
106
143
|
delete: {
|
|
@@ -110,6 +147,17 @@ export class ElasticVectorSearch extends VectorStore {
|
|
|
110
147
|
}));
|
|
111
148
|
await this.client.bulk({ refresh: true, operations });
|
|
112
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
|
+
*/
|
|
113
161
|
static fromTexts(texts, metadatas, embeddings, args) {
|
|
114
162
|
const documents = texts.map((text, idx) => {
|
|
115
163
|
const metadata = Array.isArray(metadatas) ? metadatas[idx] : metadatas;
|
|
@@ -117,11 +165,28 @@ export class ElasticVectorSearch extends VectorStore {
|
|
|
117
165
|
});
|
|
118
166
|
return ElasticVectorSearch.fromDocuments(documents, embeddings, args);
|
|
119
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
|
+
*/
|
|
120
177
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
121
178
|
const store = new ElasticVectorSearch(embeddings, dbConfig);
|
|
122
179
|
await store.addDocuments(docs).then(() => store);
|
|
123
180
|
return store;
|
|
124
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
|
+
*/
|
|
125
190
|
static async fromExistingIndex(embeddings, dbConfig) {
|
|
126
191
|
const store = new ElasticVectorSearch(embeddings, dbConfig);
|
|
127
192
|
const exists = await store.doesIndexExist();
|
|
@@ -174,9 +239,17 @@ export class ElasticVectorSearch extends VectorStore {
|
|
|
174
239
|
}
|
|
175
240
|
return result;
|
|
176
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
|
+
*/
|
|
177
246
|
async doesIndexExist() {
|
|
178
247
|
return await this.client.indices.exists({ index: this.indexName });
|
|
179
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
|
+
*/
|
|
180
253
|
async deleteIfExists() {
|
|
181
254
|
const indexExists = await this.doesIndexExist();
|
|
182
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,
|
|
@@ -4,11 +4,20 @@ import { Embeddings } from "../embeddings/base.js";
|
|
|
4
4
|
import { SaveableVectorStore } from "./base.js";
|
|
5
5
|
import { Document } from "../document.js";
|
|
6
6
|
import { SynchronousInMemoryDocstore } from "../stores/doc/in_memory.js";
|
|
7
|
+
/**
|
|
8
|
+
* Interface for the arguments required to initialize a FaissStore
|
|
9
|
+
* instance.
|
|
10
|
+
*/
|
|
7
11
|
export interface FaissLibArgs {
|
|
8
12
|
docstore?: SynchronousInMemoryDocstore;
|
|
9
13
|
index?: IndexFlatL2;
|
|
10
14
|
mapping?: Record<number, string>;
|
|
11
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* A class that wraps the FAISS (Facebook AI Similarity Search) vector
|
|
18
|
+
* database for efficient similarity search and clustering of dense
|
|
19
|
+
* vectors.
|
|
20
|
+
*/
|
|
12
21
|
export declare class FaissStore extends SaveableVectorStore {
|
|
13
22
|
_index?: IndexFlatL2;
|
|
14
23
|
_mapping: Record<number, string>;
|
|
@@ -18,21 +27,81 @@ export declare class FaissStore extends SaveableVectorStore {
|
|
|
18
27
|
getMapping(): Record<number, string>;
|
|
19
28
|
getDocstore(): SynchronousInMemoryDocstore;
|
|
20
29
|
constructor(embeddings: Embeddings, args: FaissLibArgs);
|
|
30
|
+
/**
|
|
31
|
+
* Adds an array of Document objects to the store.
|
|
32
|
+
* @param documents An array of Document objects.
|
|
33
|
+
* @returns A Promise that resolves when the documents have been added.
|
|
34
|
+
*/
|
|
21
35
|
addDocuments(documents: Document[]): Promise<string[]>;
|
|
22
36
|
get index(): IndexFlatL2;
|
|
23
37
|
private set index(value);
|
|
38
|
+
/**
|
|
39
|
+
* Adds an array of vectors and their corresponding Document objects to
|
|
40
|
+
* the store.
|
|
41
|
+
* @param vectors An array of vectors.
|
|
42
|
+
* @param documents An array of Document objects corresponding to the vectors.
|
|
43
|
+
* @returns A Promise that resolves with an array of document IDs when the vectors and documents have been added.
|
|
44
|
+
*/
|
|
24
45
|
addVectors(vectors: number[][], documents: Document[]): Promise<string[]>;
|
|
46
|
+
/**
|
|
47
|
+
* Performs a similarity search in the vector store using a query vector
|
|
48
|
+
* and returns the top k results along with their scores.
|
|
49
|
+
* @param query A query vector.
|
|
50
|
+
* @param k The number of top results to return.
|
|
51
|
+
* @returns A Promise that resolves with an array of tuples, each containing a Document and its corresponding score.
|
|
52
|
+
*/
|
|
25
53
|
similaritySearchVectorWithScore(query: number[], k: number): Promise<[Document<Record<string, any>>, number][]>;
|
|
54
|
+
/**
|
|
55
|
+
* Saves the current state of the FaissStore to a specified directory.
|
|
56
|
+
* @param directory The directory to save the state to.
|
|
57
|
+
* @returns A Promise that resolves when the state has been saved.
|
|
58
|
+
*/
|
|
26
59
|
save(directory: string): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Merges the current FaissStore with another FaissStore.
|
|
62
|
+
* @param targetIndex The FaissStore to merge with.
|
|
63
|
+
* @returns A Promise that resolves with an array of document IDs when the merge is complete.
|
|
64
|
+
*/
|
|
27
65
|
mergeFrom(targetIndex: FaissStore): Promise<string[]>;
|
|
66
|
+
/**
|
|
67
|
+
* Loads a FaissStore from a specified directory.
|
|
68
|
+
* @param directory The directory to load the FaissStore from.
|
|
69
|
+
* @param embeddings An Embeddings object.
|
|
70
|
+
* @returns A Promise that resolves with a new FaissStore instance.
|
|
71
|
+
*/
|
|
28
72
|
static load(directory: string, embeddings: Embeddings): Promise<FaissStore>;
|
|
29
73
|
static loadFromPython(directory: string, embeddings: Embeddings): Promise<FaissStore>;
|
|
74
|
+
/**
|
|
75
|
+
* Creates a new FaissStore from an array of texts, their corresponding
|
|
76
|
+
* metadata, and an Embeddings object.
|
|
77
|
+
* @param texts An array of texts.
|
|
78
|
+
* @param metadatas An array of metadata corresponding to the texts, or a single metadata object to be used for all texts.
|
|
79
|
+
* @param embeddings An Embeddings object.
|
|
80
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
81
|
+
* @returns A Promise that resolves with a new FaissStore instance.
|
|
82
|
+
*/
|
|
30
83
|
static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, dbConfig?: {
|
|
31
84
|
docstore?: SynchronousInMemoryDocstore;
|
|
32
85
|
}): Promise<FaissStore>;
|
|
86
|
+
/**
|
|
87
|
+
* Creates a new FaissStore from an array of Document objects and an
|
|
88
|
+
* Embeddings object.
|
|
89
|
+
* @param docs An array of Document objects.
|
|
90
|
+
* @param embeddings An Embeddings object.
|
|
91
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
92
|
+
* @returns A Promise that resolves with a new FaissStore instance.
|
|
93
|
+
*/
|
|
33
94
|
static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig?: {
|
|
34
95
|
docstore?: SynchronousInMemoryDocstore;
|
|
35
96
|
}): Promise<FaissStore>;
|
|
97
|
+
/**
|
|
98
|
+
* Creates a new FaissStore from an existing FaissStore and an Embeddings
|
|
99
|
+
* object.
|
|
100
|
+
* @param targetIndex An existing FaissStore.
|
|
101
|
+
* @param embeddings An Embeddings object.
|
|
102
|
+
* @param dbConfig An optional configuration object for the document store.
|
|
103
|
+
* @returns A Promise that resolves with a new FaissStore instance.
|
|
104
|
+
*/
|
|
36
105
|
static fromIndex(targetIndex: FaissStore, embeddings: Embeddings, dbConfig?: {
|
|
37
106
|
docstore?: SynchronousInMemoryDocstore;
|
|
38
107
|
}): Promise<FaissStore>;
|