langchain 0.0.203 → 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_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/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 -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 -26
- 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
package/dist/vectorstores/zep.js
CHANGED
|
@@ -1,311 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { VectorStore } from "./base.js";
|
|
3
|
-
import { Document } from "../document.js";
|
|
4
|
-
import { FakeEmbeddings } from "../embeddings/fake.js";
|
|
5
|
-
import { maximalMarginalRelevance } from "../util/math.js";
|
|
6
|
-
/**
|
|
7
|
-
* ZepVectorStore is a VectorStore implementation that uses the Zep long-term memory store as a backend.
|
|
8
|
-
*
|
|
9
|
-
* If the collection does not exist, it will be created automatically.
|
|
10
|
-
*
|
|
11
|
-
* Requires `zep-js` to be installed:
|
|
12
|
-
* ```bash
|
|
13
|
-
* npm install @getzep/zep-js
|
|
14
|
-
* ```
|
|
15
|
-
*
|
|
16
|
-
* @property {ZepClient} client - The ZepClient instance used to interact with Zep's API.
|
|
17
|
-
* @property {Promise<void>} initPromise - A promise that resolves when the collection is initialized.
|
|
18
|
-
* @property {DocumentCollection} collection - The Zep document collection.
|
|
19
|
-
*/
|
|
20
|
-
export class ZepVectorStore extends VectorStore {
|
|
21
|
-
constructor(embeddings, args) {
|
|
22
|
-
super(embeddings, args);
|
|
23
|
-
Object.defineProperty(this, "client", {
|
|
24
|
-
enumerable: true,
|
|
25
|
-
configurable: true,
|
|
26
|
-
writable: true,
|
|
27
|
-
value: void 0
|
|
28
|
-
});
|
|
29
|
-
Object.defineProperty(this, "collection", {
|
|
30
|
-
enumerable: true,
|
|
31
|
-
configurable: true,
|
|
32
|
-
writable: true,
|
|
33
|
-
value: void 0
|
|
34
|
-
});
|
|
35
|
-
Object.defineProperty(this, "initPromise", {
|
|
36
|
-
enumerable: true,
|
|
37
|
-
configurable: true,
|
|
38
|
-
writable: true,
|
|
39
|
-
value: void 0
|
|
40
|
-
});
|
|
41
|
-
Object.defineProperty(this, "autoEmbed", {
|
|
42
|
-
enumerable: true,
|
|
43
|
-
configurable: true,
|
|
44
|
-
writable: true,
|
|
45
|
-
value: false
|
|
46
|
-
});
|
|
47
|
-
this.embeddings = embeddings;
|
|
48
|
-
// eslint-disable-next-line no-instanceof/no-instanceof
|
|
49
|
-
if (this.embeddings instanceof FakeEmbeddings) {
|
|
50
|
-
this.autoEmbed = true;
|
|
51
|
-
}
|
|
52
|
-
this.initPromise = this.initCollection(args).catch((err) => {
|
|
53
|
-
console.error("Error initializing collection:", err);
|
|
54
|
-
throw err;
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Initializes the document collection. If the collection does not exist, it creates a new one.
|
|
59
|
-
*
|
|
60
|
-
* @param {IZepConfig} args - The configuration object for the Zep API.
|
|
61
|
-
*/
|
|
62
|
-
async initCollection(args) {
|
|
63
|
-
this.client = await ZepClient.init(args.apiUrl, args.apiKey);
|
|
64
|
-
try {
|
|
65
|
-
this.collection = await this.client.document.getCollection(args.collectionName);
|
|
66
|
-
// If the Embedding passed in is fake, but the collection is not auto embedded, throw an error
|
|
67
|
-
// eslint-disable-next-line no-instanceof/no-instanceof
|
|
68
|
-
if (!this.collection.is_auto_embedded && this.autoEmbed) {
|
|
69
|
-
throw new Error(`You can't pass in FakeEmbeddings when collection ${args.collectionName}
|
|
70
|
-
is not set to auto-embed.`);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
catch (err) {
|
|
74
|
-
// eslint-disable-next-line no-instanceof/no-instanceof
|
|
75
|
-
if (err instanceof Error) {
|
|
76
|
-
// eslint-disable-next-line no-instanceof/no-instanceof
|
|
77
|
-
if (err instanceof NotFoundError || err.name === "NotFoundError") {
|
|
78
|
-
await this.createCollection(args);
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
throw err;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Creates a new document collection.
|
|
88
|
-
*
|
|
89
|
-
* @param {IZepConfig} args - The configuration object for the Zep API.
|
|
90
|
-
*/
|
|
91
|
-
async createCollection(args) {
|
|
92
|
-
if (!args.embeddingDimensions) {
|
|
93
|
-
throw new Error(`Collection ${args.collectionName} not found.
|
|
94
|
-
You can create a new Collection by providing embeddingDimensions.`);
|
|
95
|
-
}
|
|
96
|
-
this.collection = await this.client.document.addCollection({
|
|
97
|
-
name: args.collectionName,
|
|
98
|
-
description: args.description,
|
|
99
|
-
metadata: args.metadata,
|
|
100
|
-
embeddingDimensions: args.embeddingDimensions,
|
|
101
|
-
isAutoEmbedded: this.autoEmbed,
|
|
102
|
-
});
|
|
103
|
-
console.info("Created new collection:", args.collectionName);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Adds vectors and corresponding documents to the collection.
|
|
107
|
-
*
|
|
108
|
-
* @param {number[][]} vectors - The vectors to add.
|
|
109
|
-
* @param {Document[]} documents - The corresponding documents to add.
|
|
110
|
-
* @returns {Promise<string[]>} - A promise that resolves with the UUIDs of the added documents.
|
|
111
|
-
*/
|
|
112
|
-
async addVectors(vectors, documents) {
|
|
113
|
-
if (!this.autoEmbed && vectors.length === 0) {
|
|
114
|
-
throw new Error(`Vectors must be provided if autoEmbed is false`);
|
|
115
|
-
}
|
|
116
|
-
if (!this.autoEmbed && vectors.length !== documents.length) {
|
|
117
|
-
throw new Error(`Vectors and documents must have the same length`);
|
|
118
|
-
}
|
|
119
|
-
const docs = [];
|
|
120
|
-
for (let i = 0; i < documents.length; i += 1) {
|
|
121
|
-
const doc = {
|
|
122
|
-
content: documents[i].pageContent,
|
|
123
|
-
metadata: documents[i].metadata,
|
|
124
|
-
embedding: vectors.length > 0 ? vectors[i] : undefined,
|
|
125
|
-
};
|
|
126
|
-
docs.push(doc);
|
|
127
|
-
}
|
|
128
|
-
// Wait for collection to be initialized
|
|
129
|
-
await this.initPromise;
|
|
130
|
-
return await this.collection.addDocuments(docs);
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Adds documents to the collection. The documents are first embedded into vectors
|
|
134
|
-
* using the provided embedding model.
|
|
135
|
-
*
|
|
136
|
-
* @param {Document[]} documents - The documents to add.
|
|
137
|
-
* @returns {Promise<string[]>} - A promise that resolves with the UUIDs of the added documents.
|
|
138
|
-
*/
|
|
139
|
-
async addDocuments(documents) {
|
|
140
|
-
const texts = documents.map(({ pageContent }) => pageContent);
|
|
141
|
-
let vectors = [];
|
|
142
|
-
if (!this.autoEmbed) {
|
|
143
|
-
vectors = await this.embeddings.embedDocuments(texts);
|
|
144
|
-
}
|
|
145
|
-
return this.addVectors(vectors, documents);
|
|
146
|
-
}
|
|
147
|
-
_vectorstoreType() {
|
|
148
|
-
return "zep";
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Deletes documents from the collection.
|
|
152
|
-
*
|
|
153
|
-
* @param {IZepDeleteParams} params - The list of Zep document UUIDs to delete.
|
|
154
|
-
* @returns {Promise<void>}
|
|
155
|
-
*/
|
|
156
|
-
async delete(params) {
|
|
157
|
-
// Wait for collection to be initialized
|
|
158
|
-
await this.initPromise;
|
|
159
|
-
for (const uuid of params.uuids) {
|
|
160
|
-
await this.collection.deleteDocument(uuid);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Performs a similarity search in the collection and returns the results with their scores.
|
|
165
|
-
*
|
|
166
|
-
* @param {number[]} query - The query vector.
|
|
167
|
-
* @param {number} k - The number of results to return.
|
|
168
|
-
* @param {Record<string, unknown>} filter - The filter to apply to the search. Zep only supports Record<string, unknown> as filter.
|
|
169
|
-
* @returns {Promise<[Document, number][]>} - A promise that resolves with the search results and their scores.
|
|
170
|
-
*/
|
|
171
|
-
async similaritySearchVectorWithScore(query, k, filter) {
|
|
172
|
-
await this.initPromise;
|
|
173
|
-
const results = await this.collection.search({
|
|
174
|
-
embedding: new Float32Array(query),
|
|
175
|
-
metadata: assignMetadata(filter),
|
|
176
|
-
}, k);
|
|
177
|
-
return zepDocsToDocumentsAndScore(results);
|
|
178
|
-
}
|
|
179
|
-
async _similaritySearchWithScore(query, k, filter) {
|
|
180
|
-
await this.initPromise;
|
|
181
|
-
const results = await this.collection.search({
|
|
182
|
-
text: query,
|
|
183
|
-
metadata: assignMetadata(filter),
|
|
184
|
-
}, k);
|
|
185
|
-
return zepDocsToDocumentsAndScore(results);
|
|
186
|
-
}
|
|
187
|
-
async similaritySearchWithScore(query, k = 4, filter = undefined, _callbacks = undefined // implement passing to embedQuery later
|
|
188
|
-
) {
|
|
189
|
-
if (this.autoEmbed) {
|
|
190
|
-
return this._similaritySearchWithScore(query, k, filter);
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
return this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(query), k, filter);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Performs a similarity search on the Zep collection.
|
|
198
|
-
*
|
|
199
|
-
* @param {string} query - The query string to search for.
|
|
200
|
-
* @param {number} [k=4] - The number of results to return. Defaults to 4.
|
|
201
|
-
* @param {this["FilterType"] | undefined} [filter=undefined] - An optional set of JSONPath filters to apply to the search.
|
|
202
|
-
* @param {Callbacks | undefined} [_callbacks=undefined] - Optional callbacks. Currently not implemented.
|
|
203
|
-
* @returns {Promise<Document[]>} - A promise that resolves to an array of Documents that are similar to the query.
|
|
204
|
-
*
|
|
205
|
-
* @async
|
|
206
|
-
*/
|
|
207
|
-
async similaritySearch(query, k = 4, filter = undefined, _callbacks = undefined // implement passing to embedQuery later
|
|
208
|
-
) {
|
|
209
|
-
await this.initPromise;
|
|
210
|
-
let results;
|
|
211
|
-
if (this.autoEmbed) {
|
|
212
|
-
const zepResults = await this.collection.search({ text: query, metadata: assignMetadata(filter) }, k);
|
|
213
|
-
results = zepDocsToDocumentsAndScore(zepResults);
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
results = await this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(query), k, assignMetadata(filter));
|
|
217
|
-
}
|
|
218
|
-
return results.map((result) => result[0]);
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Return documents selected using the maximal marginal relevance.
|
|
222
|
-
* Maximal marginal relevance optimizes for similarity to the query AND diversity
|
|
223
|
-
* among selected documents.
|
|
224
|
-
*
|
|
225
|
-
* @param {string} query - Text to look up documents similar to.
|
|
226
|
-
* @param options
|
|
227
|
-
* @param {number} options.k - Number of documents to return.
|
|
228
|
-
* @param {number} options.fetchK=20- Number of documents to fetch before passing to the MMR algorithm.
|
|
229
|
-
* @param {number} options.lambda=0.5 - Number between 0 and 1 that determines the degree of diversity among the results,
|
|
230
|
-
* where 0 corresponds to maximum diversity and 1 to minimum diversity.
|
|
231
|
-
* @param {Record<string, any>} options.filter - Optional Zep JSONPath query to pre-filter on document metadata field
|
|
232
|
-
*
|
|
233
|
-
* @returns {Promise<Document[]>} - List of documents selected by maximal marginal relevance.
|
|
234
|
-
*/
|
|
235
|
-
async maxMarginalRelevanceSearch(query, options) {
|
|
236
|
-
const { k, fetchK = 20, lambda = 0.5, filter } = options;
|
|
237
|
-
let queryEmbedding;
|
|
238
|
-
let zepResults;
|
|
239
|
-
if (!this.autoEmbed) {
|
|
240
|
-
queryEmbedding = await this.embeddings.embedQuery(query);
|
|
241
|
-
zepResults = await this.collection.search({
|
|
242
|
-
embedding: new Float32Array(queryEmbedding),
|
|
243
|
-
metadata: assignMetadata(filter),
|
|
244
|
-
}, fetchK);
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
247
|
-
let queryEmbeddingArray;
|
|
248
|
-
[zepResults, queryEmbeddingArray] =
|
|
249
|
-
await this.collection.searchReturnQueryVector({ text: query, metadata: assignMetadata(filter) }, fetchK);
|
|
250
|
-
queryEmbedding = Array.from(queryEmbeddingArray);
|
|
251
|
-
}
|
|
252
|
-
const results = zepDocsToDocumentsAndScore(zepResults);
|
|
253
|
-
const embeddingList = zepResults.map((doc) => Array.from(doc.embedding ? doc.embedding : []));
|
|
254
|
-
const mmrIndexes = maximalMarginalRelevance(queryEmbedding, embeddingList, lambda, k);
|
|
255
|
-
return mmrIndexes.filter((idx) => idx !== -1).map((idx) => results[idx][0]);
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Creates a new ZepVectorStore instance from an array of texts. Each text is converted into a Document and added to the collection.
|
|
259
|
-
*
|
|
260
|
-
* @param {string[]} texts - The texts to convert into Documents.
|
|
261
|
-
* @param {object[] | object} metadatas - The metadata to associate with each Document. If an array is provided, each element is associated with the corresponding Document. If an object is provided, it is associated with all Documents.
|
|
262
|
-
* @param {Embeddings} embeddings - The embeddings to use for vectorizing the texts.
|
|
263
|
-
* @param {IZepConfig} zepConfig - The configuration object for the Zep API.
|
|
264
|
-
* @returns {Promise<ZepVectorStore>} - A promise that resolves with the new ZepVectorStore instance.
|
|
265
|
-
*/
|
|
266
|
-
static async fromTexts(texts, metadatas, embeddings, zepConfig) {
|
|
267
|
-
const docs = [];
|
|
268
|
-
for (let i = 0; i < texts.length; i += 1) {
|
|
269
|
-
const metadata = Array.isArray(metadatas) ? metadatas[i] : metadatas;
|
|
270
|
-
const newDoc = new Document({
|
|
271
|
-
pageContent: texts[i],
|
|
272
|
-
metadata,
|
|
273
|
-
});
|
|
274
|
-
docs.push(newDoc);
|
|
275
|
-
}
|
|
276
|
-
return ZepVectorStore.fromDocuments(docs, embeddings, zepConfig);
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Creates a new ZepVectorStore instance from an array of Documents. Each Document is added to a Zep collection.
|
|
280
|
-
*
|
|
281
|
-
* @param {Document[]} docs - The Documents to add.
|
|
282
|
-
* @param {Embeddings} embeddings - The embeddings to use for vectorizing the Document contents.
|
|
283
|
-
* @param {IZepConfig} zepConfig - The configuration object for the Zep API.
|
|
284
|
-
* @returns {Promise<ZepVectorStore>} - A promise that resolves with the new ZepVectorStore instance.
|
|
285
|
-
*/
|
|
286
|
-
static async fromDocuments(docs, embeddings, zepConfig) {
|
|
287
|
-
const instance = new this(embeddings, zepConfig);
|
|
288
|
-
// Wait for collection to be initialized
|
|
289
|
-
await instance.initPromise;
|
|
290
|
-
await instance.addDocuments(docs);
|
|
291
|
-
return instance;
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
function zepDocsToDocumentsAndScore(results) {
|
|
295
|
-
return results.map((d) => [
|
|
296
|
-
new Document({
|
|
297
|
-
pageContent: d.content,
|
|
298
|
-
metadata: d.metadata,
|
|
299
|
-
}),
|
|
300
|
-
d.score ? d.score : 0,
|
|
301
|
-
]);
|
|
302
|
-
}
|
|
303
|
-
function assignMetadata(value) {
|
|
304
|
-
if (typeof value === "object" && value !== null) {
|
|
305
|
-
return value;
|
|
306
|
-
}
|
|
307
|
-
if (value !== undefined) {
|
|
308
|
-
console.warn("Metadata filters must be an object, Record, or undefined.");
|
|
309
|
-
}
|
|
310
|
-
return undefined;
|
|
311
|
-
}
|
|
1
|
+
export * from "@langchain/community/vectorstores/zep";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "langchain",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.204-rc.0",
|
|
4
4
|
"description": "Typescript bindings for langchain",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -882,10 +882,6 @@
|
|
|
882
882
|
"author": "LangChain",
|
|
883
883
|
"license": "MIT",
|
|
884
884
|
"devDependencies": {
|
|
885
|
-
"@aws-crypto/sha256-js": "^5.0.0",
|
|
886
|
-
"@aws-sdk/client-bedrock-runtime": "^3.422.0",
|
|
887
|
-
"@aws-sdk/client-dynamodb": "^3.310.0",
|
|
888
|
-
"@aws-sdk/client-kendra": "^3.352.0",
|
|
889
885
|
"@aws-sdk/client-lambda": "^3.310.0",
|
|
890
886
|
"@aws-sdk/client-s3": "^3.310.0",
|
|
891
887
|
"@aws-sdk/client-sagemaker-runtime": "^3.414.0",
|
|
@@ -930,7 +926,6 @@
|
|
|
930
926
|
"@tsconfig/recommended": "^1.0.2",
|
|
931
927
|
"@types/d3-dsv": "^2",
|
|
932
928
|
"@types/decamelize": "^1.2.0",
|
|
933
|
-
"@types/flat": "^5.0.2",
|
|
934
929
|
"@types/html-to-text": "^9",
|
|
935
930
|
"@types/js-yaml": "^4",
|
|
936
931
|
"@types/jsdom": "^21.1.1",
|
|
@@ -988,7 +983,6 @@
|
|
|
988
983
|
"llmonitor": "^0.5.9",
|
|
989
984
|
"lodash": "^4.17.21",
|
|
990
985
|
"mammoth": "^1.5.1",
|
|
991
|
-
"ml-matrix": "^6.10.4",
|
|
992
986
|
"mongodb": "^5.2.0",
|
|
993
987
|
"mysql2": "^3.3.3",
|
|
994
988
|
"neo4j-driver": "^5.12.0",
|
|
@@ -1026,10 +1020,6 @@
|
|
|
1026
1020
|
"youtubei.js": "^5.8.0"
|
|
1027
1021
|
},
|
|
1028
1022
|
"peerDependencies": {
|
|
1029
|
-
"@aws-crypto/sha256-js": "^5.0.0",
|
|
1030
|
-
"@aws-sdk/client-bedrock-runtime": "^3.422.0",
|
|
1031
|
-
"@aws-sdk/client-dynamodb": "^3.310.0",
|
|
1032
|
-
"@aws-sdk/client-kendra": "^3.352.0",
|
|
1033
1023
|
"@aws-sdk/client-lambda": "^3.310.0",
|
|
1034
1024
|
"@aws-sdk/client-s3": "^3.310.0",
|
|
1035
1025
|
"@aws-sdk/client-sagemaker-runtime": "^3.310.0",
|
|
@@ -1129,18 +1119,6 @@
|
|
|
1129
1119
|
"youtubei.js": "^5.8.0"
|
|
1130
1120
|
},
|
|
1131
1121
|
"peerDependenciesMeta": {
|
|
1132
|
-
"@aws-crypto/sha256-js": {
|
|
1133
|
-
"optional": true
|
|
1134
|
-
},
|
|
1135
|
-
"@aws-sdk/client-bedrock-runtime": {
|
|
1136
|
-
"optional": true
|
|
1137
|
-
},
|
|
1138
|
-
"@aws-sdk/client-dynamodb": {
|
|
1139
|
-
"optional": true
|
|
1140
|
-
},
|
|
1141
|
-
"@aws-sdk/client-kendra": {
|
|
1142
|
-
"optional": true
|
|
1143
|
-
},
|
|
1144
1122
|
"@aws-sdk/client-lambda": {
|
|
1145
1123
|
"optional": true
|
|
1146
1124
|
},
|
|
@@ -1435,17 +1413,17 @@
|
|
|
1435
1413
|
},
|
|
1436
1414
|
"dependencies": {
|
|
1437
1415
|
"@anthropic-ai/sdk": "^0.9.1",
|
|
1438
|
-
"@langchain/
|
|
1416
|
+
"@langchain/community": "~0.0.0",
|
|
1417
|
+
"@langchain/core": "~0.0.11-rc.1",
|
|
1418
|
+
"@langchain/openai": "~0.0.2-rc.0",
|
|
1439
1419
|
"binary-extensions": "^2.2.0",
|
|
1440
1420
|
"expr-eval": "^2.0.2",
|
|
1441
|
-
"flat": "^5.0.2",
|
|
1442
1421
|
"js-tiktoken": "^1.0.7",
|
|
1443
1422
|
"js-yaml": "^4.1.0",
|
|
1444
1423
|
"jsonpointer": "^5.0.1",
|
|
1445
1424
|
"langchainhub": "~0.0.6",
|
|
1446
1425
|
"langsmith": "~0.0.48",
|
|
1447
1426
|
"ml-distance": "^4.0.0",
|
|
1448
|
-
"openai": "^4.19.0",
|
|
1449
1427
|
"openapi-types": "^12.1.3",
|
|
1450
1428
|
"p-retry": "4",
|
|
1451
1429
|
"uuid": "^9.0.0",
|
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseChatGoogleVertexAI = exports.GoogleVertexAIChatMessage = void 0;
|
|
4
|
-
const base_js_1 = require("../base.cjs");
|
|
5
|
-
const index_js_1 = require("../../schema/index.cjs");
|
|
6
|
-
/**
|
|
7
|
-
* Represents a chat message in the Google Vertex AI chat model.
|
|
8
|
-
*/
|
|
9
|
-
class GoogleVertexAIChatMessage {
|
|
10
|
-
constructor(fields) {
|
|
11
|
-
Object.defineProperty(this, "author", {
|
|
12
|
-
enumerable: true,
|
|
13
|
-
configurable: true,
|
|
14
|
-
writable: true,
|
|
15
|
-
value: void 0
|
|
16
|
-
});
|
|
17
|
-
Object.defineProperty(this, "content", {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
configurable: true,
|
|
20
|
-
writable: true,
|
|
21
|
-
value: void 0
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(this, "name", {
|
|
24
|
-
enumerable: true,
|
|
25
|
-
configurable: true,
|
|
26
|
-
writable: true,
|
|
27
|
-
value: void 0
|
|
28
|
-
});
|
|
29
|
-
this.author = fields.author;
|
|
30
|
-
this.content = fields.content;
|
|
31
|
-
this.name = fields.name;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Extracts the role of a generic message and maps it to a Google Vertex
|
|
35
|
-
* AI chat author.
|
|
36
|
-
* @param message The chat message to extract the role from.
|
|
37
|
-
* @returns The role of the message mapped to a Google Vertex AI chat author.
|
|
38
|
-
*/
|
|
39
|
-
static extractGenericMessageCustomRole(message) {
|
|
40
|
-
if (message.role !== "system" &&
|
|
41
|
-
message.role !== "bot" &&
|
|
42
|
-
message.role !== "user" &&
|
|
43
|
-
message.role !== "context") {
|
|
44
|
-
console.warn(`Unknown message role: ${message.role}`);
|
|
45
|
-
}
|
|
46
|
-
return message.role;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Maps a message type to a Google Vertex AI chat author.
|
|
50
|
-
* @param message The message to map.
|
|
51
|
-
* @param model The model to use for mapping.
|
|
52
|
-
* @returns The message type mapped to a Google Vertex AI chat author.
|
|
53
|
-
*/
|
|
54
|
-
static mapMessageTypeToVertexChatAuthor(message, model) {
|
|
55
|
-
const type = message._getType();
|
|
56
|
-
switch (type) {
|
|
57
|
-
case "ai":
|
|
58
|
-
return model.startsWith("codechat-") ? "system" : "bot";
|
|
59
|
-
case "human":
|
|
60
|
-
return "user";
|
|
61
|
-
case "system":
|
|
62
|
-
throw new Error(`System messages are only supported as the first passed message for Google Vertex AI.`);
|
|
63
|
-
case "generic": {
|
|
64
|
-
if (!index_js_1.ChatMessage.isInstance(message))
|
|
65
|
-
throw new Error("Invalid generic chat message");
|
|
66
|
-
return GoogleVertexAIChatMessage.extractGenericMessageCustomRole(message);
|
|
67
|
-
}
|
|
68
|
-
default:
|
|
69
|
-
throw new Error(`Unknown / unsupported message type: ${message}`);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Creates a new Google Vertex AI chat message from a base message.
|
|
74
|
-
* @param message The base message to convert.
|
|
75
|
-
* @param model The model to use for conversion.
|
|
76
|
-
* @returns A new Google Vertex AI chat message.
|
|
77
|
-
*/
|
|
78
|
-
static fromChatMessage(message, model) {
|
|
79
|
-
if (typeof message.content !== "string") {
|
|
80
|
-
throw new Error("ChatGoogleVertexAI does not support non-string message content.");
|
|
81
|
-
}
|
|
82
|
-
return new GoogleVertexAIChatMessage({
|
|
83
|
-
author: GoogleVertexAIChatMessage.mapMessageTypeToVertexChatAuthor(message, model),
|
|
84
|
-
content: message.content,
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
exports.GoogleVertexAIChatMessage = GoogleVertexAIChatMessage;
|
|
89
|
-
/**
|
|
90
|
-
* Base class for Google Vertex AI chat models.
|
|
91
|
-
* Implemented subclasses must provide a GoogleVertexAILLMConnection
|
|
92
|
-
* with appropriate auth client.
|
|
93
|
-
*/
|
|
94
|
-
class BaseChatGoogleVertexAI extends base_js_1.BaseChatModel {
|
|
95
|
-
get lc_aliases() {
|
|
96
|
-
return {
|
|
97
|
-
model: "model_name",
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
constructor(fields) {
|
|
101
|
-
super(fields ?? {});
|
|
102
|
-
Object.defineProperty(this, "lc_serializable", {
|
|
103
|
-
enumerable: true,
|
|
104
|
-
configurable: true,
|
|
105
|
-
writable: true,
|
|
106
|
-
value: true
|
|
107
|
-
});
|
|
108
|
-
Object.defineProperty(this, "model", {
|
|
109
|
-
enumerable: true,
|
|
110
|
-
configurable: true,
|
|
111
|
-
writable: true,
|
|
112
|
-
value: "chat-bison"
|
|
113
|
-
});
|
|
114
|
-
Object.defineProperty(this, "temperature", {
|
|
115
|
-
enumerable: true,
|
|
116
|
-
configurable: true,
|
|
117
|
-
writable: true,
|
|
118
|
-
value: 0.2
|
|
119
|
-
});
|
|
120
|
-
Object.defineProperty(this, "maxOutputTokens", {
|
|
121
|
-
enumerable: true,
|
|
122
|
-
configurable: true,
|
|
123
|
-
writable: true,
|
|
124
|
-
value: 1024
|
|
125
|
-
});
|
|
126
|
-
Object.defineProperty(this, "topP", {
|
|
127
|
-
enumerable: true,
|
|
128
|
-
configurable: true,
|
|
129
|
-
writable: true,
|
|
130
|
-
value: 0.8
|
|
131
|
-
});
|
|
132
|
-
Object.defineProperty(this, "topK", {
|
|
133
|
-
enumerable: true,
|
|
134
|
-
configurable: true,
|
|
135
|
-
writable: true,
|
|
136
|
-
value: 40
|
|
137
|
-
});
|
|
138
|
-
Object.defineProperty(this, "examples", {
|
|
139
|
-
enumerable: true,
|
|
140
|
-
configurable: true,
|
|
141
|
-
writable: true,
|
|
142
|
-
value: []
|
|
143
|
-
});
|
|
144
|
-
Object.defineProperty(this, "connection", {
|
|
145
|
-
enumerable: true,
|
|
146
|
-
configurable: true,
|
|
147
|
-
writable: true,
|
|
148
|
-
value: void 0
|
|
149
|
-
});
|
|
150
|
-
Object.defineProperty(this, "streamedConnection", {
|
|
151
|
-
enumerable: true,
|
|
152
|
-
configurable: true,
|
|
153
|
-
writable: true,
|
|
154
|
-
value: void 0
|
|
155
|
-
});
|
|
156
|
-
this.model = fields?.model ?? this.model;
|
|
157
|
-
this.temperature = fields?.temperature ?? this.temperature;
|
|
158
|
-
this.maxOutputTokens = fields?.maxOutputTokens ?? this.maxOutputTokens;
|
|
159
|
-
this.topP = fields?.topP ?? this.topP;
|
|
160
|
-
this.topK = fields?.topK ?? this.topK;
|
|
161
|
-
this.examples = fields?.examples ?? this.examples;
|
|
162
|
-
}
|
|
163
|
-
_combineLLMOutput() {
|
|
164
|
-
// TODO: Combine the safetyAttributes
|
|
165
|
-
return [];
|
|
166
|
-
}
|
|
167
|
-
async *_streamResponseChunks(_messages, _options, _runManager) {
|
|
168
|
-
// Make the call as a streaming request
|
|
169
|
-
const instance = this.createInstance(_messages);
|
|
170
|
-
const parameters = this.formatParameters();
|
|
171
|
-
const result = await this.streamedConnection.request([instance], parameters, _options);
|
|
172
|
-
// Get the streaming parser of the response
|
|
173
|
-
const stream = result.data;
|
|
174
|
-
// Loop until the end of the stream
|
|
175
|
-
// During the loop, yield each time we get a chunk from the streaming parser
|
|
176
|
-
// that is either available or added to the queue
|
|
177
|
-
while (!stream.streamDone) {
|
|
178
|
-
const output = await stream.nextChunk();
|
|
179
|
-
const chunk = output !== null
|
|
180
|
-
? BaseChatGoogleVertexAI.convertPredictionChunk(output)
|
|
181
|
-
: new index_js_1.ChatGenerationChunk({
|
|
182
|
-
text: "",
|
|
183
|
-
message: new index_js_1.AIMessageChunk(""),
|
|
184
|
-
generationInfo: { finishReason: "stop" },
|
|
185
|
-
});
|
|
186
|
-
yield chunk;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
async _generate(messages, options) {
|
|
190
|
-
const instance = this.createInstance(messages);
|
|
191
|
-
const parameters = this.formatParameters();
|
|
192
|
-
const result = await this.connection.request([instance], parameters, options);
|
|
193
|
-
const generations = result?.data?.predictions?.map((prediction) => BaseChatGoogleVertexAI.convertPrediction(prediction)) ?? [];
|
|
194
|
-
return {
|
|
195
|
-
generations,
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
_llmType() {
|
|
199
|
-
return "vertexai";
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Creates an instance of the Google Vertex AI chat model.
|
|
203
|
-
* @param messages The messages for the model instance.
|
|
204
|
-
* @returns A new instance of the Google Vertex AI chat model.
|
|
205
|
-
*/
|
|
206
|
-
createInstance(messages) {
|
|
207
|
-
let context = "";
|
|
208
|
-
let conversationMessages = messages;
|
|
209
|
-
if (messages[0]?._getType() === "system") {
|
|
210
|
-
if (typeof messages[0].content !== "string") {
|
|
211
|
-
throw new Error("ChatGoogleVertexAI does not support non-string message content.");
|
|
212
|
-
}
|
|
213
|
-
context = messages[0].content;
|
|
214
|
-
conversationMessages = messages.slice(1);
|
|
215
|
-
}
|
|
216
|
-
// https://cloud.google.com/vertex-ai/docs/generative-ai/chat/test-chat-prompts
|
|
217
|
-
if (conversationMessages.length % 2 === 0) {
|
|
218
|
-
throw new Error(`Google Vertex AI requires an odd number of messages to generate a response.`);
|
|
219
|
-
}
|
|
220
|
-
const vertexChatMessages = conversationMessages.map((baseMessage, i) => {
|
|
221
|
-
const currMessage = GoogleVertexAIChatMessage.fromChatMessage(baseMessage, this.model);
|
|
222
|
-
const prevMessage = i > 0
|
|
223
|
-
? GoogleVertexAIChatMessage.fromChatMessage(conversationMessages[i - 1], this.model)
|
|
224
|
-
: null;
|
|
225
|
-
// https://cloud.google.com/vertex-ai/docs/generative-ai/chat/chat-prompts#messages
|
|
226
|
-
if (prevMessage && currMessage.author === prevMessage.author) {
|
|
227
|
-
throw new Error(`Google Vertex AI requires AI and human messages to alternate.`);
|
|
228
|
-
}
|
|
229
|
-
return currMessage;
|
|
230
|
-
});
|
|
231
|
-
const examples = this.examples.map((example) => ({
|
|
232
|
-
input: GoogleVertexAIChatMessage.fromChatMessage(example.input, this.model),
|
|
233
|
-
output: GoogleVertexAIChatMessage.fromChatMessage(example.output, this.model),
|
|
234
|
-
}));
|
|
235
|
-
const instance = {
|
|
236
|
-
context,
|
|
237
|
-
examples,
|
|
238
|
-
messages: vertexChatMessages,
|
|
239
|
-
};
|
|
240
|
-
return instance;
|
|
241
|
-
}
|
|
242
|
-
formatParameters() {
|
|
243
|
-
return {
|
|
244
|
-
temperature: this.temperature,
|
|
245
|
-
topK: this.topK,
|
|
246
|
-
topP: this.topP,
|
|
247
|
-
maxOutputTokens: this.maxOutputTokens,
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Converts a prediction from the Google Vertex AI chat model to a chat
|
|
252
|
-
* generation.
|
|
253
|
-
* @param prediction The prediction to convert.
|
|
254
|
-
* @returns The converted chat generation.
|
|
255
|
-
*/
|
|
256
|
-
static convertPrediction(prediction) {
|
|
257
|
-
const message = prediction?.candidates[0];
|
|
258
|
-
return {
|
|
259
|
-
text: message?.content,
|
|
260
|
-
message: new index_js_1.AIMessage(message.content),
|
|
261
|
-
generationInfo: prediction,
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
265
|
-
static convertPredictionChunk(output) {
|
|
266
|
-
const generation = BaseChatGoogleVertexAI.convertPrediction(output.outputs[0]);
|
|
267
|
-
return new index_js_1.ChatGenerationChunk({
|
|
268
|
-
text: generation.text,
|
|
269
|
-
message: new index_js_1.AIMessageChunk(generation.message),
|
|
270
|
-
generationInfo: generation.generationInfo,
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
exports.BaseChatGoogleVertexAI = BaseChatGoogleVertexAI;
|