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
|
@@ -3,6 +3,12 @@ import { v4 as uuid } from "uuid";
|
|
|
3
3
|
import { VectorStore } from "./base.js";
|
|
4
4
|
import { Document } from "../document.js";
|
|
5
5
|
import { getEnvironmentVariable } from "../util/env.js";
|
|
6
|
+
/**
|
|
7
|
+
* Class that extends the `VectorStore` base class to interact with a
|
|
8
|
+
* Qdrant database. It includes methods for adding documents and vectors
|
|
9
|
+
* to the Qdrant database, searching for similar vectors, and ensuring the
|
|
10
|
+
* existence of a collection in the database.
|
|
11
|
+
*/
|
|
6
12
|
export class QdrantVectorStore extends VectorStore {
|
|
7
13
|
get lc_secrets() {
|
|
8
14
|
return {
|
|
@@ -52,10 +58,25 @@ export class QdrantVectorStore extends VectorStore {
|
|
|
52
58
|
},
|
|
53
59
|
};
|
|
54
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Method to add documents to the Qdrant database. It generates vectors
|
|
63
|
+
* from the documents using the `Embeddings` instance and then adds the
|
|
64
|
+
* vectors to the database.
|
|
65
|
+
* @param documents Array of `Document` instances to be added to the Qdrant database.
|
|
66
|
+
* @returns Promise that resolves when the documents have been added to the database.
|
|
67
|
+
*/
|
|
55
68
|
async addDocuments(documents) {
|
|
56
69
|
const texts = documents.map(({ pageContent }) => pageContent);
|
|
57
70
|
await this.addVectors(await this.embeddings.embedDocuments(texts), documents);
|
|
58
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Method to add vectors to the Qdrant database. Each vector is associated
|
|
74
|
+
* with a document, which is stored as the payload for a point in the
|
|
75
|
+
* database.
|
|
76
|
+
* @param vectors Array of vectors to be added to the Qdrant database.
|
|
77
|
+
* @param documents Array of `Document` instances associated with the vectors.
|
|
78
|
+
* @returns Promise that resolves when the vectors have been added to the database.
|
|
79
|
+
*/
|
|
59
80
|
async addVectors(vectors, documents) {
|
|
60
81
|
if (vectors.length === 0) {
|
|
61
82
|
return;
|
|
@@ -74,6 +95,15 @@ export class QdrantVectorStore extends VectorStore {
|
|
|
74
95
|
points,
|
|
75
96
|
});
|
|
76
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Method to search for vectors in the Qdrant database that are similar to
|
|
100
|
+
* a given query vector. The search results include the score and payload
|
|
101
|
+
* (metadata and content) for each similar vector.
|
|
102
|
+
* @param query Query vector to search for similar vectors in the Qdrant database.
|
|
103
|
+
* @param k Optional number of similar vectors to return. If not specified, all similar vectors are returned.
|
|
104
|
+
* @param filter Optional filter to apply to the search results.
|
|
105
|
+
* @returns Promise that resolves with an array of tuples, where each tuple includes a `Document` instance and a score for a similar vector.
|
|
106
|
+
*/
|
|
77
107
|
async similaritySearchVectorWithScore(query, k, filter) {
|
|
78
108
|
if (!query) {
|
|
79
109
|
return [];
|
|
@@ -93,6 +123,11 @@ export class QdrantVectorStore extends VectorStore {
|
|
|
93
123
|
]);
|
|
94
124
|
return result;
|
|
95
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Method to ensure the existence of a collection in the Qdrant database.
|
|
128
|
+
* If the collection does not exist, it is created.
|
|
129
|
+
* @returns Promise that resolves when the existence of the collection has been ensured.
|
|
130
|
+
*/
|
|
96
131
|
async ensureCollection() {
|
|
97
132
|
const response = await this.client.getCollections();
|
|
98
133
|
const collectionNames = response.collections.map((collection) => collection.name);
|
|
@@ -100,6 +135,16 @@ export class QdrantVectorStore extends VectorStore {
|
|
|
100
135
|
await this.client.createCollection(this.collectionName, this.collectionConfig);
|
|
101
136
|
}
|
|
102
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Static method to create a `QdrantVectorStore` instance from texts. Each
|
|
140
|
+
* text is associated with metadata and converted to a `Document`
|
|
141
|
+
* instance, which is then added to the Qdrant database.
|
|
142
|
+
* @param texts Array of texts to be converted to `Document` instances and added to the Qdrant database.
|
|
143
|
+
* @param metadatas Array or single object of metadata to be associated with the texts.
|
|
144
|
+
* @param embeddings `Embeddings` instance used to generate vectors from the texts.
|
|
145
|
+
* @param dbConfig `QdrantLibArgs` instance specifying the configuration for the Qdrant database.
|
|
146
|
+
* @returns Promise that resolves with a new `QdrantVectorStore` instance.
|
|
147
|
+
*/
|
|
103
148
|
static async fromTexts(texts, metadatas, embeddings, dbConfig) {
|
|
104
149
|
const docs = [];
|
|
105
150
|
for (let i = 0; i < texts.length; i += 1) {
|
|
@@ -112,11 +157,26 @@ export class QdrantVectorStore extends VectorStore {
|
|
|
112
157
|
}
|
|
113
158
|
return QdrantVectorStore.fromDocuments(docs, embeddings, dbConfig);
|
|
114
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Static method to create a `QdrantVectorStore` instance from `Document`
|
|
162
|
+
* instances. The documents are added to the Qdrant database.
|
|
163
|
+
* @param docs Array of `Document` instances to be added to the Qdrant database.
|
|
164
|
+
* @param embeddings `Embeddings` instance used to generate vectors from the documents.
|
|
165
|
+
* @param dbConfig `QdrantLibArgs` instance specifying the configuration for the Qdrant database.
|
|
166
|
+
* @returns Promise that resolves with a new `QdrantVectorStore` instance.
|
|
167
|
+
*/
|
|
115
168
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
116
169
|
const instance = new this(embeddings, dbConfig);
|
|
117
170
|
await instance.addDocuments(docs);
|
|
118
171
|
return instance;
|
|
119
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Static method to create a `QdrantVectorStore` instance from an existing
|
|
175
|
+
* collection in the Qdrant database.
|
|
176
|
+
* @param embeddings `Embeddings` instance used to generate vectors from the documents in the collection.
|
|
177
|
+
* @param dbConfig `QdrantLibArgs` instance specifying the configuration for the Qdrant database.
|
|
178
|
+
* @returns Promise that resolves with a new `QdrantVectorStore` instance.
|
|
179
|
+
*/
|
|
120
180
|
static async fromExistingCollection(embeddings, dbConfig) {
|
|
121
181
|
const instance = new this(embeddings, dbConfig);
|
|
122
182
|
await instance.ensureCollection();
|
|
@@ -4,6 +4,11 @@ exports.RedisVectorStore = void 0;
|
|
|
4
4
|
const redis_1 = require("redis");
|
|
5
5
|
const base_js_1 = require("./base.cjs");
|
|
6
6
|
const document_js_1 = require("../document.cjs");
|
|
7
|
+
/**
|
|
8
|
+
* Class representing a RedisVectorStore. It extends the VectorStore class
|
|
9
|
+
* and includes methods for adding documents and vectors, performing
|
|
10
|
+
* similarity searches, managing the index, and more.
|
|
11
|
+
*/
|
|
7
12
|
class RedisVectorStore extends base_js_1.VectorStore {
|
|
8
13
|
_vectorstoreType() {
|
|
9
14
|
return "redis";
|
|
@@ -70,10 +75,27 @@ class RedisVectorStore extends base_js_1.VectorStore {
|
|
|
70
75
|
this.vectorKey = _dbConfig.vectorKey ?? "content_vector";
|
|
71
76
|
this.filter = _dbConfig.filter;
|
|
72
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Method for adding documents to the RedisVectorStore. It first converts
|
|
80
|
+
* the documents to texts and then adds them as vectors.
|
|
81
|
+
* @param documents The documents to add.
|
|
82
|
+
* @param options Optional parameters for adding the documents.
|
|
83
|
+
* @returns A promise that resolves when the documents have been added.
|
|
84
|
+
*/
|
|
73
85
|
async addDocuments(documents, options) {
|
|
74
86
|
const texts = documents.map(({ pageContent }) => pageContent);
|
|
75
87
|
return this.addVectors(await this.embeddings.embedDocuments(texts), documents, options);
|
|
76
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Method for adding vectors to the RedisVectorStore. It checks if the
|
|
91
|
+
* index exists and creates it if it doesn't, then adds the vectors in
|
|
92
|
+
* batches.
|
|
93
|
+
* @param vectors The vectors to add.
|
|
94
|
+
* @param documents The documents associated with the vectors.
|
|
95
|
+
* @param keys Optional keys for the vectors.
|
|
96
|
+
* @param batchSize The size of the batches in which to add the vectors. Defaults to 1000.
|
|
97
|
+
* @returns A promise that resolves when the vectors have been added.
|
|
98
|
+
*/
|
|
77
99
|
async addVectors(vectors, documents, { keys, batchSize = 1000 } = {}) {
|
|
78
100
|
// check if the index exists and create it if it doesn't
|
|
79
101
|
await this.createIndex(vectors[0].length);
|
|
@@ -96,6 +118,14 @@ class RedisVectorStore extends base_js_1.VectorStore {
|
|
|
96
118
|
// insert final batch
|
|
97
119
|
await multi.exec();
|
|
98
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Method for performing a similarity search in the RedisVectorStore. It
|
|
123
|
+
* returns the documents and their scores.
|
|
124
|
+
* @param query The query vector.
|
|
125
|
+
* @param k The number of nearest neighbors to return.
|
|
126
|
+
* @param filter Optional filter to apply to the search.
|
|
127
|
+
* @returns A promise that resolves to an array of documents and their scores.
|
|
128
|
+
*/
|
|
99
129
|
async similaritySearchVectorWithScore(query, k, filter) {
|
|
100
130
|
if (filter && this.filter) {
|
|
101
131
|
throw new Error("cannot provide both `filter` and `this.filter`");
|
|
@@ -121,6 +151,16 @@ class RedisVectorStore extends base_js_1.VectorStore {
|
|
|
121
151
|
}
|
|
122
152
|
return result;
|
|
123
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Static method for creating a new instance of RedisVectorStore from
|
|
156
|
+
* texts. It creates documents from the texts and metadata, then adds them
|
|
157
|
+
* to the RedisVectorStore.
|
|
158
|
+
* @param texts The texts to add.
|
|
159
|
+
* @param metadatas The metadata associated with the texts.
|
|
160
|
+
* @param embeddings The embeddings to use.
|
|
161
|
+
* @param dbConfig The configuration for the RedisVectorStore.
|
|
162
|
+
* @returns A promise that resolves to a new instance of RedisVectorStore.
|
|
163
|
+
*/
|
|
124
164
|
static fromTexts(texts, metadatas, embeddings, dbConfig) {
|
|
125
165
|
const docs = [];
|
|
126
166
|
for (let i = 0; i < texts.length; i += 1) {
|
|
@@ -133,11 +173,23 @@ class RedisVectorStore extends base_js_1.VectorStore {
|
|
|
133
173
|
}
|
|
134
174
|
return RedisVectorStore.fromDocuments(docs, embeddings, dbConfig);
|
|
135
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* Static method for creating a new instance of RedisVectorStore from
|
|
178
|
+
* documents. It adds the documents to the RedisVectorStore.
|
|
179
|
+
* @param docs The documents to add.
|
|
180
|
+
* @param embeddings The embeddings to use.
|
|
181
|
+
* @param dbConfig The configuration for the RedisVectorStore.
|
|
182
|
+
* @returns A promise that resolves to a new instance of RedisVectorStore.
|
|
183
|
+
*/
|
|
136
184
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
137
185
|
const instance = new this(embeddings, dbConfig);
|
|
138
186
|
await instance.addDocuments(docs);
|
|
139
187
|
return instance;
|
|
140
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Method for checking if an index exists in the RedisVectorStore.
|
|
191
|
+
* @returns A promise that resolves to a boolean indicating whether the index exists.
|
|
192
|
+
*/
|
|
141
193
|
async checkIndexExists() {
|
|
142
194
|
try {
|
|
143
195
|
await this.redisClient.ft.info(this.indexName);
|
|
@@ -148,6 +200,12 @@ class RedisVectorStore extends base_js_1.VectorStore {
|
|
|
148
200
|
}
|
|
149
201
|
return true;
|
|
150
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Method for creating an index in the RedisVectorStore. If the index
|
|
205
|
+
* already exists, it does nothing.
|
|
206
|
+
* @param dimensions The dimensions of the index. Defaults to 1536.
|
|
207
|
+
* @returns A promise that resolves when the index has been created.
|
|
208
|
+
*/
|
|
151
209
|
async createIndex(dimensions = 1536) {
|
|
152
210
|
if (await this.checkIndexExists()) {
|
|
153
211
|
return;
|
|
@@ -167,6 +225,10 @@ class RedisVectorStore extends base_js_1.VectorStore {
|
|
|
167
225
|
PREFIX: this.keyPrefix,
|
|
168
226
|
});
|
|
169
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* Method for dropping an index from the RedisVectorStore.
|
|
230
|
+
* @returns A promise that resolves to a boolean indicating whether the index was dropped.
|
|
231
|
+
*/
|
|
170
232
|
async dropIndex() {
|
|
171
233
|
try {
|
|
172
234
|
await this.redisClient.ft.dropIndex(this.indexName);
|
|
@@ -3,19 +3,37 @@ import { VectorAlgorithms } from "redis";
|
|
|
3
3
|
import { Embeddings } from "../embeddings/base.js";
|
|
4
4
|
import { VectorStore } from "./base.js";
|
|
5
5
|
import { Document } from "../document.js";
|
|
6
|
+
/**
|
|
7
|
+
* Type for creating a schema vector field. It includes the algorithm,
|
|
8
|
+
* distance metric, and initial capacity.
|
|
9
|
+
*/
|
|
6
10
|
export type CreateSchemaVectorField<T extends VectorAlgorithms, A extends Record<string, unknown>> = {
|
|
7
11
|
ALGORITHM: T;
|
|
8
12
|
DISTANCE_METRIC: "L2" | "IP" | "COSINE";
|
|
9
13
|
INITIAL_CAP?: number;
|
|
10
14
|
} & A;
|
|
15
|
+
/**
|
|
16
|
+
* Type for creating a flat schema vector field. It extends
|
|
17
|
+
* CreateSchemaVectorField with a block size property.
|
|
18
|
+
*/
|
|
11
19
|
export type CreateSchemaFlatVectorField = CreateSchemaVectorField<VectorAlgorithms.FLAT, {
|
|
12
20
|
BLOCK_SIZE?: number;
|
|
13
21
|
}>;
|
|
22
|
+
/**
|
|
23
|
+
* Type for creating a HNSW schema vector field. It extends
|
|
24
|
+
* CreateSchemaVectorField with M, EF_CONSTRUCTION, and EF_RUNTIME
|
|
25
|
+
* properties.
|
|
26
|
+
*/
|
|
14
27
|
export type CreateSchemaHNSWVectorField = CreateSchemaVectorField<VectorAlgorithms.HNSW, {
|
|
15
28
|
M?: number;
|
|
16
29
|
EF_CONSTRUCTION?: number;
|
|
17
30
|
EF_RUNTIME?: number;
|
|
18
31
|
}>;
|
|
32
|
+
/**
|
|
33
|
+
* Interface for the configuration of the RedisVectorStore. It includes
|
|
34
|
+
* the Redis client, index name, index options, key prefix, content key,
|
|
35
|
+
* metadata key, vector key, and filter.
|
|
36
|
+
*/
|
|
19
37
|
export interface RedisVectorStoreConfig {
|
|
20
38
|
redisClient: ReturnType<typeof createClient> | ReturnType<typeof createCluster>;
|
|
21
39
|
indexName: string;
|
|
@@ -26,11 +44,24 @@ export interface RedisVectorStoreConfig {
|
|
|
26
44
|
vectorKey?: string;
|
|
27
45
|
filter?: RedisVectorStoreFilterType;
|
|
28
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Interface for the options when adding documents to the
|
|
49
|
+
* RedisVectorStore. It includes keys and batch size.
|
|
50
|
+
*/
|
|
29
51
|
export interface RedisAddOptions {
|
|
30
52
|
keys?: string[];
|
|
31
53
|
batchSize?: number;
|
|
32
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Type for the filter used in the RedisVectorStore. It is an array of
|
|
57
|
+
* strings.
|
|
58
|
+
*/
|
|
33
59
|
export type RedisVectorStoreFilterType = string[];
|
|
60
|
+
/**
|
|
61
|
+
* Class representing a RedisVectorStore. It extends the VectorStore class
|
|
62
|
+
* and includes methods for adding documents and vectors, performing
|
|
63
|
+
* similarity searches, managing the index, and more.
|
|
64
|
+
*/
|
|
34
65
|
export declare class RedisVectorStore extends VectorStore {
|
|
35
66
|
FilterType: RedisVectorStoreFilterType;
|
|
36
67
|
private redisClient;
|
|
@@ -43,13 +74,70 @@ export declare class RedisVectorStore extends VectorStore {
|
|
|
43
74
|
filter?: RedisVectorStoreFilterType;
|
|
44
75
|
_vectorstoreType(): string;
|
|
45
76
|
constructor(embeddings: Embeddings, _dbConfig: RedisVectorStoreConfig);
|
|
77
|
+
/**
|
|
78
|
+
* Method for adding documents to the RedisVectorStore. It first converts
|
|
79
|
+
* the documents to texts and then adds them as vectors.
|
|
80
|
+
* @param documents The documents to add.
|
|
81
|
+
* @param options Optional parameters for adding the documents.
|
|
82
|
+
* @returns A promise that resolves when the documents have been added.
|
|
83
|
+
*/
|
|
46
84
|
addDocuments(documents: Document[], options?: RedisAddOptions): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Method for adding vectors to the RedisVectorStore. It checks if the
|
|
87
|
+
* index exists and creates it if it doesn't, then adds the vectors in
|
|
88
|
+
* batches.
|
|
89
|
+
* @param vectors The vectors to add.
|
|
90
|
+
* @param documents The documents associated with the vectors.
|
|
91
|
+
* @param keys Optional keys for the vectors.
|
|
92
|
+
* @param batchSize The size of the batches in which to add the vectors. Defaults to 1000.
|
|
93
|
+
* @returns A promise that resolves when the vectors have been added.
|
|
94
|
+
*/
|
|
47
95
|
addVectors(vectors: number[][], documents: Document[], { keys, batchSize }?: RedisAddOptions): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Method for performing a similarity search in the RedisVectorStore. It
|
|
98
|
+
* returns the documents and their scores.
|
|
99
|
+
* @param query The query vector.
|
|
100
|
+
* @param k The number of nearest neighbors to return.
|
|
101
|
+
* @param filter Optional filter to apply to the search.
|
|
102
|
+
* @returns A promise that resolves to an array of documents and their scores.
|
|
103
|
+
*/
|
|
48
104
|
similaritySearchVectorWithScore(query: number[], k: number, filter?: RedisVectorStoreFilterType): Promise<[Document, number][]>;
|
|
105
|
+
/**
|
|
106
|
+
* Static method for creating a new instance of RedisVectorStore from
|
|
107
|
+
* texts. It creates documents from the texts and metadata, then adds them
|
|
108
|
+
* to the RedisVectorStore.
|
|
109
|
+
* @param texts The texts to add.
|
|
110
|
+
* @param metadatas The metadata associated with the texts.
|
|
111
|
+
* @param embeddings The embeddings to use.
|
|
112
|
+
* @param dbConfig The configuration for the RedisVectorStore.
|
|
113
|
+
* @returns A promise that resolves to a new instance of RedisVectorStore.
|
|
114
|
+
*/
|
|
49
115
|
static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, dbConfig: RedisVectorStoreConfig): Promise<RedisVectorStore>;
|
|
116
|
+
/**
|
|
117
|
+
* Static method for creating a new instance of RedisVectorStore from
|
|
118
|
+
* documents. It adds the documents to the RedisVectorStore.
|
|
119
|
+
* @param docs The documents to add.
|
|
120
|
+
* @param embeddings The embeddings to use.
|
|
121
|
+
* @param dbConfig The configuration for the RedisVectorStore.
|
|
122
|
+
* @returns A promise that resolves to a new instance of RedisVectorStore.
|
|
123
|
+
*/
|
|
50
124
|
static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig: RedisVectorStoreConfig): Promise<RedisVectorStore>;
|
|
125
|
+
/**
|
|
126
|
+
* Method for checking if an index exists in the RedisVectorStore.
|
|
127
|
+
* @returns A promise that resolves to a boolean indicating whether the index exists.
|
|
128
|
+
*/
|
|
51
129
|
checkIndexExists(): Promise<boolean>;
|
|
130
|
+
/**
|
|
131
|
+
* Method for creating an index in the RedisVectorStore. If the index
|
|
132
|
+
* already exists, it does nothing.
|
|
133
|
+
* @param dimensions The dimensions of the index. Defaults to 1536.
|
|
134
|
+
* @returns A promise that resolves when the index has been created.
|
|
135
|
+
*/
|
|
52
136
|
createIndex(dimensions?: number): Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Method for dropping an index from the RedisVectorStore.
|
|
139
|
+
* @returns A promise that resolves to a boolean indicating whether the index was dropped.
|
|
140
|
+
*/
|
|
53
141
|
dropIndex(): Promise<boolean>;
|
|
54
142
|
private buildQuery;
|
|
55
143
|
private prepareFilter;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { SchemaFieldTypes, VectorAlgorithms } from "redis";
|
|
2
2
|
import { VectorStore } from "./base.js";
|
|
3
3
|
import { Document } from "../document.js";
|
|
4
|
+
/**
|
|
5
|
+
* Class representing a RedisVectorStore. It extends the VectorStore class
|
|
6
|
+
* and includes methods for adding documents and vectors, performing
|
|
7
|
+
* similarity searches, managing the index, and more.
|
|
8
|
+
*/
|
|
4
9
|
export class RedisVectorStore extends VectorStore {
|
|
5
10
|
_vectorstoreType() {
|
|
6
11
|
return "redis";
|
|
@@ -67,10 +72,27 @@ export class RedisVectorStore extends VectorStore {
|
|
|
67
72
|
this.vectorKey = _dbConfig.vectorKey ?? "content_vector";
|
|
68
73
|
this.filter = _dbConfig.filter;
|
|
69
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Method for adding documents to the RedisVectorStore. It first converts
|
|
77
|
+
* the documents to texts and then adds them as vectors.
|
|
78
|
+
* @param documents The documents to add.
|
|
79
|
+
* @param options Optional parameters for adding the documents.
|
|
80
|
+
* @returns A promise that resolves when the documents have been added.
|
|
81
|
+
*/
|
|
70
82
|
async addDocuments(documents, options) {
|
|
71
83
|
const texts = documents.map(({ pageContent }) => pageContent);
|
|
72
84
|
return this.addVectors(await this.embeddings.embedDocuments(texts), documents, options);
|
|
73
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Method for adding vectors to the RedisVectorStore. It checks if the
|
|
88
|
+
* index exists and creates it if it doesn't, then adds the vectors in
|
|
89
|
+
* batches.
|
|
90
|
+
* @param vectors The vectors to add.
|
|
91
|
+
* @param documents The documents associated with the vectors.
|
|
92
|
+
* @param keys Optional keys for the vectors.
|
|
93
|
+
* @param batchSize The size of the batches in which to add the vectors. Defaults to 1000.
|
|
94
|
+
* @returns A promise that resolves when the vectors have been added.
|
|
95
|
+
*/
|
|
74
96
|
async addVectors(vectors, documents, { keys, batchSize = 1000 } = {}) {
|
|
75
97
|
// check if the index exists and create it if it doesn't
|
|
76
98
|
await this.createIndex(vectors[0].length);
|
|
@@ -93,6 +115,14 @@ export class RedisVectorStore extends VectorStore {
|
|
|
93
115
|
// insert final batch
|
|
94
116
|
await multi.exec();
|
|
95
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Method for performing a similarity search in the RedisVectorStore. It
|
|
120
|
+
* returns the documents and their scores.
|
|
121
|
+
* @param query The query vector.
|
|
122
|
+
* @param k The number of nearest neighbors to return.
|
|
123
|
+
* @param filter Optional filter to apply to the search.
|
|
124
|
+
* @returns A promise that resolves to an array of documents and their scores.
|
|
125
|
+
*/
|
|
96
126
|
async similaritySearchVectorWithScore(query, k, filter) {
|
|
97
127
|
if (filter && this.filter) {
|
|
98
128
|
throw new Error("cannot provide both `filter` and `this.filter`");
|
|
@@ -118,6 +148,16 @@ export class RedisVectorStore extends VectorStore {
|
|
|
118
148
|
}
|
|
119
149
|
return result;
|
|
120
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Static method for creating a new instance of RedisVectorStore from
|
|
153
|
+
* texts. It creates documents from the texts and metadata, then adds them
|
|
154
|
+
* to the RedisVectorStore.
|
|
155
|
+
* @param texts The texts to add.
|
|
156
|
+
* @param metadatas The metadata associated with the texts.
|
|
157
|
+
* @param embeddings The embeddings to use.
|
|
158
|
+
* @param dbConfig The configuration for the RedisVectorStore.
|
|
159
|
+
* @returns A promise that resolves to a new instance of RedisVectorStore.
|
|
160
|
+
*/
|
|
121
161
|
static fromTexts(texts, metadatas, embeddings, dbConfig) {
|
|
122
162
|
const docs = [];
|
|
123
163
|
for (let i = 0; i < texts.length; i += 1) {
|
|
@@ -130,11 +170,23 @@ export class RedisVectorStore extends VectorStore {
|
|
|
130
170
|
}
|
|
131
171
|
return RedisVectorStore.fromDocuments(docs, embeddings, dbConfig);
|
|
132
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Static method for creating a new instance of RedisVectorStore from
|
|
175
|
+
* documents. It adds the documents to the RedisVectorStore.
|
|
176
|
+
* @param docs The documents to add.
|
|
177
|
+
* @param embeddings The embeddings to use.
|
|
178
|
+
* @param dbConfig The configuration for the RedisVectorStore.
|
|
179
|
+
* @returns A promise that resolves to a new instance of RedisVectorStore.
|
|
180
|
+
*/
|
|
133
181
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
134
182
|
const instance = new this(embeddings, dbConfig);
|
|
135
183
|
await instance.addDocuments(docs);
|
|
136
184
|
return instance;
|
|
137
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Method for checking if an index exists in the RedisVectorStore.
|
|
188
|
+
* @returns A promise that resolves to a boolean indicating whether the index exists.
|
|
189
|
+
*/
|
|
138
190
|
async checkIndexExists() {
|
|
139
191
|
try {
|
|
140
192
|
await this.redisClient.ft.info(this.indexName);
|
|
@@ -145,6 +197,12 @@ export class RedisVectorStore extends VectorStore {
|
|
|
145
197
|
}
|
|
146
198
|
return true;
|
|
147
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Method for creating an index in the RedisVectorStore. If the index
|
|
202
|
+
* already exists, it does nothing.
|
|
203
|
+
* @param dimensions The dimensions of the index. Defaults to 1536.
|
|
204
|
+
* @returns A promise that resolves when the index has been created.
|
|
205
|
+
*/
|
|
148
206
|
async createIndex(dimensions = 1536) {
|
|
149
207
|
if (await this.checkIndexExists()) {
|
|
150
208
|
return;
|
|
@@ -164,6 +222,10 @@ export class RedisVectorStore extends VectorStore {
|
|
|
164
222
|
PREFIX: this.keyPrefix,
|
|
165
223
|
});
|
|
166
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* Method for dropping an index from the RedisVectorStore.
|
|
227
|
+
* @returns A promise that resolves to a boolean indicating whether the index was dropped.
|
|
228
|
+
*/
|
|
167
229
|
async dropIndex() {
|
|
168
230
|
try {
|
|
169
231
|
await this.redisClient.ft.dropIndex(this.indexName);
|
|
@@ -38,6 +38,11 @@ function withConnectAttributes(config) {
|
|
|
38
38
|
};
|
|
39
39
|
return result;
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Class for interacting with SingleStoreDB, a high-performance
|
|
43
|
+
* distributed SQL database. It provides vector storage and vector
|
|
44
|
+
* functions.
|
|
45
|
+
*/
|
|
41
46
|
class SingleStoreVectorStore extends base_js_1.VectorStore {
|
|
42
47
|
_vectorstoreType() {
|
|
43
48
|
return "singlestore";
|
|
@@ -87,6 +92,10 @@ class SingleStoreVectorStore extends base_js_1.VectorStore {
|
|
|
87
92
|
this.metadataColumnName = config.metadataColumnName ?? "metadata";
|
|
88
93
|
this.distanceMetric = config.distanceMetric ?? "DOT_PRODUCT";
|
|
89
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Creates a new table in the SingleStoreDB database if it does not
|
|
97
|
+
* already exist.
|
|
98
|
+
*/
|
|
90
99
|
async createTableIfNotExists() {
|
|
91
100
|
await this.connectionPool
|
|
92
101
|
.execute(`CREATE TABLE IF NOT EXISTS ${this.tableName} (
|
|
@@ -94,14 +103,26 @@ class SingleStoreVectorStore extends base_js_1.VectorStore {
|
|
|
94
103
|
${this.vectorColumnName} BLOB,
|
|
95
104
|
${this.metadataColumnName} JSON);`);
|
|
96
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Ends the connection to the SingleStoreDB database.
|
|
108
|
+
*/
|
|
97
109
|
async end() {
|
|
98
110
|
return this.connectionPool.end();
|
|
99
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Adds new documents to the SingleStoreDB database.
|
|
114
|
+
* @param documents An array of Document objects.
|
|
115
|
+
*/
|
|
100
116
|
async addDocuments(documents) {
|
|
101
117
|
const texts = documents.map(({ pageContent }) => pageContent);
|
|
102
118
|
const vectors = await this.embeddings.embedDocuments(texts);
|
|
103
119
|
return this.addVectors(vectors, documents);
|
|
104
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Adds new vectors to the SingleStoreDB database.
|
|
123
|
+
* @param vectors An array of vectors.
|
|
124
|
+
* @param documents An array of Document objects.
|
|
125
|
+
*/
|
|
105
126
|
async addVectors(vectors, documents) {
|
|
106
127
|
await this.createTableIfNotExists();
|
|
107
128
|
const { tableName } = this;
|
|
@@ -118,6 +139,14 @@ class SingleStoreVectorStore extends base_js_1.VectorStore {
|
|
|
118
139
|
}
|
|
119
140
|
}));
|
|
120
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Performs a similarity search on the vectors stored in the SingleStoreDB
|
|
144
|
+
* database.
|
|
145
|
+
* @param query An array of numbers representing the query vector.
|
|
146
|
+
* @param k The number of nearest neighbors to return.
|
|
147
|
+
* @param filter Optional metadata to filter the vectors by.
|
|
148
|
+
* @returns Top matching vectors with score
|
|
149
|
+
*/
|
|
121
150
|
async similaritySearchVectorWithScore(query, k, filter) {
|
|
122
151
|
// build the where clause from filter
|
|
123
152
|
const whereArgs = [];
|
|
@@ -157,6 +186,15 @@ class SingleStoreVectorStore extends base_js_1.VectorStore {
|
|
|
157
186
|
}
|
|
158
187
|
return result;
|
|
159
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Creates a new instance of the SingleStoreVectorStore class from a list
|
|
191
|
+
* of texts.
|
|
192
|
+
* @param texts An array of strings.
|
|
193
|
+
* @param metadatas An array of metadata objects.
|
|
194
|
+
* @param embeddings An Embeddings object.
|
|
195
|
+
* @param dbConfig A SingleStoreVectorStoreConfig object.
|
|
196
|
+
* @returns A new SingleStoreVectorStore instance
|
|
197
|
+
*/
|
|
160
198
|
static async fromTexts(texts, metadatas, embeddings, dbConfig) {
|
|
161
199
|
const docs = texts.map((text, idx) => {
|
|
162
200
|
const metadata = Array.isArray(metadatas) ? metadatas[idx] : metadatas;
|
|
@@ -167,6 +205,14 @@ class SingleStoreVectorStore extends base_js_1.VectorStore {
|
|
|
167
205
|
});
|
|
168
206
|
return SingleStoreVectorStore.fromDocuments(docs, embeddings, dbConfig);
|
|
169
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Creates a new instance of the SingleStoreVectorStore class from a list
|
|
210
|
+
* of Document objects.
|
|
211
|
+
* @param docs An array of Document objects.
|
|
212
|
+
* @param embeddings An Embeddings object.
|
|
213
|
+
* @param dbConfig A SingleStoreVectorStoreConfig object.
|
|
214
|
+
* @returns A new SingleStoreVectorStore instance
|
|
215
|
+
*/
|
|
170
216
|
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
171
217
|
const instance = new this(embeddings, dbConfig);
|
|
172
218
|
await instance.addDocuments(docs);
|
|
@@ -22,6 +22,11 @@ export type SingleStoreVectorStoreConfig = ConnectionConfig & {
|
|
|
22
22
|
metadataColumnName?: string;
|
|
23
23
|
distanceMetric?: DistanceMetrics;
|
|
24
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Class for interacting with SingleStoreDB, a high-performance
|
|
27
|
+
* distributed SQL database. It provides vector storage and vector
|
|
28
|
+
* functions.
|
|
29
|
+
*/
|
|
25
30
|
export declare class SingleStoreVectorStore extends VectorStore {
|
|
26
31
|
connectionPool: Pool;
|
|
27
32
|
tableName: string;
|
|
@@ -31,12 +36,53 @@ export declare class SingleStoreVectorStore extends VectorStore {
|
|
|
31
36
|
distanceMetric: DistanceMetrics;
|
|
32
37
|
_vectorstoreType(): string;
|
|
33
38
|
constructor(embeddings: Embeddings, config: SingleStoreVectorStoreConfig);
|
|
39
|
+
/**
|
|
40
|
+
* Creates a new table in the SingleStoreDB database if it does not
|
|
41
|
+
* already exist.
|
|
42
|
+
*/
|
|
34
43
|
createTableIfNotExists(): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Ends the connection to the SingleStoreDB database.
|
|
46
|
+
*/
|
|
35
47
|
end(): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Adds new documents to the SingleStoreDB database.
|
|
50
|
+
* @param documents An array of Document objects.
|
|
51
|
+
*/
|
|
36
52
|
addDocuments(documents: Document[]): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Adds new vectors to the SingleStoreDB database.
|
|
55
|
+
* @param vectors An array of vectors.
|
|
56
|
+
* @param documents An array of Document objects.
|
|
57
|
+
*/
|
|
37
58
|
addVectors(vectors: number[][], documents: Document[]): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Performs a similarity search on the vectors stored in the SingleStoreDB
|
|
61
|
+
* database.
|
|
62
|
+
* @param query An array of numbers representing the query vector.
|
|
63
|
+
* @param k The number of nearest neighbors to return.
|
|
64
|
+
* @param filter Optional metadata to filter the vectors by.
|
|
65
|
+
* @returns Top matching vectors with score
|
|
66
|
+
*/
|
|
38
67
|
similaritySearchVectorWithScore(query: number[], k: number, filter?: Metadata): Promise<[Document, number][]>;
|
|
68
|
+
/**
|
|
69
|
+
* Creates a new instance of the SingleStoreVectorStore class from a list
|
|
70
|
+
* of texts.
|
|
71
|
+
* @param texts An array of strings.
|
|
72
|
+
* @param metadatas An array of metadata objects.
|
|
73
|
+
* @param embeddings An Embeddings object.
|
|
74
|
+
* @param dbConfig A SingleStoreVectorStoreConfig object.
|
|
75
|
+
* @returns A new SingleStoreVectorStore instance
|
|
76
|
+
*/
|
|
39
77
|
static fromTexts(texts: string[], metadatas: object[], embeddings: Embeddings, dbConfig: SingleStoreVectorStoreConfig): Promise<SingleStoreVectorStore>;
|
|
78
|
+
/**
|
|
79
|
+
* Creates a new instance of the SingleStoreVectorStore class from a list
|
|
80
|
+
* of Document objects.
|
|
81
|
+
* @param docs An array of Document objects.
|
|
82
|
+
* @param embeddings An Embeddings object.
|
|
83
|
+
* @param dbConfig A SingleStoreVectorStoreConfig object.
|
|
84
|
+
* @returns A new SingleStoreVectorStore instance
|
|
85
|
+
*/
|
|
40
86
|
static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig: SingleStoreVectorStoreConfig): Promise<SingleStoreVectorStore>;
|
|
41
87
|
}
|
|
42
88
|
export {};
|