langchain 0.0.202 → 0.0.204-rc.0
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/cache/cloudflare_kv.cjs +15 -69
- package/dist/cache/cloudflare_kv.d.ts +1 -42
- package/dist/cache/cloudflare_kv.js +1 -67
- package/dist/cache/momento.cjs +15 -135
- package/dist/cache/momento.d.ts +1 -91
- package/dist/cache/momento.js +1 -133
- package/dist/cache/upstash_redis.cjs +15 -72
- package/dist/cache/upstash_redis.d.ts +1 -45
- package/dist/cache/upstash_redis.js +1 -70
- package/dist/callbacks/handlers/llmonitor.cjs +14 -238
- package/dist/callbacks/handlers/llmonitor.d.ts +1 -35
- package/dist/callbacks/handlers/llmonitor.js +1 -233
- package/dist/chains/openai_moderation.cjs +2 -2
- package/dist/chains/openai_moderation.d.ts +1 -1
- package/dist/chains/openai_moderation.js +1 -1
- package/dist/chat_models/anthropic.d.ts +4 -4
- package/dist/chat_models/baiduwenxin.cjs +15 -411
- package/dist/chat_models/baiduwenxin.d.ts +1 -150
- package/dist/chat_models/baiduwenxin.js +1 -409
- package/dist/chat_models/bedrock/index.cjs +15 -33
- package/dist/chat_models/bedrock/index.d.ts +1 -23
- package/dist/chat_models/bedrock/index.js +1 -29
- package/dist/chat_models/bedrock/web.cjs +15 -360
- package/dist/chat_models/bedrock/web.d.ts +1 -82
- package/dist/chat_models/bedrock/web.js +1 -356
- package/dist/chat_models/cloudflare_workersai.cjs +15 -216
- package/dist/chat_models/cloudflare_workersai.d.ts +1 -68
- package/dist/chat_models/cloudflare_workersai.js +1 -214
- package/dist/chat_models/fireworks.cjs +15 -89
- package/dist/chat_models/fireworks.d.ts +1 -43
- package/dist/chat_models/fireworks.js +1 -87
- package/dist/chat_models/googlepalm.cjs +15 -235
- package/dist/chat_models/googlepalm.d.ts +1 -108
- package/dist/chat_models/googlepalm.js +1 -233
- package/dist/chat_models/googlevertexai/index.cjs +15 -40
- package/dist/chat_models/googlevertexai/index.d.ts +1 -28
- package/dist/chat_models/googlevertexai/index.js +1 -38
- package/dist/chat_models/googlevertexai/web.cjs +15 -39
- package/dist/chat_models/googlevertexai/web.d.ts +1 -28
- package/dist/chat_models/googlevertexai/web.js +1 -37
- package/dist/chat_models/iflytek_xinghuo/index.cjs +14 -40
- package/dist/chat_models/iflytek_xinghuo/index.d.ts +1 -13
- package/dist/chat_models/iflytek_xinghuo/index.js +1 -36
- package/dist/chat_models/iflytek_xinghuo/web.cjs +15 -36
- package/dist/chat_models/iflytek_xinghuo/web.d.ts +1 -13
- package/dist/chat_models/iflytek_xinghuo/web.js +1 -34
- package/dist/chat_models/llama_cpp.cjs +15 -275
- package/dist/chat_models/llama_cpp.d.ts +1 -71
- package/dist/chat_models/llama_cpp.js +1 -273
- package/dist/chat_models/minimax.cjs +15 -578
- package/dist/chat_models/minimax.d.ts +1 -369
- package/dist/chat_models/minimax.js +1 -576
- package/dist/chat_models/ollama.cjs +15 -394
- package/dist/chat_models/ollama.d.ts +1 -127
- package/dist/chat_models/ollama.js +1 -392
- package/dist/chat_models/openai.cjs +4 -698
- package/dist/chat_models/openai.d.ts +4 -137
- package/dist/chat_models/openai.js +2 -695
- package/dist/chat_models/portkey.cjs +15 -167
- package/dist/chat_models/portkey.d.ts +1 -17
- package/dist/chat_models/portkey.js +1 -165
- package/dist/chat_models/yandex.cjs +15 -132
- package/dist/chat_models/yandex.d.ts +1 -30
- package/dist/chat_models/yandex.js +1 -130
- package/dist/document_loaders/fs/openai_whisper_audio.cjs +2 -2
- package/dist/document_loaders/fs/openai_whisper_audio.d.ts +1 -1
- package/dist/document_loaders/fs/openai_whisper_audio.js +1 -1
- package/dist/document_loaders/fs/pdf.cjs +1 -1
- package/dist/document_loaders/fs/pdf.js +1 -1
- package/dist/document_loaders/web/pdf.cjs +1 -1
- package/dist/document_loaders/web/pdf.js +1 -1
- package/dist/document_transformers/html_to_text.cjs +15 -47
- package/dist/document_transformers/html_to_text.d.ts +1 -30
- package/dist/document_transformers/html_to_text.js +1 -45
- package/dist/document_transformers/mozilla_readability.cjs +15 -53
- package/dist/document_transformers/mozilla_readability.d.ts +1 -31
- package/dist/document_transformers/mozilla_readability.js +1 -51
- package/dist/embeddings/bedrock.cjs +15 -109
- package/dist/embeddings/bedrock.d.ts +1 -71
- package/dist/embeddings/bedrock.js +1 -107
- package/dist/embeddings/cloudflare_workersai.cjs +15 -67
- package/dist/embeddings/cloudflare_workersai.d.ts +1 -28
- package/dist/embeddings/cloudflare_workersai.js +1 -65
- package/dist/embeddings/cohere.cjs +15 -124
- package/dist/embeddings/cohere.d.ts +1 -66
- package/dist/embeddings/cohere.js +1 -122
- package/dist/embeddings/googlepalm.cjs +15 -88
- package/dist/embeddings/googlepalm.d.ts +1 -61
- package/dist/embeddings/googlepalm.js +1 -86
- package/dist/embeddings/googlevertexai.cjs +15 -81
- package/dist/embeddings/googlevertexai.d.ts +1 -54
- package/dist/embeddings/googlevertexai.js +1 -79
- package/dist/embeddings/gradient_ai.cjs +15 -101
- package/dist/embeddings/gradient_ai.d.ts +1 -48
- package/dist/embeddings/gradient_ai.js +1 -99
- package/dist/embeddings/hf.cjs +15 -75
- package/dist/embeddings/hf.d.ts +1 -41
- package/dist/embeddings/hf.js +1 -73
- package/dist/embeddings/hf_transformers.cjs +15 -87
- package/dist/embeddings/hf_transformers.d.ts +1 -47
- package/dist/embeddings/hf_transformers.js +1 -85
- package/dist/embeddings/llama_cpp.cjs +15 -81
- package/dist/embeddings/llama_cpp.d.ts +1 -42
- package/dist/embeddings/llama_cpp.js +1 -79
- package/dist/embeddings/minimax.cjs +15 -165
- package/dist/embeddings/minimax.d.ts +1 -119
- package/dist/embeddings/minimax.js +1 -163
- package/dist/embeddings/ollama.cjs +15 -118
- package/dist/embeddings/ollama.d.ts +1 -34
- package/dist/embeddings/ollama.js +1 -116
- package/dist/embeddings/openai.cjs +2 -240
- package/dist/embeddings/openai.d.ts +1 -82
- package/dist/embeddings/openai.js +1 -239
- package/dist/embeddings/tensorflow.cjs +3 -96
- package/dist/embeddings/tensorflow.d.ts +1 -59
- package/dist/embeddings/tensorflow.js +1 -83
- package/dist/embeddings/voyage.cjs +15 -118
- package/dist/embeddings/voyage.d.ts +1 -66
- package/dist/embeddings/voyage.js +1 -116
- package/dist/experimental/chat_models/ollama_functions.d.ts +1 -1
- package/dist/experimental/masking/index.cjs +9 -0
- package/dist/experimental/masking/index.d.ts +4 -0
- package/dist/experimental/masking/index.js +3 -0
- package/dist/experimental/masking/parser.cjs +134 -0
- package/dist/experimental/masking/parser.d.ts +44 -0
- package/dist/experimental/masking/parser.js +130 -0
- package/dist/experimental/masking/regex_masking_transformer.cjs +145 -0
- package/dist/experimental/masking/regex_masking_transformer.d.ts +48 -0
- package/dist/experimental/masking/regex_masking_transformer.js +141 -0
- package/dist/experimental/masking/transformer.cjs +9 -0
- package/dist/experimental/masking/transformer.d.ts +7 -0
- package/dist/experimental/masking/transformer.js +5 -0
- package/dist/experimental/masking/types.cjs +2 -0
- package/dist/experimental/masking/types.d.ts +25 -0
- package/dist/experimental/masking/types.js +1 -0
- package/dist/experimental/openai_assistant/index.cjs +3 -3
- package/dist/experimental/openai_assistant/index.d.ts +1 -1
- package/dist/experimental/openai_assistant/index.js +1 -1
- package/dist/experimental/openai_assistant/schema.d.ts +1 -1
- package/dist/experimental/openai_files/index.cjs +2 -2
- package/dist/experimental/openai_files/index.d.ts +1 -1
- package/dist/experimental/openai_files/index.js +1 -1
- package/dist/graphs/neo4j_graph.cjs +3 -254
- package/dist/graphs/neo4j_graph.d.ts +1 -63
- package/dist/graphs/neo4j_graph.js +1 -241
- package/dist/llms/ai21.cjs +15 -200
- package/dist/llms/ai21.d.ts +1 -100
- package/dist/llms/ai21.js +1 -198
- package/dist/llms/aleph_alpha.cjs +15 -374
- package/dist/llms/aleph_alpha.d.ts +1 -161
- package/dist/llms/aleph_alpha.js +1 -372
- package/dist/llms/bedrock/web.cjs +15 -310
- package/dist/llms/bedrock/web.d.ts +1 -66
- package/dist/llms/bedrock/web.js +1 -308
- package/dist/llms/cloudflare_workersai.cjs +15 -168
- package/dist/llms/cloudflare_workersai.d.ts +1 -55
- package/dist/llms/cloudflare_workersai.js +1 -166
- package/dist/llms/cohere.cjs +15 -110
- package/dist/llms/cohere.d.ts +1 -54
- package/dist/llms/cohere.js +1 -108
- package/dist/llms/fireworks.cjs +15 -90
- package/dist/llms/fireworks.d.ts +1 -33
- package/dist/llms/fireworks.js +1 -88
- package/dist/llms/googlepalm.cjs +15 -134
- package/dist/llms/googlepalm.d.ts +1 -92
- package/dist/llms/googlepalm.js +1 -132
- package/dist/llms/googlevertexai/index.cjs +15 -45
- package/dist/llms/googlevertexai/index.d.ts +1 -38
- package/dist/llms/googlevertexai/index.js +1 -43
- package/dist/llms/googlevertexai/web.cjs +15 -42
- package/dist/llms/googlevertexai/web.d.ts +1 -36
- package/dist/llms/googlevertexai/web.js +1 -40
- package/dist/llms/gradient_ai.cjs +15 -110
- package/dist/llms/gradient_ai.d.ts +1 -55
- package/dist/llms/gradient_ai.js +1 -108
- package/dist/llms/hf.cjs +15 -136
- package/dist/llms/hf.d.ts +1 -68
- package/dist/llms/hf.js +1 -134
- package/dist/llms/llama_cpp.cjs +15 -111
- package/dist/llms/llama_cpp.d.ts +1 -41
- package/dist/llms/llama_cpp.js +1 -109
- package/dist/llms/ollama.cjs +15 -353
- package/dist/llms/ollama.d.ts +1 -106
- package/dist/llms/ollama.js +1 -351
- package/dist/llms/openai-chat.cjs +3 -445
- package/dist/llms/openai-chat.d.ts +4 -123
- package/dist/llms/openai-chat.js +2 -443
- package/dist/llms/openai.cjs +6 -530
- package/dist/llms/openai.d.ts +4 -123
- package/dist/llms/openai.js +2 -525
- package/dist/llms/portkey.cjs +14 -168
- package/dist/llms/portkey.d.ts +1 -57
- package/dist/llms/portkey.js +1 -162
- package/dist/llms/raycast.cjs +15 -94
- package/dist/llms/raycast.d.ts +1 -50
- package/dist/llms/raycast.js +1 -92
- package/dist/llms/replicate.cjs +15 -132
- package/dist/llms/replicate.d.ts +1 -51
- package/dist/llms/replicate.js +1 -130
- package/dist/llms/sagemaker_endpoint.cjs +15 -203
- package/dist/llms/sagemaker_endpoint.d.ts +1 -121
- package/dist/llms/sagemaker_endpoint.js +1 -200
- package/dist/llms/watsonx_ai.cjs +15 -152
- package/dist/llms/watsonx_ai.d.ts +1 -72
- package/dist/llms/watsonx_ai.js +1 -150
- package/dist/llms/writer.cjs +15 -165
- package/dist/llms/writer.d.ts +1 -60
- package/dist/llms/writer.js +1 -163
- package/dist/llms/yandex.cjs +15 -98
- package/dist/llms/yandex.d.ts +1 -40
- package/dist/llms/yandex.js +1 -96
- package/dist/load/import_map.cjs +2 -1
- package/dist/load/import_map.d.ts +1 -0
- package/dist/load/import_map.js +1 -0
- package/dist/load/index.cjs +3 -1
- package/dist/load/index.d.ts +1 -1
- package/dist/load/index.js +3 -1
- package/dist/retrievers/amazon_kendra.cjs +15 -273
- package/dist/retrievers/amazon_kendra.d.ts +1 -142
- package/dist/retrievers/amazon_kendra.js +1 -271
- package/dist/retrievers/chaindesk.cjs +15 -88
- package/dist/retrievers/chaindesk.d.ts +1 -31
- package/dist/retrievers/chaindesk.js +1 -86
- package/dist/retrievers/databerry.cjs +15 -82
- package/dist/retrievers/databerry.d.ts +1 -34
- package/dist/retrievers/databerry.js +1 -80
- package/dist/retrievers/metal.cjs +15 -51
- package/dist/retrievers/metal.d.ts +1 -36
- package/dist/retrievers/metal.js +1 -49
- package/dist/retrievers/supabase.cjs +15 -167
- package/dist/retrievers/supabase.d.ts +1 -82
- package/dist/retrievers/supabase.js +1 -165
- package/dist/retrievers/tavily_search_api.cjs +15 -142
- package/dist/retrievers/tavily_search_api.d.ts +1 -38
- package/dist/retrievers/tavily_search_api.js +1 -140
- package/dist/retrievers/zep.cjs +15 -150
- package/dist/retrievers/zep.d.ts +1 -76
- package/dist/retrievers/zep.js +1 -148
- package/dist/schema/document.cjs +2 -16
- package/dist/schema/document.d.ts +1 -11
- package/dist/schema/document.js +1 -16
- package/dist/schema/index.cjs +2 -7
- package/dist/schema/index.d.ts +2 -10
- package/dist/schema/index.js +1 -6
- package/dist/storage/convex.cjs +15 -143
- package/dist/storage/convex.d.ts +1 -106
- package/dist/storage/convex.js +1 -141
- package/dist/storage/ioredis.cjs +15 -158
- package/dist/storage/ioredis.d.ts +1 -71
- package/dist/storage/ioredis.js +1 -156
- package/dist/storage/upstash_redis.cjs +15 -172
- package/dist/storage/upstash_redis.d.ts +1 -78
- package/dist/storage/upstash_redis.js +1 -170
- package/dist/storage/vercel_kv.cjs +15 -161
- package/dist/storage/vercel_kv.d.ts +1 -62
- package/dist/storage/vercel_kv.js +1 -159
- package/dist/stores/doc/in_memory.cjs +15 -105
- package/dist/stores/doc/in_memory.d.ts +1 -46
- package/dist/stores/doc/in_memory.js +1 -102
- package/dist/stores/message/cassandra.cjs +15 -158
- package/dist/stores/message/cassandra.d.ts +1 -69
- package/dist/stores/message/cassandra.js +1 -156
- package/dist/stores/message/cloudflare_d1.cjs +15 -150
- package/dist/stores/message/cloudflare_d1.d.ts +1 -67
- package/dist/stores/message/cloudflare_d1.js +1 -148
- package/dist/stores/message/convex.cjs +15 -118
- package/dist/stores/message/convex.d.ts +1 -81
- package/dist/stores/message/convex.js +1 -116
- package/dist/stores/message/dynamodb.cjs +15 -159
- package/dist/stores/message/dynamodb.d.ts +1 -51
- package/dist/stores/message/dynamodb.js +1 -157
- package/dist/stores/message/firestore.cjs +15 -185
- package/dist/stores/message/firestore.d.ts +1 -68
- package/dist/stores/message/firestore.js +1 -183
- package/dist/stores/message/ioredis.cjs +15 -98
- package/dist/stores/message/ioredis.d.ts +1 -64
- package/dist/stores/message/ioredis.js +1 -96
- package/dist/stores/message/momento.cjs +15 -160
- package/dist/stores/message/momento.d.ts +1 -97
- package/dist/stores/message/momento.js +1 -158
- package/dist/stores/message/mongodb.cjs +15 -57
- package/dist/stores/message/mongodb.d.ts +1 -26
- package/dist/stores/message/mongodb.js +1 -55
- package/dist/stores/message/planetscale.cjs +15 -170
- package/dist/stores/message/planetscale.d.ts +1 -75
- package/dist/stores/message/planetscale.js +1 -168
- package/dist/stores/message/redis.cjs +15 -114
- package/dist/stores/message/redis.d.ts +1 -69
- package/dist/stores/message/redis.js +1 -112
- package/dist/stores/message/upstash_redis.cjs +15 -85
- package/dist/stores/message/upstash_redis.d.ts +1 -43
- package/dist/stores/message/upstash_redis.js +1 -83
- package/dist/stores/message/utils.cjs +3 -23
- package/dist/stores/message/utils.d.ts +1 -17
- package/dist/stores/message/utils.js +1 -21
- package/dist/stores/message/xata.cjs +15 -216
- package/dist/stores/message/xata.d.ts +1 -76
- package/dist/stores/message/xata.js +1 -214
- package/dist/tools/IFTTTWebhook.cjs +15 -87
- package/dist/tools/IFTTTWebhook.d.ts +1 -50
- package/dist/tools/IFTTTWebhook.js +1 -85
- package/dist/tools/aiplugin.cjs +15 -73
- package/dist/tools/aiplugin.d.ts +1 -34
- package/dist/tools/aiplugin.js +1 -71
- package/dist/tools/aws_sfn.cjs +15 -201
- package/dist/tools/aws_sfn.d.ts +1 -57
- package/dist/tools/aws_sfn.js +1 -197
- package/dist/tools/bingserpapi.cjs +15 -76
- package/dist/tools/bingserpapi.d.ts +1 -23
- package/dist/tools/bingserpapi.js +1 -75
- package/dist/tools/brave_search.cjs +15 -64
- package/dist/tools/brave_search.d.ts +1 -23
- package/dist/tools/brave_search.js +1 -62
- package/dist/tools/connery.cjs +15 -277
- package/dist/tools/connery.d.ts +1 -145
- package/dist/tools/connery.js +1 -274
- package/dist/tools/convert_to_openai.d.ts +1 -1
- package/dist/tools/dadjokeapi.cjs +15 -46
- package/dist/tools/dadjokeapi.d.ts +1 -15
- package/dist/tools/dadjokeapi.js +1 -45
- package/dist/tools/dataforseo_api_search.cjs +15 -280
- package/dist/tools/dataforseo_api_search.d.ts +1 -170
- package/dist/tools/dataforseo_api_search.js +1 -278
- package/dist/tools/gmail/index.cjs +15 -11
- package/dist/tools/gmail/index.d.ts +1 -11
- package/dist/tools/gmail/index.js +1 -5
- package/dist/tools/google_custom_search.cjs +15 -70
- package/dist/tools/google_custom_search.d.ts +1 -25
- package/dist/tools/google_custom_search.js +1 -68
- package/dist/tools/google_places.cjs +15 -79
- package/dist/tools/google_places.d.ts +1 -21
- package/dist/tools/google_places.js +1 -77
- package/dist/tools/searchapi.cjs +15 -164
- package/dist/tools/searchapi.d.ts +1 -91
- package/dist/tools/searchapi.js +1 -162
- package/dist/tools/searxng_search.cjs +15 -156
- package/dist/tools/searxng_search.d.ts +1 -114
- package/dist/tools/searxng_search.js +1 -154
- package/dist/tools/serpapi.cjs +15 -199
- package/dist/tools/serpapi.d.ts +1 -302
- package/dist/tools/serpapi.js +1 -197
- package/dist/tools/serper.cjs +15 -94
- package/dist/tools/serper.d.ts +1 -32
- package/dist/tools/serper.js +1 -92
- package/dist/tools/wikipedia_query_run.cjs +15 -133
- package/dist/tools/wikipedia_query_run.d.ts +1 -54
- package/dist/tools/wikipedia_query_run.js +1 -131
- package/dist/tools/wolframalpha.cjs +15 -47
- package/dist/tools/wolframalpha.d.ts +1 -21
- package/dist/tools/wolframalpha.js +1 -45
- package/dist/types/openai-types.d.ts +1 -1
- package/dist/util/convex.d.ts +1 -1
- package/dist/util/event-source-parse.cjs +15 -224
- package/dist/util/event-source-parse.d.ts +1 -39
- package/dist/util/event-source-parse.js +1 -219
- package/dist/util/math.cjs +15 -123
- package/dist/util/math.d.ts +1 -40
- package/dist/util/math.js +1 -116
- package/dist/util/openapi.d.ts +2 -2
- package/dist/vectorstores/analyticdb.cjs +3 -333
- package/dist/vectorstores/analyticdb.d.ts +1 -110
- package/dist/vectorstores/analyticdb.js +1 -317
- package/dist/vectorstores/base.cjs +15 -165
- package/dist/vectorstores/base.d.ts +1 -104
- package/dist/vectorstores/base.js +1 -161
- package/dist/vectorstores/cassandra.cjs +15 -478
- package/dist/vectorstores/cassandra.d.ts +1 -162
- package/dist/vectorstores/cassandra.js +1 -476
- package/dist/vectorstores/chroma.cjs +3 -312
- package/dist/vectorstores/chroma.d.ts +1 -133
- package/dist/vectorstores/chroma.js +1 -299
- package/dist/vectorstores/clickhouse.cjs +3 -272
- package/dist/vectorstores/clickhouse.d.ts +1 -126
- package/dist/vectorstores/clickhouse.js +1 -259
- package/dist/vectorstores/closevector/node.cjs +15 -107
- package/dist/vectorstores/closevector/node.d.ts +1 -83
- package/dist/vectorstores/closevector/node.js +1 -105
- package/dist/vectorstores/closevector/web.cjs +15 -107
- package/dist/vectorstores/closevector/web.d.ts +1 -80
- package/dist/vectorstores/closevector/web.js +1 -105
- package/dist/vectorstores/cloudflare_vectorize.cjs +3 -186
- package/dist/vectorstores/cloudflare_vectorize.d.ts +1 -90
- package/dist/vectorstores/cloudflare_vectorize.js +1 -173
- package/dist/vectorstores/convex.cjs +15 -175
- package/dist/vectorstores/convex.d.ts +1 -134
- package/dist/vectorstores/convex.js +1 -173
- package/dist/vectorstores/elasticsearch.cjs +3 -287
- package/dist/vectorstores/elasticsearch.d.ts +1 -143
- package/dist/vectorstores/elasticsearch.js +1 -274
- package/dist/vectorstores/faiss.cjs +3 -378
- package/dist/vectorstores/faiss.d.ts +1 -127
- package/dist/vectorstores/faiss.js +1 -365
- package/dist/vectorstores/googlevertexai.cjs +3 -538
- package/dist/vectorstores/googlevertexai.d.ts +1 -181
- package/dist/vectorstores/googlevertexai.js +1 -521
- package/dist/vectorstores/hnswlib.cjs +15 -273
- package/dist/vectorstores/hnswlib.d.ts +1 -122
- package/dist/vectorstores/hnswlib.js +1 -271
- package/dist/vectorstores/lancedb.cjs +15 -126
- package/dist/vectorstores/lancedb.d.ts +1 -61
- package/dist/vectorstores/lancedb.js +1 -124
- package/dist/vectorstores/memory.cjs +15 -143
- package/dist/vectorstores/memory.d.ts +1 -92
- package/dist/vectorstores/memory.js +1 -141
- package/dist/vectorstores/milvus.cjs +3 -592
- package/dist/vectorstores/milvus.d.ts +1 -139
- package/dist/vectorstores/milvus.js +1 -579
- package/dist/vectorstores/momento_vector_index.cjs +3 -305
- package/dist/vectorstores/momento_vector_index.d.ts +1 -143
- package/dist/vectorstores/momento_vector_index.js +1 -292
- package/dist/vectorstores/mongodb_atlas.cjs +15 -218
- package/dist/vectorstores/mongodb_atlas.d.ts +1 -118
- package/dist/vectorstores/mongodb_atlas.js +1 -216
- package/dist/vectorstores/myscale.cjs +3 -263
- package/dist/vectorstores/myscale.d.ts +1 -129
- package/dist/vectorstores/myscale.js +1 -250
- package/dist/vectorstores/neo4j_vector.cjs +3 -578
- package/dist/vectorstores/neo4j_vector.d.ts +1 -75
- package/dist/vectorstores/neo4j_vector.js +1 -562
- package/dist/vectorstores/opensearch.cjs +3 -274
- package/dist/vectorstores/opensearch.d.ts +1 -119
- package/dist/vectorstores/opensearch.js +1 -261
- package/dist/vectorstores/pgvector.cjs +14 -404
- package/dist/vectorstores/pgvector.d.ts +1 -160
- package/dist/vectorstores/pgvector.js +1 -400
- package/dist/vectorstores/pinecone.cjs +3 -280
- package/dist/vectorstores/pinecone.d.ts +1 -120
- package/dist/vectorstores/pinecone.js +1 -264
- package/dist/vectorstores/prisma.cjs +15 -305
- package/dist/vectorstores/prisma.d.ts +1 -180
- package/dist/vectorstores/prisma.js +1 -304
- package/dist/vectorstores/qdrant.cjs +15 -195
- package/dist/vectorstores/qdrant.d.ts +1 -95
- package/dist/vectorstores/qdrant.js +1 -193
- package/dist/vectorstores/redis.cjs +15 -333
- package/dist/vectorstores/redis.d.ts +1 -186
- package/dist/vectorstores/redis.js +1 -331
- package/dist/vectorstores/rockset.cjs +15 -351
- package/dist/vectorstores/rockset.d.ts +1 -202
- package/dist/vectorstores/rockset.js +1 -347
- package/dist/vectorstores/singlestore.cjs +15 -220
- package/dist/vectorstores/singlestore.d.ts +1 -88
- package/dist/vectorstores/singlestore.js +1 -218
- package/dist/vectorstores/supabase.cjs +15 -217
- package/dist/vectorstores/supabase.d.ts +1 -118
- package/dist/vectorstores/supabase.js +1 -215
- package/dist/vectorstores/tigris.cjs +3 -143
- package/dist/vectorstores/tigris.d.ts +1 -74
- package/dist/vectorstores/tigris.js +1 -130
- package/dist/vectorstores/typeorm.cjs +15 -259
- package/dist/vectorstores/typeorm.d.ts +1 -109
- package/dist/vectorstores/typeorm.js +1 -256
- package/dist/vectorstores/typesense.cjs +15 -223
- package/dist/vectorstores/typesense.d.ts +1 -131
- package/dist/vectorstores/typesense.js +1 -221
- package/dist/vectorstores/usearch.cjs +3 -203
- package/dist/vectorstores/usearch.d.ts +1 -85
- package/dist/vectorstores/usearch.js +1 -187
- package/dist/vectorstores/vectara.cjs +3 -409
- package/dist/vectorstores/vectara.d.ts +1 -148
- package/dist/vectorstores/vectara.js +1 -396
- package/dist/vectorstores/vercel_postgres.cjs +15 -320
- package/dist/vectorstores/vercel_postgres.d.ts +1 -145
- package/dist/vectorstores/vercel_postgres.js +1 -318
- package/dist/vectorstores/voy.cjs +15 -156
- package/dist/vectorstores/voy.d.ts +1 -73
- package/dist/vectorstores/voy.js +1 -154
- package/dist/vectorstores/weaviate.cjs +3 -347
- package/dist/vectorstores/weaviate.d.ts +1 -140
- package/dist/vectorstores/weaviate.js +1 -333
- package/dist/vectorstores/xata.cjs +15 -108
- package/dist/vectorstores/xata.d.ts +1 -70
- package/dist/vectorstores/xata.js +1 -106
- package/dist/vectorstores/zep.cjs +15 -313
- package/dist/vectorstores/zep.d.ts +1 -146
- package/dist/vectorstores/zep.js +1 -311
- package/experimental/masking.cjs +1 -0
- package/experimental/masking.d.ts +1 -0
- package/experimental/masking.js +1 -0
- package/package.json +13 -27
- package/dist/chat_models/googlevertexai/common.cjs +0 -274
- package/dist/chat_models/googlevertexai/common.d.ts +0 -123
- package/dist/chat_models/googlevertexai/common.js +0 -269
- package/dist/chat_models/iflytek_xinghuo/common.cjs +0 -340
- package/dist/chat_models/iflytek_xinghuo/common.d.ts +0 -165
- package/dist/chat_models/iflytek_xinghuo/common.js +0 -336
- package/dist/llms/googlevertexai/common.cjs +0 -168
- package/dist/llms/googlevertexai/common.d.ts +0 -82
- package/dist/llms/googlevertexai/common.js +0 -164
- package/dist/tools/gmail/base.cjs +0 -69
- package/dist/tools/gmail/base.d.ts +0 -19
- package/dist/tools/gmail/base.js +0 -65
- package/dist/tools/gmail/create_draft.cjs +0 -62
- package/dist/tools/gmail/create_draft.d.ts +0 -35
- package/dist/tools/gmail/create_draft.js +0 -58
- package/dist/tools/gmail/descriptions.cjs +0 -118
- package/dist/tools/gmail/descriptions.d.ts +0 -5
- package/dist/tools/gmail/descriptions.js +0 -115
- package/dist/tools/gmail/get_message.cjs +0 -83
- package/dist/tools/gmail/get_message.d.ts +0 -18
- package/dist/tools/gmail/get_message.js +0 -79
- package/dist/tools/gmail/get_thread.cjs +0 -89
- package/dist/tools/gmail/get_thread.d.ts +0 -18
- package/dist/tools/gmail/get_thread.js +0 -85
- package/dist/tools/gmail/search.cjs +0 -118
- package/dist/tools/gmail/search.d.ts +0 -29
- package/dist/tools/gmail/search.js +0 -114
- package/dist/tools/gmail/send_message.cjs +0 -74
- package/dist/tools/gmail/send_message.d.ts +0 -35
- package/dist/tools/gmail/send_message.js +0 -70
- package/dist/util/openai-format-fndef.cjs +0 -81
- package/dist/util/openai-format-fndef.d.ts +0 -44
- package/dist/util/openai-format-fndef.js +0 -77
- package/dist/util/openai.cjs +0 -21
- package/dist/util/openai.d.ts +0 -1
- package/dist/util/openai.js +0 -17
- package/dist/vectorstores/closevector/common.cjs +0 -128
- package/dist/vectorstores/closevector/common.d.ts +0 -82
- package/dist/vectorstores/closevector/common.js +0 -124
|
@@ -1,126 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { VectorStore } from "./base.js";
|
|
3
|
-
import { Document } from "../document.js";
|
|
4
|
-
/**
|
|
5
|
-
* Arguments for the ClickHouseStore class, which include the host, port,
|
|
6
|
-
* protocol, username, password, index type, index parameters,
|
|
7
|
-
* index query params, column map, database, table.
|
|
8
|
-
*/
|
|
9
|
-
export interface ClickHouseLibArgs {
|
|
10
|
-
host: string;
|
|
11
|
-
port: string | number;
|
|
12
|
-
protocol?: string;
|
|
13
|
-
username: string;
|
|
14
|
-
password: string;
|
|
15
|
-
indexType?: string;
|
|
16
|
-
indexParam?: Record<string, number>;
|
|
17
|
-
indexQueryParams?: Record<string, string>;
|
|
18
|
-
columnMap?: ColumnMap;
|
|
19
|
-
database?: string;
|
|
20
|
-
table?: string;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Mapping of columns in the ClickHouse database.
|
|
24
|
-
*/
|
|
25
|
-
export interface ColumnMap {
|
|
26
|
-
id: string;
|
|
27
|
-
uuid: string;
|
|
28
|
-
document: string;
|
|
29
|
-
embedding: string;
|
|
30
|
-
metadata: string;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Type for filtering search results in the ClickHouse database.
|
|
34
|
-
*/
|
|
35
|
-
export interface ClickHouseFilter {
|
|
36
|
-
whereStr: string;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Class for interacting with the ClickHouse database. It extends the
|
|
40
|
-
* VectorStore class and provides methods for adding vectors and
|
|
41
|
-
* documents, searching for similar vectors, and creating instances from
|
|
42
|
-
* texts or documents.
|
|
43
|
-
*/
|
|
44
|
-
export declare class ClickHouseStore extends VectorStore {
|
|
45
|
-
FilterType: ClickHouseFilter;
|
|
46
|
-
private client;
|
|
47
|
-
private indexType;
|
|
48
|
-
private indexParam;
|
|
49
|
-
private indexQueryParams;
|
|
50
|
-
private columnMap;
|
|
51
|
-
private database;
|
|
52
|
-
private table;
|
|
53
|
-
private isInitialized;
|
|
54
|
-
_vectorstoreType(): string;
|
|
55
|
-
constructor(embeddings: Embeddings, args: ClickHouseLibArgs);
|
|
56
|
-
/**
|
|
57
|
-
* Method to add vectors to the ClickHouse database.
|
|
58
|
-
* @param vectors The vectors to add.
|
|
59
|
-
* @param documents The documents associated with the vectors.
|
|
60
|
-
* @returns Promise that resolves when the vectors have been added.
|
|
61
|
-
*/
|
|
62
|
-
addVectors(vectors: number[][], documents: Document[]): Promise<void>;
|
|
63
|
-
/**
|
|
64
|
-
* Method to add documents to the ClickHouse database.
|
|
65
|
-
* @param documents The documents to add.
|
|
66
|
-
* @returns Promise that resolves when the documents have been added.
|
|
67
|
-
*/
|
|
68
|
-
addDocuments(documents: Document[]): Promise<void>;
|
|
69
|
-
/**
|
|
70
|
-
* Method to search for vectors that are similar to a given query vector.
|
|
71
|
-
* @param query The query vector.
|
|
72
|
-
* @param k The number of similar vectors to return.
|
|
73
|
-
* @param filter Optional filter for the search results.
|
|
74
|
-
* @returns Promise that resolves with an array of tuples, each containing a Document and a score.
|
|
75
|
-
*/
|
|
76
|
-
similaritySearchVectorWithScore(query: number[], k: number, filter?: this["FilterType"]): Promise<[Document, number][]>;
|
|
77
|
-
/**
|
|
78
|
-
* Static method to create an instance of ClickHouseStore from texts.
|
|
79
|
-
* @param texts The texts to use.
|
|
80
|
-
* @param metadatas The metadata associated with the texts.
|
|
81
|
-
* @param embeddings The embeddings to use.
|
|
82
|
-
* @param args The arguments for the ClickHouseStore.
|
|
83
|
-
* @returns Promise that resolves with a new instance of ClickHouseStore.
|
|
84
|
-
*/
|
|
85
|
-
static fromTexts(texts: string[], metadatas: object | object[], embeddings: Embeddings, args: ClickHouseLibArgs): Promise<ClickHouseStore>;
|
|
86
|
-
/**
|
|
87
|
-
* Static method to create an instance of ClickHouseStore from documents.
|
|
88
|
-
* @param docs The documents to use.
|
|
89
|
-
* @param embeddings The embeddings to use.
|
|
90
|
-
* @param args The arguments for the ClickHouseStore.
|
|
91
|
-
* @returns Promise that resolves with a new instance of ClickHouseStore.
|
|
92
|
-
*/
|
|
93
|
-
static fromDocuments(docs: Document[], embeddings: Embeddings, args: ClickHouseLibArgs): Promise<ClickHouseStore>;
|
|
94
|
-
/**
|
|
95
|
-
* Static method to create an instance of ClickHouseStore from an existing
|
|
96
|
-
* index.
|
|
97
|
-
* @param embeddings The embeddings to use.
|
|
98
|
-
* @param args The arguments for the ClickHouseStore.
|
|
99
|
-
* @returns Promise that resolves with a new instance of ClickHouseStore.
|
|
100
|
-
*/
|
|
101
|
-
static fromExistingIndex(embeddings: Embeddings, args: ClickHouseLibArgs): Promise<ClickHouseStore>;
|
|
102
|
-
/**
|
|
103
|
-
* Method to initialize the ClickHouse database.
|
|
104
|
-
* @param dimension Optional dimension of the vectors.
|
|
105
|
-
* @returns Promise that resolves when the database has been initialized.
|
|
106
|
-
*/
|
|
107
|
-
private initialize;
|
|
108
|
-
/**
|
|
109
|
-
* Method to build an SQL query for inserting vectors and documents into
|
|
110
|
-
* the ClickHouse database.
|
|
111
|
-
* @param vectors The vectors to insert.
|
|
112
|
-
* @param documents The documents to insert.
|
|
113
|
-
* @returns The SQL query string.
|
|
114
|
-
*/
|
|
115
|
-
private buildInsertQuery;
|
|
116
|
-
private escapeString;
|
|
117
|
-
/**
|
|
118
|
-
* Method to build an SQL query for searching for similar vectors in the
|
|
119
|
-
* ClickHouse database.
|
|
120
|
-
* @param query The query vector.
|
|
121
|
-
* @param k The number of similar vectors to return.
|
|
122
|
-
* @param filter Optional filter for the search results.
|
|
123
|
-
* @returns The SQL query string.
|
|
124
|
-
*/
|
|
125
|
-
private buildSearchQuery;
|
|
126
|
-
}
|
|
1
|
+
export * from "@langchain/community/vectorstores/clickhouse";
|
|
@@ -1,259 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { createClient } from "@clickhouse/client";
|
|
3
|
-
import { format } from "mysql2";
|
|
4
|
-
import { VectorStore } from "./base.js";
|
|
5
|
-
import { Document } from "../document.js";
|
|
6
|
-
/**
|
|
7
|
-
* Class for interacting with the ClickHouse database. It extends the
|
|
8
|
-
* VectorStore class and provides methods for adding vectors and
|
|
9
|
-
* documents, searching for similar vectors, and creating instances from
|
|
10
|
-
* texts or documents.
|
|
11
|
-
*/
|
|
12
|
-
export class ClickHouseStore extends VectorStore {
|
|
13
|
-
_vectorstoreType() {
|
|
14
|
-
return "clickhouse";
|
|
15
|
-
}
|
|
16
|
-
constructor(embeddings, args) {
|
|
17
|
-
super(embeddings, args);
|
|
18
|
-
Object.defineProperty(this, "client", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
configurable: true,
|
|
21
|
-
writable: true,
|
|
22
|
-
value: void 0
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(this, "indexType", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
configurable: true,
|
|
27
|
-
writable: true,
|
|
28
|
-
value: void 0
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(this, "indexParam", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
configurable: true,
|
|
33
|
-
writable: true,
|
|
34
|
-
value: void 0
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(this, "indexQueryParams", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
configurable: true,
|
|
39
|
-
writable: true,
|
|
40
|
-
value: void 0
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(this, "columnMap", {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
configurable: true,
|
|
45
|
-
writable: true,
|
|
46
|
-
value: void 0
|
|
47
|
-
});
|
|
48
|
-
Object.defineProperty(this, "database", {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
configurable: true,
|
|
51
|
-
writable: true,
|
|
52
|
-
value: void 0
|
|
53
|
-
});
|
|
54
|
-
Object.defineProperty(this, "table", {
|
|
55
|
-
enumerable: true,
|
|
56
|
-
configurable: true,
|
|
57
|
-
writable: true,
|
|
58
|
-
value: void 0
|
|
59
|
-
});
|
|
60
|
-
Object.defineProperty(this, "isInitialized", {
|
|
61
|
-
enumerable: true,
|
|
62
|
-
configurable: true,
|
|
63
|
-
writable: true,
|
|
64
|
-
value: false
|
|
65
|
-
});
|
|
66
|
-
this.indexType = args.indexType || "annoy";
|
|
67
|
-
this.indexParam = args.indexParam || { L2Distance: 100 };
|
|
68
|
-
this.indexQueryParams = args.indexQueryParams || {};
|
|
69
|
-
this.columnMap = args.columnMap || {
|
|
70
|
-
id: "id",
|
|
71
|
-
document: "document",
|
|
72
|
-
embedding: "embedding",
|
|
73
|
-
metadata: "metadata",
|
|
74
|
-
uuid: "uuid",
|
|
75
|
-
};
|
|
76
|
-
this.database = args.database || "default";
|
|
77
|
-
this.table = args.table || "vector_table";
|
|
78
|
-
this.client = createClient({
|
|
79
|
-
host: `${args.protocol ?? "https://"}${args.host}:${args.port}`,
|
|
80
|
-
username: args.username,
|
|
81
|
-
password: args.password,
|
|
82
|
-
session_id: uuid.v4(),
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Method to add vectors to the ClickHouse database.
|
|
87
|
-
* @param vectors The vectors to add.
|
|
88
|
-
* @param documents The documents associated with the vectors.
|
|
89
|
-
* @returns Promise that resolves when the vectors have been added.
|
|
90
|
-
*/
|
|
91
|
-
async addVectors(vectors, documents) {
|
|
92
|
-
if (vectors.length === 0) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
if (!this.isInitialized) {
|
|
96
|
-
await this.initialize(vectors[0].length);
|
|
97
|
-
}
|
|
98
|
-
const queryStr = this.buildInsertQuery(vectors, documents);
|
|
99
|
-
await this.client.exec({ query: queryStr });
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Method to add documents to the ClickHouse database.
|
|
103
|
-
* @param documents The documents to add.
|
|
104
|
-
* @returns Promise that resolves when the documents have been added.
|
|
105
|
-
*/
|
|
106
|
-
async addDocuments(documents) {
|
|
107
|
-
return this.addVectors(await this.embeddings.embedDocuments(documents.map((d) => d.pageContent)), documents);
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Method to search for vectors that are similar to a given query vector.
|
|
111
|
-
* @param query The query vector.
|
|
112
|
-
* @param k The number of similar vectors to return.
|
|
113
|
-
* @param filter Optional filter for the search results.
|
|
114
|
-
* @returns Promise that resolves with an array of tuples, each containing a Document and a score.
|
|
115
|
-
*/
|
|
116
|
-
async similaritySearchVectorWithScore(query, k, filter) {
|
|
117
|
-
if (!this.isInitialized) {
|
|
118
|
-
await this.initialize(query.length);
|
|
119
|
-
}
|
|
120
|
-
const queryStr = this.buildSearchQuery(query, k, filter);
|
|
121
|
-
const queryResultSet = await this.client.query({ query: queryStr });
|
|
122
|
-
const queryResult = await queryResultSet.json();
|
|
123
|
-
const result = queryResult.data.map((item) => [
|
|
124
|
-
new Document({ pageContent: item.document, metadata: item.metadata }),
|
|
125
|
-
item.dist,
|
|
126
|
-
]);
|
|
127
|
-
return result;
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Static method to create an instance of ClickHouseStore from texts.
|
|
131
|
-
* @param texts The texts to use.
|
|
132
|
-
* @param metadatas The metadata associated with the texts.
|
|
133
|
-
* @param embeddings The embeddings to use.
|
|
134
|
-
* @param args The arguments for the ClickHouseStore.
|
|
135
|
-
* @returns Promise that resolves with a new instance of ClickHouseStore.
|
|
136
|
-
*/
|
|
137
|
-
static async fromTexts(texts, metadatas, embeddings, args) {
|
|
138
|
-
const docs = [];
|
|
139
|
-
for (let i = 0; i < texts.length; i += 1) {
|
|
140
|
-
const metadata = Array.isArray(metadatas) ? metadatas[i] : metadatas;
|
|
141
|
-
const newDoc = new Document({
|
|
142
|
-
pageContent: texts[i],
|
|
143
|
-
metadata,
|
|
144
|
-
});
|
|
145
|
-
docs.push(newDoc);
|
|
146
|
-
}
|
|
147
|
-
return ClickHouseStore.fromDocuments(docs, embeddings, args);
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Static method to create an instance of ClickHouseStore from documents.
|
|
151
|
-
* @param docs The documents to use.
|
|
152
|
-
* @param embeddings The embeddings to use.
|
|
153
|
-
* @param args The arguments for the ClickHouseStore.
|
|
154
|
-
* @returns Promise that resolves with a new instance of ClickHouseStore.
|
|
155
|
-
*/
|
|
156
|
-
static async fromDocuments(docs, embeddings, args) {
|
|
157
|
-
const instance = new this(embeddings, args);
|
|
158
|
-
await instance.addDocuments(docs);
|
|
159
|
-
return instance;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Static method to create an instance of ClickHouseStore from an existing
|
|
163
|
-
* index.
|
|
164
|
-
* @param embeddings The embeddings to use.
|
|
165
|
-
* @param args The arguments for the ClickHouseStore.
|
|
166
|
-
* @returns Promise that resolves with a new instance of ClickHouseStore.
|
|
167
|
-
*/
|
|
168
|
-
static async fromExistingIndex(embeddings, args) {
|
|
169
|
-
const instance = new this(embeddings, args);
|
|
170
|
-
await instance.initialize();
|
|
171
|
-
return instance;
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Method to initialize the ClickHouse database.
|
|
175
|
-
* @param dimension Optional dimension of the vectors.
|
|
176
|
-
* @returns Promise that resolves when the database has been initialized.
|
|
177
|
-
*/
|
|
178
|
-
async initialize(dimension) {
|
|
179
|
-
const dim = dimension ?? (await this.embeddings.embedQuery("test")).length;
|
|
180
|
-
const indexParamStr = this.indexParam
|
|
181
|
-
? Object.entries(this.indexParam)
|
|
182
|
-
.map(([key, value]) => `'${key}', ${value}`)
|
|
183
|
-
.join(", ")
|
|
184
|
-
: "";
|
|
185
|
-
const query = `
|
|
186
|
-
CREATE TABLE IF NOT EXISTS ${this.database}.${this.table}(
|
|
187
|
-
${this.columnMap.id} Nullable(String),
|
|
188
|
-
${this.columnMap.document} Nullable(String),
|
|
189
|
-
${this.columnMap.embedding} Array(Float32),
|
|
190
|
-
${this.columnMap.metadata} JSON,
|
|
191
|
-
${this.columnMap.uuid} UUID DEFAULT generateUUIDv4(),
|
|
192
|
-
CONSTRAINT cons_vec_len CHECK length(${this.columnMap.embedding}) = ${dim},
|
|
193
|
-
INDEX vec_idx ${this.columnMap.embedding} TYPE ${this.indexType}(${indexParamStr}) GRANULARITY 1000
|
|
194
|
-
) ENGINE = MergeTree ORDER BY ${this.columnMap.uuid} SETTINGS index_granularity = 8192;`;
|
|
195
|
-
await this.client.exec({
|
|
196
|
-
query,
|
|
197
|
-
clickhouse_settings: {
|
|
198
|
-
allow_experimental_object_type: 1,
|
|
199
|
-
allow_experimental_annoy_index: 1,
|
|
200
|
-
},
|
|
201
|
-
});
|
|
202
|
-
this.isInitialized = true;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Method to build an SQL query for inserting vectors and documents into
|
|
206
|
-
* the ClickHouse database.
|
|
207
|
-
* @param vectors The vectors to insert.
|
|
208
|
-
* @param documents The documents to insert.
|
|
209
|
-
* @returns The SQL query string.
|
|
210
|
-
*/
|
|
211
|
-
buildInsertQuery(vectors, documents) {
|
|
212
|
-
const columnsStr = Object.values(Object.fromEntries(Object.entries(this.columnMap).filter(([key]) => key !== this.columnMap.uuid))).join(", ");
|
|
213
|
-
const placeholders = vectors.map(() => "(?, ?, ?, ?)").join(", ");
|
|
214
|
-
const values = [];
|
|
215
|
-
for (let i = 0; i < vectors.length; i += 1) {
|
|
216
|
-
const vector = vectors[i];
|
|
217
|
-
const document = documents[i];
|
|
218
|
-
values.push(uuid.v4(), this.escapeString(document.pageContent), JSON.stringify(vector), JSON.stringify(document.metadata));
|
|
219
|
-
}
|
|
220
|
-
const insertQueryStr = `
|
|
221
|
-
INSERT INTO TABLE ${this.database}.${this.table}(${columnsStr})
|
|
222
|
-
VALUES ${placeholders}
|
|
223
|
-
`;
|
|
224
|
-
const insertQuery = format(insertQueryStr, values);
|
|
225
|
-
return insertQuery;
|
|
226
|
-
}
|
|
227
|
-
escapeString(str) {
|
|
228
|
-
return str.replace(/\\/g, "\\\\").replace(/'/g, "\\'");
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Method to build an SQL query for searching for similar vectors in the
|
|
232
|
-
* ClickHouse database.
|
|
233
|
-
* @param query The query vector.
|
|
234
|
-
* @param k The number of similar vectors to return.
|
|
235
|
-
* @param filter Optional filter for the search results.
|
|
236
|
-
* @returns The SQL query string.
|
|
237
|
-
*/
|
|
238
|
-
buildSearchQuery(query, k, filter) {
|
|
239
|
-
const order = "ASC";
|
|
240
|
-
const whereStr = filter ? `PREWHERE ${filter.whereStr}` : "";
|
|
241
|
-
const placeholders = query.map(() => "?").join(", ");
|
|
242
|
-
const settingStrings = [];
|
|
243
|
-
if (this.indexQueryParams) {
|
|
244
|
-
for (const [key, value] of Object.entries(this.indexQueryParams)) {
|
|
245
|
-
settingStrings.push(`SETTING ${key}=${value}`);
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
const searchQueryStr = `
|
|
249
|
-
SELECT ${this.columnMap.document} AS document, ${this.columnMap.metadata} AS metadata, dist
|
|
250
|
-
FROM ${this.database}.${this.table}
|
|
251
|
-
${whereStr}
|
|
252
|
-
ORDER BY L2Distance(${this.columnMap.embedding}, [${placeholders}]) AS dist ${order}
|
|
253
|
-
LIMIT ${k} ${settingStrings.join(" ")}
|
|
254
|
-
`;
|
|
255
|
-
// Format the query with actual values
|
|
256
|
-
const searchQuery = format(searchQueryStr, query);
|
|
257
|
-
return searchQuery;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
1
|
+
export * from "@langchain/community/vectorstores/clickhouse";
|
|
@@ -1,109 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* Class that implements a vector store using Hierarchical Navigable Small
|
|
8
|
-
* World (HNSW) graphs. It extends the SaveableVectorStore class and
|
|
9
|
-
* provides methods for adding documents and vectors, performing
|
|
10
|
-
* similarity searches, and saving and loading the vector store.
|
|
11
|
-
*/
|
|
12
|
-
class CloseVectorNode extends common_js_1.CloseVector {
|
|
13
|
-
constructor(embeddings, args, credentials) {
|
|
14
|
-
super(embeddings, args, credentials);
|
|
15
|
-
if (args.instance) {
|
|
16
|
-
this.instance = args.instance;
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
this.instance = new closevector_node_1.CloseVectorHNSWNode(embeddings, args);
|
|
20
|
-
}
|
|
21
|
-
if (this.credentials?.key) {
|
|
22
|
-
this.instance.accessKey = this.credentials.key;
|
|
23
|
-
}
|
|
24
|
-
if (this.credentials?.secret) {
|
|
25
|
-
this.instance.secret = this.credentials.secret;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Method to save the index to the CloseVector CDN.
|
|
30
|
-
* @param options
|
|
31
|
-
* @param options.description A description of the index.
|
|
32
|
-
* @param options.public Whether the index should be public or private. Defaults to false.
|
|
33
|
-
* @param options.uuid A UUID for the index. If not provided, a new index will be created.
|
|
34
|
-
* @param options.onProgress A callback function that will be called with the progress of the upload.
|
|
35
|
-
*/
|
|
36
|
-
async saveToCloud(options) {
|
|
37
|
-
await this.instance.saveToCloud(options);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Method to load the index from the CloseVector CDN.
|
|
41
|
-
* @param options
|
|
42
|
-
* @param options.uuid The UUID of the index to be downloaded.
|
|
43
|
-
* @param options.credentials The credentials to be used by the CloseVectorNode instance.
|
|
44
|
-
* @param options.embeddings The embeddings to be used by the CloseVectorNode instance.
|
|
45
|
-
* @param options.onProgress A callback function that will be called with the progress of the download.
|
|
46
|
-
*/
|
|
47
|
-
static async loadFromCloud(options) {
|
|
48
|
-
if (!options.credentials.key || !options.credentials.secret) {
|
|
49
|
-
throw new Error("key and secret must be provided");
|
|
50
|
-
}
|
|
51
|
-
const instance = await closevector_node_1.CloseVectorHNSWNode.loadFromCloud({
|
|
52
|
-
...options,
|
|
53
|
-
accessKey: options.credentials.key,
|
|
54
|
-
secret: options.credentials.secret,
|
|
55
|
-
});
|
|
56
|
-
const vectorstore = new this(options.embeddings, instance.args, options.credentials);
|
|
57
|
-
return vectorstore;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Static method to load a vector store from a directory. It reads the
|
|
61
|
-
* HNSW index, the arguments, and the document store from the directory,
|
|
62
|
-
* then creates a new HNSWLib instance with these values.
|
|
63
|
-
* @param directory The directory from which to load the vector store.
|
|
64
|
-
* @param embeddings The embeddings to be used by the CloseVectorNode instance.
|
|
65
|
-
* @returns A Promise that resolves to a new CloseVectorNode instance.
|
|
66
|
-
*/
|
|
67
|
-
static async load(directory, embeddings, credentials) {
|
|
68
|
-
const instance = await closevector_node_1.CloseVectorHNSWNode.load(directory, embeddings);
|
|
69
|
-
const vectorstore = new this(embeddings, instance.args, credentials);
|
|
70
|
-
return vectorstore;
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
71
7
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
*/
|
|
83
|
-
static async fromTexts(texts, metadatas, embeddings, args, credential) {
|
|
84
|
-
const docs = common_js_1.CloseVector.textsToDocuments(texts, metadatas);
|
|
85
|
-
return await CloseVectorNode.fromDocuments(docs, embeddings, args, credential);
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Static method to create a new CloseVectorNode instance from documents. It
|
|
89
|
-
* creates a new CloseVectorNode instance, adds the documents to it, then returns
|
|
90
|
-
* the instance.
|
|
91
|
-
* @param docs The documents to be added to the HNSWLib instance.
|
|
92
|
-
* @param embeddings The embeddings to be used by the HNSWLib instance.
|
|
93
|
-
* @param args An optional configuration object for the HNSWLib instance.
|
|
94
|
-
* @param credentials An optional credential object for the CloseVector API.
|
|
95
|
-
* @returns A Promise that resolves to a new CloseVectorNode instance.
|
|
96
|
-
*/
|
|
97
|
-
static async fromDocuments(docs, embeddings, args, credentials) {
|
|
98
|
-
const _args = args || {
|
|
99
|
-
space: "cosine",
|
|
100
|
-
};
|
|
101
|
-
const instance = new this(embeddings, _args, credentials);
|
|
102
|
-
await instance.addDocuments(docs);
|
|
103
|
-
return instance;
|
|
104
|
-
}
|
|
105
|
-
static async imports() {
|
|
106
|
-
return closevector_node_1.CloseVectorHNSWNode.imports();
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
exports.CloseVectorNode = CloseVectorNode;
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("@langchain/community/vectorstores/closevector/node"), exports);
|
|
@@ -1,83 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { CloseVector } from "./common.js";
|
|
3
|
-
import { Embeddings } from "../../embeddings/base.js";
|
|
4
|
-
import { Document } from "../../document.js";
|
|
5
|
-
/**
|
|
6
|
-
* package closevector-node is largely based on hnswlib.ts in the current folder with the following exceptions:
|
|
7
|
-
* 1. It uses a modified version of hnswlib-node to ensure the generated index can be loaded by closevector_web.ts.
|
|
8
|
-
* 2. It adds features to upload and download the index to/from the CDN provided by CloseVector.
|
|
9
|
-
*
|
|
10
|
-
* For more information, check out https://closevector-docs.getmegaportal.com/
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
* Arguments for creating a CloseVectorNode instance, extending CloseVectorHNSWLibArgs.
|
|
14
|
-
*/
|
|
15
|
-
export interface CloseVectorNodeArgs extends CloseVectorHNSWLibArgs<HierarchicalNSWT> {
|
|
16
|
-
instance?: CloseVectorHNSWNode;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Class that implements a vector store using Hierarchical Navigable Small
|
|
20
|
-
* World (HNSW) graphs. It extends the SaveableVectorStore class and
|
|
21
|
-
* provides methods for adding documents and vectors, performing
|
|
22
|
-
* similarity searches, and saving and loading the vector store.
|
|
23
|
-
*/
|
|
24
|
-
export declare class CloseVectorNode extends CloseVector<CloseVectorHNSWNode> {
|
|
25
|
-
FilterType: (doc: Document) => boolean;
|
|
26
|
-
constructor(embeddings: Embeddings, args: CloseVectorNodeArgs, credentials?: CloseVectorCredentials);
|
|
27
|
-
/**
|
|
28
|
-
* Method to save the index to the CloseVector CDN.
|
|
29
|
-
* @param options
|
|
30
|
-
* @param options.description A description of the index.
|
|
31
|
-
* @param options.public Whether the index should be public or private. Defaults to false.
|
|
32
|
-
* @param options.uuid A UUID for the index. If not provided, a new index will be created.
|
|
33
|
-
* @param options.onProgress A callback function that will be called with the progress of the upload.
|
|
34
|
-
*/
|
|
35
|
-
saveToCloud(options: Parameters<CloseVectorHNSWNode["saveToCloud"]>[0]): Promise<void>;
|
|
36
|
-
/**
|
|
37
|
-
* Method to load the index from the CloseVector CDN.
|
|
38
|
-
* @param options
|
|
39
|
-
* @param options.uuid The UUID of the index to be downloaded.
|
|
40
|
-
* @param options.credentials The credentials to be used by the CloseVectorNode instance.
|
|
41
|
-
* @param options.embeddings The embeddings to be used by the CloseVectorNode instance.
|
|
42
|
-
* @param options.onProgress A callback function that will be called with the progress of the download.
|
|
43
|
-
*/
|
|
44
|
-
static loadFromCloud(options: Omit<Parameters<(typeof CloseVectorHNSWNode)["loadFromCloud"]>[0] & {
|
|
45
|
-
embeddings: Embeddings;
|
|
46
|
-
credentials: CloseVectorCredentials;
|
|
47
|
-
}, "accessKey" | "secret">): Promise<CloseVectorNode>;
|
|
48
|
-
/**
|
|
49
|
-
* Static method to load a vector store from a directory. It reads the
|
|
50
|
-
* HNSW index, the arguments, and the document store from the directory,
|
|
51
|
-
* then creates a new HNSWLib instance with these values.
|
|
52
|
-
* @param directory The directory from which to load the vector store.
|
|
53
|
-
* @param embeddings The embeddings to be used by the CloseVectorNode instance.
|
|
54
|
-
* @returns A Promise that resolves to a new CloseVectorNode instance.
|
|
55
|
-
*/
|
|
56
|
-
static load(directory: string, embeddings: Embeddings, credentials?: CloseVectorCredentials): Promise<CloseVectorNode>;
|
|
57
|
-
/**
|
|
58
|
-
* Static method to create a new CloseVectorWeb instance from texts and metadata.
|
|
59
|
-
* It creates a new Document instance for each text and metadata, then
|
|
60
|
-
* calls the fromDocuments method to create the CloseVectorWeb instance.
|
|
61
|
-
* @param texts The texts to be used to create the documents.
|
|
62
|
-
* @param metadatas The metadata to be used to create the documents.
|
|
63
|
-
* @param embeddings The embeddings to be used by the CloseVectorWeb instance.
|
|
64
|
-
* @param args An optional configuration object for the CloseVectorWeb instance.
|
|
65
|
-
* @param credential An optional credential object for the CloseVector API.
|
|
66
|
-
* @returns A Promise that resolves to a new CloseVectorWeb instance.
|
|
67
|
-
*/
|
|
68
|
-
static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, args?: Record<string, unknown>, credential?: CloseVectorCredentials): Promise<CloseVectorNode>;
|
|
69
|
-
/**
|
|
70
|
-
* Static method to create a new CloseVectorNode instance from documents. It
|
|
71
|
-
* creates a new CloseVectorNode instance, adds the documents to it, then returns
|
|
72
|
-
* the instance.
|
|
73
|
-
* @param docs The documents to be added to the HNSWLib instance.
|
|
74
|
-
* @param embeddings The embeddings to be used by the HNSWLib instance.
|
|
75
|
-
* @param args An optional configuration object for the HNSWLib instance.
|
|
76
|
-
* @param credentials An optional credential object for the CloseVector API.
|
|
77
|
-
* @returns A Promise that resolves to a new CloseVectorNode instance.
|
|
78
|
-
*/
|
|
79
|
-
static fromDocuments(docs: Document[], embeddings: Embeddings, args?: Record<string, unknown>, credentials?: CloseVectorCredentials): Promise<CloseVectorNode>;
|
|
80
|
-
static imports(): Promise<{
|
|
81
|
-
HierarchicalNSW: typeof HierarchicalNSWT;
|
|
82
|
-
}>;
|
|
83
|
-
}
|
|
1
|
+
export * from "@langchain/community/vectorstores/closevector/node";
|