langchain 0.0.203 → 0.0.204-rc.1
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/toolkits/aws_sfn.cjs +3 -75
- package/dist/agents/toolkits/aws_sfn.d.ts +2 -45
- package/dist/agents/toolkits/aws_sfn.js +2 -73
- package/dist/agents/toolkits/base.cjs +15 -9
- package/dist/agents/toolkits/base.d.ts +1 -9
- package/dist/agents/toolkits/base.js +1 -7
- package/dist/agents/toolkits/connery/index.cjs +15 -37
- package/dist/agents/toolkits/connery/index.d.ts +1 -23
- package/dist/agents/toolkits/connery/index.js +1 -35
- 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/ioredis.cjs +15 -77
- package/dist/cache/ioredis.d.ts +1 -40
- package/dist/cache/ioredis.js +1 -75
- 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_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/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/index.cjs +3 -1
- package/dist/load/index.d.ts +1 -1
- package/dist/load/index.js +3 -1
- package/dist/memory/chat_memory.cjs +15 -61
- package/dist/memory/chat_memory.d.ts +1 -36
- package/dist/memory/chat_memory.js +1 -59
- package/dist/memory/motorhead_memory.cjs +15 -161
- package/dist/memory/motorhead_memory.d.ts +1 -63
- package/dist/memory/motorhead_memory.js +1 -159
- package/dist/memory/zep.cjs +15 -222
- package/dist/memory/zep.d.ts +1 -86
- package/dist/memory/zep.js +1 -220
- 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/in_memory.cjs +15 -49
- package/dist/stores/message/in_memory.d.ts +1 -28
- package/dist/stores/message/in_memory.js +1 -47
- 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_lambda.cjs +15 -83
- package/dist/tools/aws_lambda.d.ts +1 -25
- package/dist/tools/aws_lambda.js +1 -82
- 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/dynamic.cjs +15 -87
- package/dist/tools/dynamic.d.ts +1 -48
- package/dist/tools/dynamic.js +1 -84
- 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.cjs +15 -75
- package/dist/util/convex.d.ts +1 -26
- package/dist/util/convex.js +1 -74
- 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 +6 -6
- package/dist/vectorstores/memory.d.ts +3 -3
- package/dist/vectorstores/memory.js +2 -2
- 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 -303
- 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/package.json +4 -265
- 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/chunk.cjs +0 -11
- package/dist/util/chunk.d.ts +0 -1
- package/dist/util/chunk.js +0 -7
- package/dist/util/googlevertexai-gauth.cjs +0 -36
- package/dist/util/googlevertexai-gauth.d.ts +0 -8
- package/dist/util/googlevertexai-gauth.js +0 -32
- package/dist/util/googlevertexai-webauth.cjs +0 -96
- package/dist/util/googlevertexai-webauth.d.ts +0 -22
- package/dist/util/googlevertexai-webauth.js +0 -92
- package/dist/util/iflytek_websocket_stream.cjs +0 -81
- package/dist/util/iflytek_websocket_stream.d.ts +0 -27
- package/dist/util/iflytek_websocket_stream.js +0 -77
- package/dist/util/llama_cpp.cjs +0 -34
- package/dist/util/llama_cpp.d.ts +0 -46
- package/dist/util/llama_cpp.js +0 -28
- package/dist/util/momento.cjs +0 -26
- package/dist/util/momento.d.ts +0 -9
- package/dist/util/momento.js +0 -22
- 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,181 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { VectorStore } from "./base.js";
|
|
3
|
-
import { Embeddings } from "../embeddings/base.js";
|
|
4
|
-
import { Document, DocumentInput } from "../document.js";
|
|
5
|
-
import { GoogleVertexAIConnection } from "../util/googlevertexai-connection.js";
|
|
6
|
-
import { AsyncCaller, AsyncCallerCallOptions, AsyncCallerParams } from "../util/async_caller.js";
|
|
7
|
-
import { GoogleVertexAIConnectionParams, GoogleResponse, GoogleAbstractedClientOpsMethod } from "../types/googlevertexai-types.js";
|
|
8
|
-
import { Docstore } from "../schema/index.js";
|
|
9
|
-
/**
|
|
10
|
-
* Allows us to create IdDocument classes that contain the ID.
|
|
11
|
-
*/
|
|
12
|
-
export interface IdDocumentInput extends DocumentInput {
|
|
13
|
-
id?: string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* A Document that optionally includes the ID of the document.
|
|
17
|
-
*/
|
|
18
|
-
export declare class IdDocument extends Document implements IdDocumentInput {
|
|
19
|
-
id?: string;
|
|
20
|
-
constructor(fields: IdDocumentInput);
|
|
21
|
-
}
|
|
22
|
-
interface IndexEndpointConnectionParams extends GoogleVertexAIConnectionParams<GoogleAuthOptions> {
|
|
23
|
-
indexEndpoint: string;
|
|
24
|
-
}
|
|
25
|
-
interface DeployedIndex {
|
|
26
|
-
id: string;
|
|
27
|
-
index: string;
|
|
28
|
-
}
|
|
29
|
-
interface IndexEndpointResponse extends GoogleResponse {
|
|
30
|
-
data: {
|
|
31
|
-
deployedIndexes: DeployedIndex[];
|
|
32
|
-
publicEndpointDomainName: string;
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
declare class IndexEndpointConnection extends GoogleVertexAIConnection<AsyncCallerCallOptions, IndexEndpointResponse, GoogleAuthOptions> {
|
|
36
|
-
indexEndpoint: string;
|
|
37
|
-
constructor(fields: IndexEndpointConnectionParams, caller: AsyncCaller);
|
|
38
|
-
buildUrl(): Promise<string>;
|
|
39
|
-
buildMethod(): GoogleAbstractedClientOpsMethod;
|
|
40
|
-
request(options: AsyncCallerCallOptions): Promise<IndexEndpointResponse>;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Used to represent parameters that are necessary to delete documents
|
|
44
|
-
* from the matching engine. These must be a list of string IDs
|
|
45
|
-
*/
|
|
46
|
-
export interface MatchingEngineDeleteParams {
|
|
47
|
-
ids: string[];
|
|
48
|
-
}
|
|
49
|
-
interface RemoveDatapointParams extends GoogleVertexAIConnectionParams<GoogleAuthOptions> {
|
|
50
|
-
index: string;
|
|
51
|
-
}
|
|
52
|
-
interface RemoveDatapointResponse extends GoogleResponse {
|
|
53
|
-
}
|
|
54
|
-
declare class RemoveDatapointConnection extends GoogleVertexAIConnection<AsyncCallerCallOptions, RemoveDatapointResponse, GoogleAuthOptions> {
|
|
55
|
-
index: string;
|
|
56
|
-
constructor(fields: RemoveDatapointParams, caller: AsyncCaller);
|
|
57
|
-
buildUrl(): Promise<string>;
|
|
58
|
-
buildMethod(): GoogleAbstractedClientOpsMethod;
|
|
59
|
-
request(datapointIds: string[], options: AsyncCallerCallOptions): Promise<RemoveDatapointResponse>;
|
|
60
|
-
}
|
|
61
|
-
interface UpsertDatapointParams extends GoogleVertexAIConnectionParams<GoogleAuthOptions> {
|
|
62
|
-
index: string;
|
|
63
|
-
}
|
|
64
|
-
export interface Restriction {
|
|
65
|
-
namespace: string;
|
|
66
|
-
allowList?: string[];
|
|
67
|
-
denyList?: string[];
|
|
68
|
-
}
|
|
69
|
-
interface CrowdingTag {
|
|
70
|
-
crowdingAttribute: string;
|
|
71
|
-
}
|
|
72
|
-
interface IndexDatapoint {
|
|
73
|
-
datapointId: string;
|
|
74
|
-
featureVector: number[];
|
|
75
|
-
restricts?: Restriction[];
|
|
76
|
-
crowdingTag?: CrowdingTag;
|
|
77
|
-
}
|
|
78
|
-
interface UpsertDatapointResponse extends GoogleResponse {
|
|
79
|
-
}
|
|
80
|
-
declare class UpsertDatapointConnection extends GoogleVertexAIConnection<AsyncCallerCallOptions, UpsertDatapointResponse, GoogleAuthOptions> {
|
|
81
|
-
index: string;
|
|
82
|
-
constructor(fields: UpsertDatapointParams, caller: AsyncCaller);
|
|
83
|
-
buildUrl(): Promise<string>;
|
|
84
|
-
buildMethod(): GoogleAbstractedClientOpsMethod;
|
|
85
|
-
request(datapoints: IndexDatapoint[], options: AsyncCallerCallOptions): Promise<UpsertDatapointResponse>;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Information about the Matching Engine public API endpoint.
|
|
89
|
-
* Primarily exported to allow for testing.
|
|
90
|
-
*/
|
|
91
|
-
export interface PublicAPIEndpointInfo {
|
|
92
|
-
apiEndpoint?: string;
|
|
93
|
-
deployedIndexId?: string;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Parameters necessary to configure the Matching Engine.
|
|
97
|
-
*/
|
|
98
|
-
export interface MatchingEngineArgs extends GoogleVertexAIConnectionParams<GoogleAuthOptions>, IndexEndpointConnectionParams, UpsertDatapointParams {
|
|
99
|
-
docstore: Docstore;
|
|
100
|
-
callerParams?: AsyncCallerParams;
|
|
101
|
-
callerOptions?: AsyncCallerCallOptions;
|
|
102
|
-
apiEndpoint?: string;
|
|
103
|
-
deployedIndexId?: string;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* A class that represents a connection to a Google Vertex AI Matching Engine
|
|
107
|
-
* instance.
|
|
108
|
-
*/
|
|
109
|
-
export declare class MatchingEngine extends VectorStore implements MatchingEngineArgs {
|
|
110
|
-
FilterType: Restriction[];
|
|
111
|
-
/**
|
|
112
|
-
* Docstore that retains the document, stored by ID
|
|
113
|
-
*/
|
|
114
|
-
docstore: Docstore;
|
|
115
|
-
/**
|
|
116
|
-
* The host to connect to for queries and upserts.
|
|
117
|
-
*/
|
|
118
|
-
apiEndpoint: string;
|
|
119
|
-
apiVersion: string;
|
|
120
|
-
endpoint: string;
|
|
121
|
-
location: string;
|
|
122
|
-
/**
|
|
123
|
-
* The id for the index endpoint
|
|
124
|
-
*/
|
|
125
|
-
indexEndpoint: string;
|
|
126
|
-
/**
|
|
127
|
-
* The id for the index
|
|
128
|
-
*/
|
|
129
|
-
index: string;
|
|
130
|
-
/**
|
|
131
|
-
* The id for the "deployed index", which is an identifier in the
|
|
132
|
-
* index endpoint that references the index (but is not the index id)
|
|
133
|
-
*/
|
|
134
|
-
deployedIndexId: string;
|
|
135
|
-
callerParams: AsyncCallerParams;
|
|
136
|
-
callerOptions: AsyncCallerCallOptions;
|
|
137
|
-
caller: AsyncCaller;
|
|
138
|
-
indexEndpointClient: IndexEndpointConnection;
|
|
139
|
-
removeDatapointClient: RemoveDatapointConnection;
|
|
140
|
-
upsertDatapointClient: UpsertDatapointConnection;
|
|
141
|
-
constructor(embeddings: Embeddings, args: MatchingEngineArgs);
|
|
142
|
-
_vectorstoreType(): string;
|
|
143
|
-
addDocuments(documents: Document[]): Promise<void>;
|
|
144
|
-
addVectors(vectors: number[][], documents: Document[]): Promise<void>;
|
|
145
|
-
cleanMetadata(documentMetadata: Record<string, any>): {
|
|
146
|
-
[key: string]: string | number | boolean | string[] | null;
|
|
147
|
-
};
|
|
148
|
-
/**
|
|
149
|
-
* Given the metadata from a document, convert it to an array of Restriction
|
|
150
|
-
* objects that may be passed to the Matching Engine and stored.
|
|
151
|
-
* The default implementation flattens any metadata and includes it as
|
|
152
|
-
* an "allowList". Subclasses can choose to convert some of these to
|
|
153
|
-
* "denyList" items or to add additional restrictions (for example, to format
|
|
154
|
-
* dates into a different structure or to add additional restrictions
|
|
155
|
-
* based on the date).
|
|
156
|
-
* @param documentMetadata - The metadata from a document
|
|
157
|
-
* @returns a Restriction[] (or an array of a subclass, from the FilterType)
|
|
158
|
-
*/
|
|
159
|
-
metadataToRestrictions(documentMetadata: Record<string, any>): this["FilterType"];
|
|
160
|
-
/**
|
|
161
|
-
* Create an index datapoint for the vector and document id.
|
|
162
|
-
* If an id does not exist, create it and set the document to its value.
|
|
163
|
-
* @param vector
|
|
164
|
-
* @param document
|
|
165
|
-
*/
|
|
166
|
-
buildDatapoint(vector: number[], document: IdDocument): IndexDatapoint;
|
|
167
|
-
delete(params: MatchingEngineDeleteParams): Promise<void>;
|
|
168
|
-
similaritySearchVectorWithScore(query: number[], k: number, filter?: this["FilterType"]): Promise<[Document, number][]>;
|
|
169
|
-
/**
|
|
170
|
-
* For this index endpoint, figure out what API Endpoint URL and deployed
|
|
171
|
-
* index ID should be used to do upserts and queries.
|
|
172
|
-
* Also sets the `apiEndpoint` and `deployedIndexId` property for future use.
|
|
173
|
-
* @return The URL
|
|
174
|
-
*/
|
|
175
|
-
determinePublicAPIEndpoint(): Promise<PublicAPIEndpointInfo>;
|
|
176
|
-
getPublicAPIEndpoint(): Promise<string>;
|
|
177
|
-
getDeployedIndexId(): Promise<string>;
|
|
178
|
-
static fromTexts(texts: string[], metadatas: object[] | object, embeddings: Embeddings, dbConfig: MatchingEngineArgs): Promise<VectorStore>;
|
|
179
|
-
static fromDocuments(docs: Document[], embeddings: Embeddings, dbConfig: MatchingEngineArgs): Promise<VectorStore>;
|
|
180
|
-
}
|
|
181
|
-
export {};
|
|
1
|
+
export * from "@langchain/community/vectorstores/googlevertexai";
|
|
@@ -1,521 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import flatten from "flat";
|
|
3
|
-
import { GoogleAuth } from "google-auth-library";
|
|
4
|
-
import { VectorStore } from "./base.js";
|
|
5
|
-
import { Document } from "../document.js";
|
|
6
|
-
import { GoogleVertexAIConnection } from "../util/googlevertexai-connection.js";
|
|
7
|
-
import { AsyncCaller, } from "../util/async_caller.js";
|
|
8
|
-
/**
|
|
9
|
-
* A Document that optionally includes the ID of the document.
|
|
10
|
-
*/
|
|
11
|
-
export class IdDocument extends Document {
|
|
12
|
-
constructor(fields) {
|
|
13
|
-
super(fields);
|
|
14
|
-
Object.defineProperty(this, "id", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
configurable: true,
|
|
17
|
-
writable: true,
|
|
18
|
-
value: void 0
|
|
19
|
-
});
|
|
20
|
-
this.id = fields.id;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
class IndexEndpointConnection extends GoogleVertexAIConnection {
|
|
24
|
-
constructor(fields, caller) {
|
|
25
|
-
super(fields, caller, new GoogleAuth(fields.authOptions));
|
|
26
|
-
Object.defineProperty(this, "indexEndpoint", {
|
|
27
|
-
enumerable: true,
|
|
28
|
-
configurable: true,
|
|
29
|
-
writable: true,
|
|
30
|
-
value: void 0
|
|
31
|
-
});
|
|
32
|
-
this.indexEndpoint = fields.indexEndpoint;
|
|
33
|
-
}
|
|
34
|
-
async buildUrl() {
|
|
35
|
-
const projectId = await this.client.getProjectId();
|
|
36
|
-
const url = `https://${this.endpoint}/${this.apiVersion}/projects/${projectId}/locations/${this.location}/indexEndpoints/${this.indexEndpoint}`;
|
|
37
|
-
return url;
|
|
38
|
-
}
|
|
39
|
-
buildMethod() {
|
|
40
|
-
return "GET";
|
|
41
|
-
}
|
|
42
|
-
async request(options) {
|
|
43
|
-
return this._request(undefined, options);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
class RemoveDatapointConnection extends GoogleVertexAIConnection {
|
|
47
|
-
constructor(fields, caller) {
|
|
48
|
-
super(fields, caller, new GoogleAuth(fields.authOptions));
|
|
49
|
-
Object.defineProperty(this, "index", {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
configurable: true,
|
|
52
|
-
writable: true,
|
|
53
|
-
value: void 0
|
|
54
|
-
});
|
|
55
|
-
this.index = fields.index;
|
|
56
|
-
}
|
|
57
|
-
async buildUrl() {
|
|
58
|
-
const projectId = await this.client.getProjectId();
|
|
59
|
-
const url = `https://${this.endpoint}/${this.apiVersion}/projects/${projectId}/locations/${this.location}/indexes/${this.index}:removeDatapoints`;
|
|
60
|
-
return url;
|
|
61
|
-
}
|
|
62
|
-
buildMethod() {
|
|
63
|
-
return "POST";
|
|
64
|
-
}
|
|
65
|
-
async request(datapointIds, options) {
|
|
66
|
-
const data = {
|
|
67
|
-
datapointIds,
|
|
68
|
-
};
|
|
69
|
-
return this._request(data, options);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
class UpsertDatapointConnection extends GoogleVertexAIConnection {
|
|
73
|
-
constructor(fields, caller) {
|
|
74
|
-
super(fields, caller, new GoogleAuth(fields.authOptions));
|
|
75
|
-
Object.defineProperty(this, "index", {
|
|
76
|
-
enumerable: true,
|
|
77
|
-
configurable: true,
|
|
78
|
-
writable: true,
|
|
79
|
-
value: void 0
|
|
80
|
-
});
|
|
81
|
-
this.index = fields.index;
|
|
82
|
-
}
|
|
83
|
-
async buildUrl() {
|
|
84
|
-
const projectId = await this.client.getProjectId();
|
|
85
|
-
const url = `https://${this.endpoint}/${this.apiVersion}/projects/${projectId}/locations/${this.location}/indexes/${this.index}:upsertDatapoints`;
|
|
86
|
-
return url;
|
|
87
|
-
}
|
|
88
|
-
buildMethod() {
|
|
89
|
-
return "POST";
|
|
90
|
-
}
|
|
91
|
-
async request(datapoints, options) {
|
|
92
|
-
const data = {
|
|
93
|
-
datapoints,
|
|
94
|
-
};
|
|
95
|
-
return this._request(data, options);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
class FindNeighborsConnection extends GoogleVertexAIConnection {
|
|
99
|
-
constructor(params, caller) {
|
|
100
|
-
super(params, caller, new GoogleAuth(params.authOptions));
|
|
101
|
-
Object.defineProperty(this, "indexEndpoint", {
|
|
102
|
-
enumerable: true,
|
|
103
|
-
configurable: true,
|
|
104
|
-
writable: true,
|
|
105
|
-
value: void 0
|
|
106
|
-
});
|
|
107
|
-
Object.defineProperty(this, "deployedIndexId", {
|
|
108
|
-
enumerable: true,
|
|
109
|
-
configurable: true,
|
|
110
|
-
writable: true,
|
|
111
|
-
value: void 0
|
|
112
|
-
});
|
|
113
|
-
this.indexEndpoint = params.indexEndpoint;
|
|
114
|
-
this.deployedIndexId = params.deployedIndexId;
|
|
115
|
-
}
|
|
116
|
-
async buildUrl() {
|
|
117
|
-
const projectId = await this.client.getProjectId();
|
|
118
|
-
const url = `https://${this.endpoint}/${this.apiVersion}/projects/${projectId}/locations/${this.location}/indexEndpoints/${this.indexEndpoint}:findNeighbors`;
|
|
119
|
-
return url;
|
|
120
|
-
}
|
|
121
|
-
buildMethod() {
|
|
122
|
-
return "POST";
|
|
123
|
-
}
|
|
124
|
-
async request(request, options) {
|
|
125
|
-
return this._request(request, options);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* A class that represents a connection to a Google Vertex AI Matching Engine
|
|
130
|
-
* instance.
|
|
131
|
-
*/
|
|
132
|
-
export class MatchingEngine extends VectorStore {
|
|
133
|
-
constructor(embeddings, args) {
|
|
134
|
-
super(embeddings, args);
|
|
135
|
-
/**
|
|
136
|
-
* Docstore that retains the document, stored by ID
|
|
137
|
-
*/
|
|
138
|
-
Object.defineProperty(this, "docstore", {
|
|
139
|
-
enumerable: true,
|
|
140
|
-
configurable: true,
|
|
141
|
-
writable: true,
|
|
142
|
-
value: void 0
|
|
143
|
-
});
|
|
144
|
-
/**
|
|
145
|
-
* The host to connect to for queries and upserts.
|
|
146
|
-
*/
|
|
147
|
-
Object.defineProperty(this, "apiEndpoint", {
|
|
148
|
-
enumerable: true,
|
|
149
|
-
configurable: true,
|
|
150
|
-
writable: true,
|
|
151
|
-
value: void 0
|
|
152
|
-
});
|
|
153
|
-
Object.defineProperty(this, "apiVersion", {
|
|
154
|
-
enumerable: true,
|
|
155
|
-
configurable: true,
|
|
156
|
-
writable: true,
|
|
157
|
-
value: "v1"
|
|
158
|
-
});
|
|
159
|
-
Object.defineProperty(this, "endpoint", {
|
|
160
|
-
enumerable: true,
|
|
161
|
-
configurable: true,
|
|
162
|
-
writable: true,
|
|
163
|
-
value: "us-central1-aiplatform.googleapis.com"
|
|
164
|
-
});
|
|
165
|
-
Object.defineProperty(this, "location", {
|
|
166
|
-
enumerable: true,
|
|
167
|
-
configurable: true,
|
|
168
|
-
writable: true,
|
|
169
|
-
value: "us-central1"
|
|
170
|
-
});
|
|
171
|
-
/**
|
|
172
|
-
* The id for the index endpoint
|
|
173
|
-
*/
|
|
174
|
-
Object.defineProperty(this, "indexEndpoint", {
|
|
175
|
-
enumerable: true,
|
|
176
|
-
configurable: true,
|
|
177
|
-
writable: true,
|
|
178
|
-
value: void 0
|
|
179
|
-
});
|
|
180
|
-
/**
|
|
181
|
-
* The id for the index
|
|
182
|
-
*/
|
|
183
|
-
Object.defineProperty(this, "index", {
|
|
184
|
-
enumerable: true,
|
|
185
|
-
configurable: true,
|
|
186
|
-
writable: true,
|
|
187
|
-
value: void 0
|
|
188
|
-
});
|
|
189
|
-
/**
|
|
190
|
-
* The id for the "deployed index", which is an identifier in the
|
|
191
|
-
* index endpoint that references the index (but is not the index id)
|
|
192
|
-
*/
|
|
193
|
-
Object.defineProperty(this, "deployedIndexId", {
|
|
194
|
-
enumerable: true,
|
|
195
|
-
configurable: true,
|
|
196
|
-
writable: true,
|
|
197
|
-
value: void 0
|
|
198
|
-
});
|
|
199
|
-
Object.defineProperty(this, "callerParams", {
|
|
200
|
-
enumerable: true,
|
|
201
|
-
configurable: true,
|
|
202
|
-
writable: true,
|
|
203
|
-
value: void 0
|
|
204
|
-
});
|
|
205
|
-
Object.defineProperty(this, "callerOptions", {
|
|
206
|
-
enumerable: true,
|
|
207
|
-
configurable: true,
|
|
208
|
-
writable: true,
|
|
209
|
-
value: void 0
|
|
210
|
-
});
|
|
211
|
-
Object.defineProperty(this, "caller", {
|
|
212
|
-
enumerable: true,
|
|
213
|
-
configurable: true,
|
|
214
|
-
writable: true,
|
|
215
|
-
value: void 0
|
|
216
|
-
});
|
|
217
|
-
Object.defineProperty(this, "indexEndpointClient", {
|
|
218
|
-
enumerable: true,
|
|
219
|
-
configurable: true,
|
|
220
|
-
writable: true,
|
|
221
|
-
value: void 0
|
|
222
|
-
});
|
|
223
|
-
Object.defineProperty(this, "removeDatapointClient", {
|
|
224
|
-
enumerable: true,
|
|
225
|
-
configurable: true,
|
|
226
|
-
writable: true,
|
|
227
|
-
value: void 0
|
|
228
|
-
});
|
|
229
|
-
Object.defineProperty(this, "upsertDatapointClient", {
|
|
230
|
-
enumerable: true,
|
|
231
|
-
configurable: true,
|
|
232
|
-
writable: true,
|
|
233
|
-
value: void 0
|
|
234
|
-
});
|
|
235
|
-
this.embeddings = embeddings;
|
|
236
|
-
this.docstore = args.docstore;
|
|
237
|
-
this.apiEndpoint = args.apiEndpoint ?? this.apiEndpoint;
|
|
238
|
-
this.deployedIndexId = args.deployedIndexId ?? this.deployedIndexId;
|
|
239
|
-
this.apiVersion = args.apiVersion ?? this.apiVersion;
|
|
240
|
-
this.endpoint = args.endpoint ?? this.endpoint;
|
|
241
|
-
this.location = args.location ?? this.location;
|
|
242
|
-
this.indexEndpoint = args.indexEndpoint ?? this.indexEndpoint;
|
|
243
|
-
this.index = args.index ?? this.index;
|
|
244
|
-
this.callerParams = args.callerParams ?? this.callerParams;
|
|
245
|
-
this.callerOptions = args.callerOptions ?? this.callerOptions;
|
|
246
|
-
this.caller = new AsyncCaller(this.callerParams || {});
|
|
247
|
-
const indexClientParams = {
|
|
248
|
-
endpoint: this.endpoint,
|
|
249
|
-
location: this.location,
|
|
250
|
-
apiVersion: this.apiVersion,
|
|
251
|
-
indexEndpoint: this.indexEndpoint,
|
|
252
|
-
};
|
|
253
|
-
this.indexEndpointClient = new IndexEndpointConnection(indexClientParams, this.caller);
|
|
254
|
-
const removeClientParams = {
|
|
255
|
-
endpoint: this.endpoint,
|
|
256
|
-
location: this.location,
|
|
257
|
-
apiVersion: this.apiVersion,
|
|
258
|
-
index: this.index,
|
|
259
|
-
};
|
|
260
|
-
this.removeDatapointClient = new RemoveDatapointConnection(removeClientParams, this.caller);
|
|
261
|
-
const upsertClientParams = {
|
|
262
|
-
endpoint: this.endpoint,
|
|
263
|
-
location: this.location,
|
|
264
|
-
apiVersion: this.apiVersion,
|
|
265
|
-
index: this.index,
|
|
266
|
-
};
|
|
267
|
-
this.upsertDatapointClient = new UpsertDatapointConnection(upsertClientParams, this.caller);
|
|
268
|
-
}
|
|
269
|
-
_vectorstoreType() {
|
|
270
|
-
return "googlevertexai";
|
|
271
|
-
}
|
|
272
|
-
async addDocuments(documents) {
|
|
273
|
-
const texts = documents.map((doc) => doc.pageContent);
|
|
274
|
-
const vectors = await this.embeddings.embedDocuments(texts);
|
|
275
|
-
return this.addVectors(vectors, documents);
|
|
276
|
-
}
|
|
277
|
-
async addVectors(vectors, documents) {
|
|
278
|
-
if (vectors.length !== documents.length) {
|
|
279
|
-
throw new Error(`Vectors and metadata must have the same length`);
|
|
280
|
-
}
|
|
281
|
-
const datapoints = vectors.map((vector, idx) => this.buildDatapoint(vector, documents[idx]));
|
|
282
|
-
const options = {};
|
|
283
|
-
const response = await this.upsertDatapointClient.request(datapoints, options);
|
|
284
|
-
if (Object.keys(response?.data ?? {}).length === 0) {
|
|
285
|
-
// Nothing in the response in the body means we saved it ok
|
|
286
|
-
const idDoc = documents;
|
|
287
|
-
const docsToStore = {};
|
|
288
|
-
idDoc.forEach((doc) => {
|
|
289
|
-
if (doc.id) {
|
|
290
|
-
docsToStore[doc.id] = doc;
|
|
291
|
-
}
|
|
292
|
-
});
|
|
293
|
-
await this.docstore.add(docsToStore);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
// TODO: Refactor this into a utility type and use with pinecone as well?
|
|
297
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
298
|
-
cleanMetadata(documentMetadata) {
|
|
299
|
-
function getStringArrays(prefix,
|
|
300
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
301
|
-
m) {
|
|
302
|
-
let ret = {};
|
|
303
|
-
Object.keys(m).forEach((key) => {
|
|
304
|
-
const newPrefix = prefix.length > 0 ? `${prefix}.${key}` : key;
|
|
305
|
-
const val = m[key];
|
|
306
|
-
if (!val) {
|
|
307
|
-
// Ignore it
|
|
308
|
-
}
|
|
309
|
-
else if (Array.isArray(val)) {
|
|
310
|
-
// Make sure everything in the array is a string
|
|
311
|
-
ret[newPrefix] = val.map((v) => `${v}`);
|
|
312
|
-
}
|
|
313
|
-
else if (typeof val === "object") {
|
|
314
|
-
const subArrays = getStringArrays(newPrefix, val);
|
|
315
|
-
ret = { ...ret, ...subArrays };
|
|
316
|
-
}
|
|
317
|
-
});
|
|
318
|
-
return ret;
|
|
319
|
-
}
|
|
320
|
-
const stringArrays = getStringArrays("", documentMetadata);
|
|
321
|
-
const flatMetadata = flatten(documentMetadata);
|
|
322
|
-
Object.keys(flatMetadata).forEach((key) => {
|
|
323
|
-
Object.keys(stringArrays).forEach((arrayKey) => {
|
|
324
|
-
const matchKey = `${arrayKey}.`;
|
|
325
|
-
if (key.startsWith(matchKey)) {
|
|
326
|
-
delete flatMetadata[key];
|
|
327
|
-
}
|
|
328
|
-
});
|
|
329
|
-
});
|
|
330
|
-
const metadata = {
|
|
331
|
-
...flatMetadata,
|
|
332
|
-
...stringArrays,
|
|
333
|
-
};
|
|
334
|
-
return metadata;
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* Given the metadata from a document, convert it to an array of Restriction
|
|
338
|
-
* objects that may be passed to the Matching Engine and stored.
|
|
339
|
-
* The default implementation flattens any metadata and includes it as
|
|
340
|
-
* an "allowList". Subclasses can choose to convert some of these to
|
|
341
|
-
* "denyList" items or to add additional restrictions (for example, to format
|
|
342
|
-
* dates into a different structure or to add additional restrictions
|
|
343
|
-
* based on the date).
|
|
344
|
-
* @param documentMetadata - The metadata from a document
|
|
345
|
-
* @returns a Restriction[] (or an array of a subclass, from the FilterType)
|
|
346
|
-
*/
|
|
347
|
-
metadataToRestrictions(
|
|
348
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
349
|
-
documentMetadata) {
|
|
350
|
-
const metadata = this.cleanMetadata(documentMetadata);
|
|
351
|
-
const restrictions = [];
|
|
352
|
-
for (const key of Object.keys(metadata)) {
|
|
353
|
-
// Make sure the value is an array (or that we'll ignore it)
|
|
354
|
-
let valArray;
|
|
355
|
-
const val = metadata[key];
|
|
356
|
-
if (val === null) {
|
|
357
|
-
valArray = null;
|
|
358
|
-
}
|
|
359
|
-
else if (Array.isArray(val) && val.length > 0) {
|
|
360
|
-
valArray = val;
|
|
361
|
-
}
|
|
362
|
-
else {
|
|
363
|
-
valArray = [`${val}`];
|
|
364
|
-
}
|
|
365
|
-
// Add to the restrictions if we do have a valid value
|
|
366
|
-
if (valArray) {
|
|
367
|
-
// Determine if this key is for the allowList or denyList
|
|
368
|
-
// TODO: get which ones should be on the deny list
|
|
369
|
-
const listType = "allowList";
|
|
370
|
-
// Create the restriction
|
|
371
|
-
const restriction = {
|
|
372
|
-
namespace: key,
|
|
373
|
-
[listType]: valArray,
|
|
374
|
-
};
|
|
375
|
-
// Add it to the restriction list
|
|
376
|
-
restrictions.push(restriction);
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
return restrictions;
|
|
380
|
-
}
|
|
381
|
-
/**
|
|
382
|
-
* Create an index datapoint for the vector and document id.
|
|
383
|
-
* If an id does not exist, create it and set the document to its value.
|
|
384
|
-
* @param vector
|
|
385
|
-
* @param document
|
|
386
|
-
*/
|
|
387
|
-
buildDatapoint(vector, document) {
|
|
388
|
-
if (!document.id) {
|
|
389
|
-
// eslint-disable-next-line no-param-reassign
|
|
390
|
-
document.id = uuid.v4();
|
|
391
|
-
}
|
|
392
|
-
const ret = {
|
|
393
|
-
datapointId: document.id,
|
|
394
|
-
featureVector: vector,
|
|
395
|
-
};
|
|
396
|
-
const restrictions = this.metadataToRestrictions(document.metadata);
|
|
397
|
-
if (restrictions?.length > 0) {
|
|
398
|
-
ret.restricts = restrictions;
|
|
399
|
-
}
|
|
400
|
-
return ret;
|
|
401
|
-
}
|
|
402
|
-
async delete(params) {
|
|
403
|
-
const options = {};
|
|
404
|
-
await this.removeDatapointClient.request(params.ids, options);
|
|
405
|
-
}
|
|
406
|
-
async similaritySearchVectorWithScore(query, k, filter) {
|
|
407
|
-
// Format the query into the request
|
|
408
|
-
const deployedIndexId = await this.getDeployedIndexId();
|
|
409
|
-
const requestQuery = {
|
|
410
|
-
neighborCount: k,
|
|
411
|
-
datapoint: {
|
|
412
|
-
datapointId: `0`,
|
|
413
|
-
featureVector: query,
|
|
414
|
-
},
|
|
415
|
-
};
|
|
416
|
-
if (filter) {
|
|
417
|
-
requestQuery.datapoint.restricts = filter;
|
|
418
|
-
}
|
|
419
|
-
const request = {
|
|
420
|
-
deployedIndexId,
|
|
421
|
-
queries: [requestQuery],
|
|
422
|
-
};
|
|
423
|
-
// Build the connection.
|
|
424
|
-
// Has to be done here, since we defer getting the endpoint until
|
|
425
|
-
// we need it.
|
|
426
|
-
const apiEndpoint = await this.getPublicAPIEndpoint();
|
|
427
|
-
const findNeighborsParams = {
|
|
428
|
-
endpoint: apiEndpoint,
|
|
429
|
-
indexEndpoint: this.indexEndpoint,
|
|
430
|
-
apiVersion: this.apiVersion,
|
|
431
|
-
location: this.location,
|
|
432
|
-
deployedIndexId,
|
|
433
|
-
};
|
|
434
|
-
const connection = new FindNeighborsConnection(findNeighborsParams, this.caller);
|
|
435
|
-
// Make the call
|
|
436
|
-
const options = {};
|
|
437
|
-
const response = await connection.request(request, options);
|
|
438
|
-
// Get the document for each datapoint id and return them
|
|
439
|
-
const nearestNeighbors = response?.data?.nearestNeighbors ?? [];
|
|
440
|
-
const nearestNeighbor = nearestNeighbors[0];
|
|
441
|
-
const neighbors = nearestNeighbor?.neighbors ?? [];
|
|
442
|
-
const ret = await Promise.all(neighbors.map(async (neighbor) => {
|
|
443
|
-
const id = neighbor?.datapoint?.datapointId;
|
|
444
|
-
const distance = neighbor?.distance;
|
|
445
|
-
let doc;
|
|
446
|
-
try {
|
|
447
|
-
doc = await this.docstore.search(id);
|
|
448
|
-
}
|
|
449
|
-
catch (xx) {
|
|
450
|
-
// Documents that are in the index are returned, even if they
|
|
451
|
-
// are not in the document store, to allow for some way to get
|
|
452
|
-
// the id so they can be deleted.
|
|
453
|
-
console.error(xx);
|
|
454
|
-
console.warn([
|
|
455
|
-
`Document with id "${id}" is missing from the backing docstore.`,
|
|
456
|
-
`This can occur if you clear the docstore without deleting from the corresponding Matching Engine index.`,
|
|
457
|
-
`To resolve this, you should call .delete() with this id as part of the "ids" parameter.`,
|
|
458
|
-
].join("\n"));
|
|
459
|
-
doc = new Document({ pageContent: `Missing document ${id}` });
|
|
460
|
-
}
|
|
461
|
-
doc.id ??= id;
|
|
462
|
-
return [doc, distance];
|
|
463
|
-
}));
|
|
464
|
-
return ret;
|
|
465
|
-
}
|
|
466
|
-
/**
|
|
467
|
-
* For this index endpoint, figure out what API Endpoint URL and deployed
|
|
468
|
-
* index ID should be used to do upserts and queries.
|
|
469
|
-
* Also sets the `apiEndpoint` and `deployedIndexId` property for future use.
|
|
470
|
-
* @return The URL
|
|
471
|
-
*/
|
|
472
|
-
async determinePublicAPIEndpoint() {
|
|
473
|
-
const response = await this.indexEndpointClient.request(this.callerOptions);
|
|
474
|
-
// Get the endpoint
|
|
475
|
-
const publicEndpointDomainName = response?.data?.publicEndpointDomainName;
|
|
476
|
-
this.apiEndpoint = publicEndpointDomainName;
|
|
477
|
-
// Determine which of the deployed indexes match the index id
|
|
478
|
-
// and get the deployed index id. The list of deployed index ids
|
|
479
|
-
// contain the "index name" or path, but not the index id by itself,
|
|
480
|
-
// so we need to extract it from the name
|
|
481
|
-
const indexPathPattern = /projects\/.+\/locations\/.+\/indexes\/(.+)$/;
|
|
482
|
-
const deployedIndexes = response?.data?.deployedIndexes ?? [];
|
|
483
|
-
const deployedIndex = deployedIndexes.find((index) => {
|
|
484
|
-
const deployedIndexPath = index.index;
|
|
485
|
-
const match = deployedIndexPath.match(indexPathPattern);
|
|
486
|
-
if (match) {
|
|
487
|
-
const [, potentialIndexId] = match;
|
|
488
|
-
if (potentialIndexId === this.index) {
|
|
489
|
-
return true;
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
|
-
return false;
|
|
493
|
-
});
|
|
494
|
-
if (deployedIndex) {
|
|
495
|
-
this.deployedIndexId = deployedIndex.id;
|
|
496
|
-
}
|
|
497
|
-
return {
|
|
498
|
-
apiEndpoint: this.apiEndpoint,
|
|
499
|
-
deployedIndexId: this.deployedIndexId,
|
|
500
|
-
};
|
|
501
|
-
}
|
|
502
|
-
async getPublicAPIEndpoint() {
|
|
503
|
-
return (this.apiEndpoint ?? (await this.determinePublicAPIEndpoint()).apiEndpoint);
|
|
504
|
-
}
|
|
505
|
-
async getDeployedIndexId() {
|
|
506
|
-
return (this.deployedIndexId ??
|
|
507
|
-
(await this.determinePublicAPIEndpoint()).deployedIndexId);
|
|
508
|
-
}
|
|
509
|
-
static async fromTexts(texts, metadatas, embeddings, dbConfig) {
|
|
510
|
-
const docs = texts.map((text, index) => ({
|
|
511
|
-
pageContent: text,
|
|
512
|
-
metadata: Array.isArray(metadatas) ? metadatas[index] : metadatas,
|
|
513
|
-
}));
|
|
514
|
-
return this.fromDocuments(docs, embeddings, dbConfig);
|
|
515
|
-
}
|
|
516
|
-
static async fromDocuments(docs, embeddings, dbConfig) {
|
|
517
|
-
const ret = new MatchingEngine(embeddings, dbConfig);
|
|
518
|
-
await ret.addDocuments(docs);
|
|
519
|
-
return ret;
|
|
520
|
-
}
|
|
521
|
-
}
|
|
1
|
+
export * from "@langchain/community/vectorstores/googlevertexai";
|