langchain 0.0.202 → 0.0.204-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cache/cloudflare_kv.cjs +15 -69
- package/dist/cache/cloudflare_kv.d.ts +1 -42
- package/dist/cache/cloudflare_kv.js +1 -67
- package/dist/cache/momento.cjs +15 -135
- package/dist/cache/momento.d.ts +1 -91
- package/dist/cache/momento.js +1 -133
- package/dist/cache/upstash_redis.cjs +15 -72
- package/dist/cache/upstash_redis.d.ts +1 -45
- package/dist/cache/upstash_redis.js +1 -70
- package/dist/callbacks/handlers/llmonitor.cjs +14 -238
- package/dist/callbacks/handlers/llmonitor.d.ts +1 -35
- package/dist/callbacks/handlers/llmonitor.js +1 -233
- package/dist/chains/openai_moderation.cjs +2 -2
- package/dist/chains/openai_moderation.d.ts +1 -1
- package/dist/chains/openai_moderation.js +1 -1
- package/dist/chat_models/anthropic.d.ts +4 -4
- package/dist/chat_models/baiduwenxin.cjs +15 -411
- package/dist/chat_models/baiduwenxin.d.ts +1 -150
- package/dist/chat_models/baiduwenxin.js +1 -409
- package/dist/chat_models/bedrock/index.cjs +15 -33
- package/dist/chat_models/bedrock/index.d.ts +1 -23
- package/dist/chat_models/bedrock/index.js +1 -29
- package/dist/chat_models/bedrock/web.cjs +15 -360
- package/dist/chat_models/bedrock/web.d.ts +1 -82
- package/dist/chat_models/bedrock/web.js +1 -356
- package/dist/chat_models/cloudflare_workersai.cjs +15 -216
- package/dist/chat_models/cloudflare_workersai.d.ts +1 -68
- package/dist/chat_models/cloudflare_workersai.js +1 -214
- package/dist/chat_models/fireworks.cjs +15 -89
- package/dist/chat_models/fireworks.d.ts +1 -43
- package/dist/chat_models/fireworks.js +1 -87
- package/dist/chat_models/googlepalm.cjs +15 -235
- package/dist/chat_models/googlepalm.d.ts +1 -108
- package/dist/chat_models/googlepalm.js +1 -233
- package/dist/chat_models/googlevertexai/index.cjs +15 -40
- package/dist/chat_models/googlevertexai/index.d.ts +1 -28
- package/dist/chat_models/googlevertexai/index.js +1 -38
- package/dist/chat_models/googlevertexai/web.cjs +15 -39
- package/dist/chat_models/googlevertexai/web.d.ts +1 -28
- package/dist/chat_models/googlevertexai/web.js +1 -37
- package/dist/chat_models/iflytek_xinghuo/index.cjs +14 -40
- package/dist/chat_models/iflytek_xinghuo/index.d.ts +1 -13
- package/dist/chat_models/iflytek_xinghuo/index.js +1 -36
- package/dist/chat_models/iflytek_xinghuo/web.cjs +15 -36
- package/dist/chat_models/iflytek_xinghuo/web.d.ts +1 -13
- package/dist/chat_models/iflytek_xinghuo/web.js +1 -34
- package/dist/chat_models/llama_cpp.cjs +15 -275
- package/dist/chat_models/llama_cpp.d.ts +1 -71
- package/dist/chat_models/llama_cpp.js +1 -273
- package/dist/chat_models/minimax.cjs +15 -578
- package/dist/chat_models/minimax.d.ts +1 -369
- package/dist/chat_models/minimax.js +1 -576
- package/dist/chat_models/ollama.cjs +15 -394
- package/dist/chat_models/ollama.d.ts +1 -127
- package/dist/chat_models/ollama.js +1 -392
- package/dist/chat_models/openai.cjs +4 -698
- package/dist/chat_models/openai.d.ts +4 -137
- package/dist/chat_models/openai.js +2 -695
- package/dist/chat_models/portkey.cjs +15 -167
- package/dist/chat_models/portkey.d.ts +1 -17
- package/dist/chat_models/portkey.js +1 -165
- package/dist/chat_models/yandex.cjs +15 -132
- package/dist/chat_models/yandex.d.ts +1 -30
- package/dist/chat_models/yandex.js +1 -130
- package/dist/document_loaders/fs/openai_whisper_audio.cjs +2 -2
- package/dist/document_loaders/fs/openai_whisper_audio.d.ts +1 -1
- package/dist/document_loaders/fs/openai_whisper_audio.js +1 -1
- package/dist/document_loaders/fs/pdf.cjs +1 -1
- package/dist/document_loaders/fs/pdf.js +1 -1
- package/dist/document_loaders/web/pdf.cjs +1 -1
- package/dist/document_loaders/web/pdf.js +1 -1
- package/dist/document_transformers/html_to_text.cjs +15 -47
- package/dist/document_transformers/html_to_text.d.ts +1 -30
- package/dist/document_transformers/html_to_text.js +1 -45
- package/dist/document_transformers/mozilla_readability.cjs +15 -53
- package/dist/document_transformers/mozilla_readability.d.ts +1 -31
- package/dist/document_transformers/mozilla_readability.js +1 -51
- package/dist/embeddings/bedrock.cjs +15 -109
- package/dist/embeddings/bedrock.d.ts +1 -71
- package/dist/embeddings/bedrock.js +1 -107
- package/dist/embeddings/cloudflare_workersai.cjs +15 -67
- package/dist/embeddings/cloudflare_workersai.d.ts +1 -28
- package/dist/embeddings/cloudflare_workersai.js +1 -65
- package/dist/embeddings/cohere.cjs +15 -124
- package/dist/embeddings/cohere.d.ts +1 -66
- package/dist/embeddings/cohere.js +1 -122
- package/dist/embeddings/googlepalm.cjs +15 -88
- package/dist/embeddings/googlepalm.d.ts +1 -61
- package/dist/embeddings/googlepalm.js +1 -86
- package/dist/embeddings/googlevertexai.cjs +15 -81
- package/dist/embeddings/googlevertexai.d.ts +1 -54
- package/dist/embeddings/googlevertexai.js +1 -79
- package/dist/embeddings/gradient_ai.cjs +15 -101
- package/dist/embeddings/gradient_ai.d.ts +1 -48
- package/dist/embeddings/gradient_ai.js +1 -99
- package/dist/embeddings/hf.cjs +15 -75
- package/dist/embeddings/hf.d.ts +1 -41
- package/dist/embeddings/hf.js +1 -73
- package/dist/embeddings/hf_transformers.cjs +15 -87
- package/dist/embeddings/hf_transformers.d.ts +1 -47
- package/dist/embeddings/hf_transformers.js +1 -85
- package/dist/embeddings/llama_cpp.cjs +15 -81
- package/dist/embeddings/llama_cpp.d.ts +1 -42
- package/dist/embeddings/llama_cpp.js +1 -79
- package/dist/embeddings/minimax.cjs +15 -165
- package/dist/embeddings/minimax.d.ts +1 -119
- package/dist/embeddings/minimax.js +1 -163
- package/dist/embeddings/ollama.cjs +15 -118
- package/dist/embeddings/ollama.d.ts +1 -34
- package/dist/embeddings/ollama.js +1 -116
- package/dist/embeddings/openai.cjs +2 -240
- package/dist/embeddings/openai.d.ts +1 -82
- package/dist/embeddings/openai.js +1 -239
- package/dist/embeddings/tensorflow.cjs +3 -96
- package/dist/embeddings/tensorflow.d.ts +1 -59
- package/dist/embeddings/tensorflow.js +1 -83
- package/dist/embeddings/voyage.cjs +15 -118
- package/dist/embeddings/voyage.d.ts +1 -66
- package/dist/embeddings/voyage.js +1 -116
- package/dist/experimental/chat_models/ollama_functions.d.ts +1 -1
- package/dist/experimental/masking/index.cjs +9 -0
- package/dist/experimental/masking/index.d.ts +4 -0
- package/dist/experimental/masking/index.js +3 -0
- package/dist/experimental/masking/parser.cjs +134 -0
- package/dist/experimental/masking/parser.d.ts +44 -0
- package/dist/experimental/masking/parser.js +130 -0
- package/dist/experimental/masking/regex_masking_transformer.cjs +145 -0
- package/dist/experimental/masking/regex_masking_transformer.d.ts +48 -0
- package/dist/experimental/masking/regex_masking_transformer.js +141 -0
- package/dist/experimental/masking/transformer.cjs +9 -0
- package/dist/experimental/masking/transformer.d.ts +7 -0
- package/dist/experimental/masking/transformer.js +5 -0
- package/dist/experimental/masking/types.cjs +2 -0
- package/dist/experimental/masking/types.d.ts +25 -0
- package/dist/experimental/masking/types.js +1 -0
- package/dist/experimental/openai_assistant/index.cjs +3 -3
- package/dist/experimental/openai_assistant/index.d.ts +1 -1
- package/dist/experimental/openai_assistant/index.js +1 -1
- package/dist/experimental/openai_assistant/schema.d.ts +1 -1
- package/dist/experimental/openai_files/index.cjs +2 -2
- package/dist/experimental/openai_files/index.d.ts +1 -1
- package/dist/experimental/openai_files/index.js +1 -1
- package/dist/graphs/neo4j_graph.cjs +3 -254
- package/dist/graphs/neo4j_graph.d.ts +1 -63
- package/dist/graphs/neo4j_graph.js +1 -241
- package/dist/llms/ai21.cjs +15 -200
- package/dist/llms/ai21.d.ts +1 -100
- package/dist/llms/ai21.js +1 -198
- package/dist/llms/aleph_alpha.cjs +15 -374
- package/dist/llms/aleph_alpha.d.ts +1 -161
- package/dist/llms/aleph_alpha.js +1 -372
- package/dist/llms/bedrock/web.cjs +15 -310
- package/dist/llms/bedrock/web.d.ts +1 -66
- package/dist/llms/bedrock/web.js +1 -308
- package/dist/llms/cloudflare_workersai.cjs +15 -168
- package/dist/llms/cloudflare_workersai.d.ts +1 -55
- package/dist/llms/cloudflare_workersai.js +1 -166
- package/dist/llms/cohere.cjs +15 -110
- package/dist/llms/cohere.d.ts +1 -54
- package/dist/llms/cohere.js +1 -108
- package/dist/llms/fireworks.cjs +15 -90
- package/dist/llms/fireworks.d.ts +1 -33
- package/dist/llms/fireworks.js +1 -88
- package/dist/llms/googlepalm.cjs +15 -134
- package/dist/llms/googlepalm.d.ts +1 -92
- package/dist/llms/googlepalm.js +1 -132
- package/dist/llms/googlevertexai/index.cjs +15 -45
- package/dist/llms/googlevertexai/index.d.ts +1 -38
- package/dist/llms/googlevertexai/index.js +1 -43
- package/dist/llms/googlevertexai/web.cjs +15 -42
- package/dist/llms/googlevertexai/web.d.ts +1 -36
- package/dist/llms/googlevertexai/web.js +1 -40
- package/dist/llms/gradient_ai.cjs +15 -110
- package/dist/llms/gradient_ai.d.ts +1 -55
- package/dist/llms/gradient_ai.js +1 -108
- package/dist/llms/hf.cjs +15 -136
- package/dist/llms/hf.d.ts +1 -68
- package/dist/llms/hf.js +1 -134
- package/dist/llms/llama_cpp.cjs +15 -111
- package/dist/llms/llama_cpp.d.ts +1 -41
- package/dist/llms/llama_cpp.js +1 -109
- package/dist/llms/ollama.cjs +15 -353
- package/dist/llms/ollama.d.ts +1 -106
- package/dist/llms/ollama.js +1 -351
- package/dist/llms/openai-chat.cjs +3 -445
- package/dist/llms/openai-chat.d.ts +4 -123
- package/dist/llms/openai-chat.js +2 -443
- package/dist/llms/openai.cjs +6 -530
- package/dist/llms/openai.d.ts +4 -123
- package/dist/llms/openai.js +2 -525
- package/dist/llms/portkey.cjs +14 -168
- package/dist/llms/portkey.d.ts +1 -57
- package/dist/llms/portkey.js +1 -162
- package/dist/llms/raycast.cjs +15 -94
- package/dist/llms/raycast.d.ts +1 -50
- package/dist/llms/raycast.js +1 -92
- package/dist/llms/replicate.cjs +15 -132
- package/dist/llms/replicate.d.ts +1 -51
- package/dist/llms/replicate.js +1 -130
- package/dist/llms/sagemaker_endpoint.cjs +15 -203
- package/dist/llms/sagemaker_endpoint.d.ts +1 -121
- package/dist/llms/sagemaker_endpoint.js +1 -200
- package/dist/llms/watsonx_ai.cjs +15 -152
- package/dist/llms/watsonx_ai.d.ts +1 -72
- package/dist/llms/watsonx_ai.js +1 -150
- package/dist/llms/writer.cjs +15 -165
- package/dist/llms/writer.d.ts +1 -60
- package/dist/llms/writer.js +1 -163
- package/dist/llms/yandex.cjs +15 -98
- package/dist/llms/yandex.d.ts +1 -40
- package/dist/llms/yandex.js +1 -96
- package/dist/load/import_map.cjs +2 -1
- package/dist/load/import_map.d.ts +1 -0
- package/dist/load/import_map.js +1 -0
- package/dist/load/index.cjs +3 -1
- package/dist/load/index.d.ts +1 -1
- package/dist/load/index.js +3 -1
- package/dist/retrievers/amazon_kendra.cjs +15 -273
- package/dist/retrievers/amazon_kendra.d.ts +1 -142
- package/dist/retrievers/amazon_kendra.js +1 -271
- package/dist/retrievers/chaindesk.cjs +15 -88
- package/dist/retrievers/chaindesk.d.ts +1 -31
- package/dist/retrievers/chaindesk.js +1 -86
- package/dist/retrievers/databerry.cjs +15 -82
- package/dist/retrievers/databerry.d.ts +1 -34
- package/dist/retrievers/databerry.js +1 -80
- package/dist/retrievers/metal.cjs +15 -51
- package/dist/retrievers/metal.d.ts +1 -36
- package/dist/retrievers/metal.js +1 -49
- package/dist/retrievers/supabase.cjs +15 -167
- package/dist/retrievers/supabase.d.ts +1 -82
- package/dist/retrievers/supabase.js +1 -165
- package/dist/retrievers/tavily_search_api.cjs +15 -142
- package/dist/retrievers/tavily_search_api.d.ts +1 -38
- package/dist/retrievers/tavily_search_api.js +1 -140
- package/dist/retrievers/zep.cjs +15 -150
- package/dist/retrievers/zep.d.ts +1 -76
- package/dist/retrievers/zep.js +1 -148
- package/dist/schema/document.cjs +2 -16
- package/dist/schema/document.d.ts +1 -11
- package/dist/schema/document.js +1 -16
- package/dist/schema/index.cjs +2 -7
- package/dist/schema/index.d.ts +2 -10
- package/dist/schema/index.js +1 -6
- package/dist/storage/convex.cjs +15 -143
- package/dist/storage/convex.d.ts +1 -106
- package/dist/storage/convex.js +1 -141
- package/dist/storage/ioredis.cjs +15 -158
- package/dist/storage/ioredis.d.ts +1 -71
- package/dist/storage/ioredis.js +1 -156
- package/dist/storage/upstash_redis.cjs +15 -172
- package/dist/storage/upstash_redis.d.ts +1 -78
- package/dist/storage/upstash_redis.js +1 -170
- package/dist/storage/vercel_kv.cjs +15 -161
- package/dist/storage/vercel_kv.d.ts +1 -62
- package/dist/storage/vercel_kv.js +1 -159
- package/dist/stores/doc/in_memory.cjs +15 -105
- package/dist/stores/doc/in_memory.d.ts +1 -46
- package/dist/stores/doc/in_memory.js +1 -102
- package/dist/stores/message/cassandra.cjs +15 -158
- package/dist/stores/message/cassandra.d.ts +1 -69
- package/dist/stores/message/cassandra.js +1 -156
- package/dist/stores/message/cloudflare_d1.cjs +15 -150
- package/dist/stores/message/cloudflare_d1.d.ts +1 -67
- package/dist/stores/message/cloudflare_d1.js +1 -148
- package/dist/stores/message/convex.cjs +15 -118
- package/dist/stores/message/convex.d.ts +1 -81
- package/dist/stores/message/convex.js +1 -116
- package/dist/stores/message/dynamodb.cjs +15 -159
- package/dist/stores/message/dynamodb.d.ts +1 -51
- package/dist/stores/message/dynamodb.js +1 -157
- package/dist/stores/message/firestore.cjs +15 -185
- package/dist/stores/message/firestore.d.ts +1 -68
- package/dist/stores/message/firestore.js +1 -183
- package/dist/stores/message/ioredis.cjs +15 -98
- package/dist/stores/message/ioredis.d.ts +1 -64
- package/dist/stores/message/ioredis.js +1 -96
- package/dist/stores/message/momento.cjs +15 -160
- package/dist/stores/message/momento.d.ts +1 -97
- package/dist/stores/message/momento.js +1 -158
- package/dist/stores/message/mongodb.cjs +15 -57
- package/dist/stores/message/mongodb.d.ts +1 -26
- package/dist/stores/message/mongodb.js +1 -55
- package/dist/stores/message/planetscale.cjs +15 -170
- package/dist/stores/message/planetscale.d.ts +1 -75
- package/dist/stores/message/planetscale.js +1 -168
- package/dist/stores/message/redis.cjs +15 -114
- package/dist/stores/message/redis.d.ts +1 -69
- package/dist/stores/message/redis.js +1 -112
- package/dist/stores/message/upstash_redis.cjs +15 -85
- package/dist/stores/message/upstash_redis.d.ts +1 -43
- package/dist/stores/message/upstash_redis.js +1 -83
- package/dist/stores/message/utils.cjs +3 -23
- package/dist/stores/message/utils.d.ts +1 -17
- package/dist/stores/message/utils.js +1 -21
- package/dist/stores/message/xata.cjs +15 -216
- package/dist/stores/message/xata.d.ts +1 -76
- package/dist/stores/message/xata.js +1 -214
- package/dist/tools/IFTTTWebhook.cjs +15 -87
- package/dist/tools/IFTTTWebhook.d.ts +1 -50
- package/dist/tools/IFTTTWebhook.js +1 -85
- package/dist/tools/aiplugin.cjs +15 -73
- package/dist/tools/aiplugin.d.ts +1 -34
- package/dist/tools/aiplugin.js +1 -71
- package/dist/tools/aws_sfn.cjs +15 -201
- package/dist/tools/aws_sfn.d.ts +1 -57
- package/dist/tools/aws_sfn.js +1 -197
- package/dist/tools/bingserpapi.cjs +15 -76
- package/dist/tools/bingserpapi.d.ts +1 -23
- package/dist/tools/bingserpapi.js +1 -75
- package/dist/tools/brave_search.cjs +15 -64
- package/dist/tools/brave_search.d.ts +1 -23
- package/dist/tools/brave_search.js +1 -62
- package/dist/tools/connery.cjs +15 -277
- package/dist/tools/connery.d.ts +1 -145
- package/dist/tools/connery.js +1 -274
- package/dist/tools/convert_to_openai.d.ts +1 -1
- package/dist/tools/dadjokeapi.cjs +15 -46
- package/dist/tools/dadjokeapi.d.ts +1 -15
- package/dist/tools/dadjokeapi.js +1 -45
- package/dist/tools/dataforseo_api_search.cjs +15 -280
- package/dist/tools/dataforseo_api_search.d.ts +1 -170
- package/dist/tools/dataforseo_api_search.js +1 -278
- package/dist/tools/gmail/index.cjs +15 -11
- package/dist/tools/gmail/index.d.ts +1 -11
- package/dist/tools/gmail/index.js +1 -5
- package/dist/tools/google_custom_search.cjs +15 -70
- package/dist/tools/google_custom_search.d.ts +1 -25
- package/dist/tools/google_custom_search.js +1 -68
- package/dist/tools/google_places.cjs +15 -79
- package/dist/tools/google_places.d.ts +1 -21
- package/dist/tools/google_places.js +1 -77
- package/dist/tools/searchapi.cjs +15 -164
- package/dist/tools/searchapi.d.ts +1 -91
- package/dist/tools/searchapi.js +1 -162
- package/dist/tools/searxng_search.cjs +15 -156
- package/dist/tools/searxng_search.d.ts +1 -114
- package/dist/tools/searxng_search.js +1 -154
- package/dist/tools/serpapi.cjs +15 -199
- package/dist/tools/serpapi.d.ts +1 -302
- package/dist/tools/serpapi.js +1 -197
- package/dist/tools/serper.cjs +15 -94
- package/dist/tools/serper.d.ts +1 -32
- package/dist/tools/serper.js +1 -92
- package/dist/tools/wikipedia_query_run.cjs +15 -133
- package/dist/tools/wikipedia_query_run.d.ts +1 -54
- package/dist/tools/wikipedia_query_run.js +1 -131
- package/dist/tools/wolframalpha.cjs +15 -47
- package/dist/tools/wolframalpha.d.ts +1 -21
- package/dist/tools/wolframalpha.js +1 -45
- package/dist/types/openai-types.d.ts +1 -1
- package/dist/util/convex.d.ts +1 -1
- package/dist/util/event-source-parse.cjs +15 -224
- package/dist/util/event-source-parse.d.ts +1 -39
- package/dist/util/event-source-parse.js +1 -219
- package/dist/util/math.cjs +15 -123
- package/dist/util/math.d.ts +1 -40
- package/dist/util/math.js +1 -116
- package/dist/util/openapi.d.ts +2 -2
- package/dist/vectorstores/analyticdb.cjs +3 -333
- package/dist/vectorstores/analyticdb.d.ts +1 -110
- package/dist/vectorstores/analyticdb.js +1 -317
- package/dist/vectorstores/base.cjs +15 -165
- package/dist/vectorstores/base.d.ts +1 -104
- package/dist/vectorstores/base.js +1 -161
- package/dist/vectorstores/cassandra.cjs +15 -478
- package/dist/vectorstores/cassandra.d.ts +1 -162
- package/dist/vectorstores/cassandra.js +1 -476
- package/dist/vectorstores/chroma.cjs +3 -312
- package/dist/vectorstores/chroma.d.ts +1 -133
- package/dist/vectorstores/chroma.js +1 -299
- package/dist/vectorstores/clickhouse.cjs +3 -272
- package/dist/vectorstores/clickhouse.d.ts +1 -126
- package/dist/vectorstores/clickhouse.js +1 -259
- package/dist/vectorstores/closevector/node.cjs +15 -107
- package/dist/vectorstores/closevector/node.d.ts +1 -83
- package/dist/vectorstores/closevector/node.js +1 -105
- package/dist/vectorstores/closevector/web.cjs +15 -107
- package/dist/vectorstores/closevector/web.d.ts +1 -80
- package/dist/vectorstores/closevector/web.js +1 -105
- package/dist/vectorstores/cloudflare_vectorize.cjs +3 -186
- package/dist/vectorstores/cloudflare_vectorize.d.ts +1 -90
- package/dist/vectorstores/cloudflare_vectorize.js +1 -173
- package/dist/vectorstores/convex.cjs +15 -175
- package/dist/vectorstores/convex.d.ts +1 -134
- package/dist/vectorstores/convex.js +1 -173
- package/dist/vectorstores/elasticsearch.cjs +3 -287
- package/dist/vectorstores/elasticsearch.d.ts +1 -143
- package/dist/vectorstores/elasticsearch.js +1 -274
- package/dist/vectorstores/faiss.cjs +3 -378
- package/dist/vectorstores/faiss.d.ts +1 -127
- package/dist/vectorstores/faiss.js +1 -365
- package/dist/vectorstores/googlevertexai.cjs +3 -538
- package/dist/vectorstores/googlevertexai.d.ts +1 -181
- package/dist/vectorstores/googlevertexai.js +1 -521
- package/dist/vectorstores/hnswlib.cjs +15 -273
- package/dist/vectorstores/hnswlib.d.ts +1 -122
- package/dist/vectorstores/hnswlib.js +1 -271
- package/dist/vectorstores/lancedb.cjs +15 -126
- package/dist/vectorstores/lancedb.d.ts +1 -61
- package/dist/vectorstores/lancedb.js +1 -124
- package/dist/vectorstores/memory.cjs +15 -143
- package/dist/vectorstores/memory.d.ts +1 -92
- package/dist/vectorstores/memory.js +1 -141
- package/dist/vectorstores/milvus.cjs +3 -592
- package/dist/vectorstores/milvus.d.ts +1 -139
- package/dist/vectorstores/milvus.js +1 -579
- package/dist/vectorstores/momento_vector_index.cjs +3 -305
- package/dist/vectorstores/momento_vector_index.d.ts +1 -143
- package/dist/vectorstores/momento_vector_index.js +1 -292
- package/dist/vectorstores/mongodb_atlas.cjs +15 -218
- package/dist/vectorstores/mongodb_atlas.d.ts +1 -118
- package/dist/vectorstores/mongodb_atlas.js +1 -216
- package/dist/vectorstores/myscale.cjs +3 -263
- package/dist/vectorstores/myscale.d.ts +1 -129
- package/dist/vectorstores/myscale.js +1 -250
- package/dist/vectorstores/neo4j_vector.cjs +3 -578
- package/dist/vectorstores/neo4j_vector.d.ts +1 -75
- package/dist/vectorstores/neo4j_vector.js +1 -562
- package/dist/vectorstores/opensearch.cjs +3 -274
- package/dist/vectorstores/opensearch.d.ts +1 -119
- package/dist/vectorstores/opensearch.js +1 -261
- package/dist/vectorstores/pgvector.cjs +14 -404
- package/dist/vectorstores/pgvector.d.ts +1 -160
- package/dist/vectorstores/pgvector.js +1 -400
- package/dist/vectorstores/pinecone.cjs +3 -280
- package/dist/vectorstores/pinecone.d.ts +1 -120
- package/dist/vectorstores/pinecone.js +1 -264
- package/dist/vectorstores/prisma.cjs +15 -305
- package/dist/vectorstores/prisma.d.ts +1 -180
- package/dist/vectorstores/prisma.js +1 -304
- package/dist/vectorstores/qdrant.cjs +15 -195
- package/dist/vectorstores/qdrant.d.ts +1 -95
- package/dist/vectorstores/qdrant.js +1 -193
- package/dist/vectorstores/redis.cjs +15 -333
- package/dist/vectorstores/redis.d.ts +1 -186
- package/dist/vectorstores/redis.js +1 -331
- package/dist/vectorstores/rockset.cjs +15 -351
- package/dist/vectorstores/rockset.d.ts +1 -202
- package/dist/vectorstores/rockset.js +1 -347
- package/dist/vectorstores/singlestore.cjs +15 -220
- package/dist/vectorstores/singlestore.d.ts +1 -88
- package/dist/vectorstores/singlestore.js +1 -218
- package/dist/vectorstores/supabase.cjs +15 -217
- package/dist/vectorstores/supabase.d.ts +1 -118
- package/dist/vectorstores/supabase.js +1 -215
- package/dist/vectorstores/tigris.cjs +3 -143
- package/dist/vectorstores/tigris.d.ts +1 -74
- package/dist/vectorstores/tigris.js +1 -130
- package/dist/vectorstores/typeorm.cjs +15 -259
- package/dist/vectorstores/typeorm.d.ts +1 -109
- package/dist/vectorstores/typeorm.js +1 -256
- package/dist/vectorstores/typesense.cjs +15 -223
- package/dist/vectorstores/typesense.d.ts +1 -131
- package/dist/vectorstores/typesense.js +1 -221
- package/dist/vectorstores/usearch.cjs +3 -203
- package/dist/vectorstores/usearch.d.ts +1 -85
- package/dist/vectorstores/usearch.js +1 -187
- package/dist/vectorstores/vectara.cjs +3 -409
- package/dist/vectorstores/vectara.d.ts +1 -148
- package/dist/vectorstores/vectara.js +1 -396
- package/dist/vectorstores/vercel_postgres.cjs +15 -320
- package/dist/vectorstores/vercel_postgres.d.ts +1 -145
- package/dist/vectorstores/vercel_postgres.js +1 -318
- package/dist/vectorstores/voy.cjs +15 -156
- package/dist/vectorstores/voy.d.ts +1 -73
- package/dist/vectorstores/voy.js +1 -154
- package/dist/vectorstores/weaviate.cjs +3 -347
- package/dist/vectorstores/weaviate.d.ts +1 -140
- package/dist/vectorstores/weaviate.js +1 -333
- package/dist/vectorstores/xata.cjs +15 -108
- package/dist/vectorstores/xata.d.ts +1 -70
- package/dist/vectorstores/xata.js +1 -106
- package/dist/vectorstores/zep.cjs +15 -313
- package/dist/vectorstores/zep.d.ts +1 -146
- package/dist/vectorstores/zep.js +1 -311
- package/experimental/masking.cjs +1 -0
- package/experimental/masking.d.ts +1 -0
- package/experimental/masking.js +1 -0
- package/package.json +13 -27
- package/dist/chat_models/googlevertexai/common.cjs +0 -274
- package/dist/chat_models/googlevertexai/common.d.ts +0 -123
- package/dist/chat_models/googlevertexai/common.js +0 -269
- package/dist/chat_models/iflytek_xinghuo/common.cjs +0 -340
- package/dist/chat_models/iflytek_xinghuo/common.d.ts +0 -165
- package/dist/chat_models/iflytek_xinghuo/common.js +0 -336
- package/dist/llms/googlevertexai/common.cjs +0 -168
- package/dist/llms/googlevertexai/common.d.ts +0 -82
- package/dist/llms/googlevertexai/common.js +0 -164
- package/dist/tools/gmail/base.cjs +0 -69
- package/dist/tools/gmail/base.d.ts +0 -19
- package/dist/tools/gmail/base.js +0 -65
- package/dist/tools/gmail/create_draft.cjs +0 -62
- package/dist/tools/gmail/create_draft.d.ts +0 -35
- package/dist/tools/gmail/create_draft.js +0 -58
- package/dist/tools/gmail/descriptions.cjs +0 -118
- package/dist/tools/gmail/descriptions.d.ts +0 -5
- package/dist/tools/gmail/descriptions.js +0 -115
- package/dist/tools/gmail/get_message.cjs +0 -83
- package/dist/tools/gmail/get_message.d.ts +0 -18
- package/dist/tools/gmail/get_message.js +0 -79
- package/dist/tools/gmail/get_thread.cjs +0 -89
- package/dist/tools/gmail/get_thread.d.ts +0 -18
- package/dist/tools/gmail/get_thread.js +0 -85
- package/dist/tools/gmail/search.cjs +0 -118
- package/dist/tools/gmail/search.d.ts +0 -29
- package/dist/tools/gmail/search.js +0 -114
- package/dist/tools/gmail/send_message.cjs +0 -74
- package/dist/tools/gmail/send_message.d.ts +0 -35
- package/dist/tools/gmail/send_message.js +0 -70
- package/dist/util/openai-format-fndef.cjs +0 -81
- package/dist/util/openai-format-fndef.d.ts +0 -44
- package/dist/util/openai-format-fndef.js +0 -77
- package/dist/util/openai.cjs +0 -21
- package/dist/util/openai.d.ts +0 -1
- package/dist/util/openai.js +0 -17
- package/dist/vectorstores/closevector/common.cjs +0 -128
- package/dist/vectorstores/closevector/common.d.ts +0 -82
- package/dist/vectorstores/closevector/common.js +0 -124
|
@@ -1,356 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { HttpRequest } from "@smithy/protocol-http";
|
|
3
|
-
import { EventStreamCodec } from "@smithy/eventstream-codec";
|
|
4
|
-
import { fromUtf8, toUtf8 } from "@smithy/util-utf8";
|
|
5
|
-
import { Sha256 } from "@aws-crypto/sha256-js";
|
|
6
|
-
import { BedrockLLMInputOutputAdapter, } from "../../util/bedrock.js";
|
|
7
|
-
import { getEnvironmentVariable } from "../../util/env.js";
|
|
8
|
-
import { SimpleChatModel } from "../base.js";
|
|
9
|
-
import { AIMessageChunk, AIMessage, ChatGenerationChunk, ChatMessage, } from "../../schema/index.js";
|
|
10
|
-
function convertOneMessageToText(message, humanPrompt, aiPrompt) {
|
|
11
|
-
if (message._getType() === "human") {
|
|
12
|
-
return `${humanPrompt} ${message.content}`;
|
|
13
|
-
}
|
|
14
|
-
else if (message._getType() === "ai") {
|
|
15
|
-
return `${aiPrompt} ${message.content}`;
|
|
16
|
-
}
|
|
17
|
-
else if (message._getType() === "system") {
|
|
18
|
-
return `${humanPrompt} <admin>${message.content}</admin>`;
|
|
19
|
-
}
|
|
20
|
-
else if (ChatMessage.isInstance(message)) {
|
|
21
|
-
return `\n\n${message.role[0].toUpperCase() + message.role.slice(1)}: {message.content}`;
|
|
22
|
-
}
|
|
23
|
-
throw new Error(`Unknown role: ${message._getType()}`);
|
|
24
|
-
}
|
|
25
|
-
export function convertMessagesToPromptAnthropic(messages, humanPrompt = "\n\nHuman:", aiPrompt = "\n\nAssistant:") {
|
|
26
|
-
const messagesCopy = [...messages];
|
|
27
|
-
if (messagesCopy.length === 0 ||
|
|
28
|
-
messagesCopy[messagesCopy.length - 1]._getType() !== "ai") {
|
|
29
|
-
messagesCopy.push(new AIMessage({ content: "" }));
|
|
30
|
-
}
|
|
31
|
-
return messagesCopy
|
|
32
|
-
.map((message) => convertOneMessageToText(message, humanPrompt, aiPrompt))
|
|
33
|
-
.join("");
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Function that converts an array of messages into a single string prompt
|
|
37
|
-
* that can be used as input for a chat model. It delegates the conversion
|
|
38
|
-
* logic to the appropriate provider-specific function.
|
|
39
|
-
* @param messages Array of messages to be converted.
|
|
40
|
-
* @param options Options to be used during the conversion.
|
|
41
|
-
* @returns A string prompt that can be used as input for a chat model.
|
|
42
|
-
*/
|
|
43
|
-
export function convertMessagesToPrompt(messages, provider) {
|
|
44
|
-
if (provider === "anthropic") {
|
|
45
|
-
return convertMessagesToPromptAnthropic(messages);
|
|
46
|
-
}
|
|
47
|
-
throw new Error(`Provider ${provider} does not support chat.`);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* A type of Large Language Model (LLM) that interacts with the Bedrock
|
|
51
|
-
* service. It extends the base `LLM` class and implements the
|
|
52
|
-
* `BaseBedrockInput` interface. The class is designed to authenticate and
|
|
53
|
-
* interact with the Bedrock service, which is a part of Amazon Web
|
|
54
|
-
* Services (AWS). It uses AWS credentials for authentication and can be
|
|
55
|
-
* configured with various parameters such as the model to use, the AWS
|
|
56
|
-
* region, and the maximum number of tokens to generate.
|
|
57
|
-
* @example
|
|
58
|
-
* ```typescript
|
|
59
|
-
* const model = new BedrockChat({
|
|
60
|
-
* model: "anthropic.claude-v2",
|
|
61
|
-
* region: "us-east-1",
|
|
62
|
-
* });
|
|
63
|
-
* const res = await model.invoke([{ content: "Tell me a joke" }]);
|
|
64
|
-
* console.log(res);
|
|
65
|
-
* ```
|
|
66
|
-
*/
|
|
67
|
-
export class BedrockChat extends SimpleChatModel {
|
|
68
|
-
get lc_aliases() {
|
|
69
|
-
return {
|
|
70
|
-
model: "model_id",
|
|
71
|
-
region: "region_name",
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
get lc_secrets() {
|
|
75
|
-
return {
|
|
76
|
-
"credentials.accessKeyId": "BEDROCK_AWS_ACCESS_KEY_ID",
|
|
77
|
-
"credentials.secretAccessKey": "BEDROCK_AWS_SECRET_ACCESS_KEY",
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
get lc_attributes() {
|
|
81
|
-
return { region: this.region };
|
|
82
|
-
}
|
|
83
|
-
_llmType() {
|
|
84
|
-
return "bedrock";
|
|
85
|
-
}
|
|
86
|
-
static lc_name() {
|
|
87
|
-
return "BedrockChat";
|
|
88
|
-
}
|
|
89
|
-
constructor(fields) {
|
|
90
|
-
super(fields ?? {});
|
|
91
|
-
Object.defineProperty(this, "model", {
|
|
92
|
-
enumerable: true,
|
|
93
|
-
configurable: true,
|
|
94
|
-
writable: true,
|
|
95
|
-
value: "amazon.titan-tg1-large"
|
|
96
|
-
});
|
|
97
|
-
Object.defineProperty(this, "region", {
|
|
98
|
-
enumerable: true,
|
|
99
|
-
configurable: true,
|
|
100
|
-
writable: true,
|
|
101
|
-
value: void 0
|
|
102
|
-
});
|
|
103
|
-
Object.defineProperty(this, "credentials", {
|
|
104
|
-
enumerable: true,
|
|
105
|
-
configurable: true,
|
|
106
|
-
writable: true,
|
|
107
|
-
value: void 0
|
|
108
|
-
});
|
|
109
|
-
Object.defineProperty(this, "temperature", {
|
|
110
|
-
enumerable: true,
|
|
111
|
-
configurable: true,
|
|
112
|
-
writable: true,
|
|
113
|
-
value: undefined
|
|
114
|
-
});
|
|
115
|
-
Object.defineProperty(this, "maxTokens", {
|
|
116
|
-
enumerable: true,
|
|
117
|
-
configurable: true,
|
|
118
|
-
writable: true,
|
|
119
|
-
value: undefined
|
|
120
|
-
});
|
|
121
|
-
Object.defineProperty(this, "fetchFn", {
|
|
122
|
-
enumerable: true,
|
|
123
|
-
configurable: true,
|
|
124
|
-
writable: true,
|
|
125
|
-
value: void 0
|
|
126
|
-
});
|
|
127
|
-
Object.defineProperty(this, "endpointHost", {
|
|
128
|
-
enumerable: true,
|
|
129
|
-
configurable: true,
|
|
130
|
-
writable: true,
|
|
131
|
-
value: void 0
|
|
132
|
-
});
|
|
133
|
-
/** @deprecated */
|
|
134
|
-
Object.defineProperty(this, "stopSequences", {
|
|
135
|
-
enumerable: true,
|
|
136
|
-
configurable: true,
|
|
137
|
-
writable: true,
|
|
138
|
-
value: void 0
|
|
139
|
-
});
|
|
140
|
-
Object.defineProperty(this, "modelKwargs", {
|
|
141
|
-
enumerable: true,
|
|
142
|
-
configurable: true,
|
|
143
|
-
writable: true,
|
|
144
|
-
value: void 0
|
|
145
|
-
});
|
|
146
|
-
Object.defineProperty(this, "codec", {
|
|
147
|
-
enumerable: true,
|
|
148
|
-
configurable: true,
|
|
149
|
-
writable: true,
|
|
150
|
-
value: new EventStreamCodec(toUtf8, fromUtf8)
|
|
151
|
-
});
|
|
152
|
-
Object.defineProperty(this, "streaming", {
|
|
153
|
-
enumerable: true,
|
|
154
|
-
configurable: true,
|
|
155
|
-
writable: true,
|
|
156
|
-
value: false
|
|
157
|
-
});
|
|
158
|
-
Object.defineProperty(this, "lc_serializable", {
|
|
159
|
-
enumerable: true,
|
|
160
|
-
configurable: true,
|
|
161
|
-
writable: true,
|
|
162
|
-
value: true
|
|
163
|
-
});
|
|
164
|
-
this.model = fields?.model ?? this.model;
|
|
165
|
-
const allowedModels = ["ai21", "anthropic", "amazon", "cohere", "meta"];
|
|
166
|
-
if (!allowedModels.includes(this.model.split(".")[0])) {
|
|
167
|
-
throw new Error(`Unknown model: '${this.model}', only these are supported: ${allowedModels}`);
|
|
168
|
-
}
|
|
169
|
-
const region = fields?.region ?? getEnvironmentVariable("AWS_DEFAULT_REGION");
|
|
170
|
-
if (!region) {
|
|
171
|
-
throw new Error("Please set the AWS_DEFAULT_REGION environment variable or pass it to the constructor as the region field.");
|
|
172
|
-
}
|
|
173
|
-
this.region = region;
|
|
174
|
-
const credentials = fields?.credentials;
|
|
175
|
-
if (!credentials) {
|
|
176
|
-
throw new Error("Please set the AWS credentials in the 'credentials' field.");
|
|
177
|
-
}
|
|
178
|
-
this.credentials = credentials;
|
|
179
|
-
this.temperature = fields?.temperature ?? this.temperature;
|
|
180
|
-
this.maxTokens = fields?.maxTokens ?? this.maxTokens;
|
|
181
|
-
this.fetchFn = fields?.fetchFn ?? fetch.bind(globalThis);
|
|
182
|
-
this.endpointHost = fields?.endpointHost ?? fields?.endpointUrl;
|
|
183
|
-
this.stopSequences = fields?.stopSequences;
|
|
184
|
-
this.modelKwargs = fields?.modelKwargs;
|
|
185
|
-
this.streaming = fields?.streaming ?? this.streaming;
|
|
186
|
-
}
|
|
187
|
-
/** Call out to Bedrock service model.
|
|
188
|
-
Arguments:
|
|
189
|
-
prompt: The prompt to pass into the model.
|
|
190
|
-
|
|
191
|
-
Returns:
|
|
192
|
-
The string generated by the model.
|
|
193
|
-
|
|
194
|
-
Example:
|
|
195
|
-
response = model.call("Tell me a joke.")
|
|
196
|
-
*/
|
|
197
|
-
async _call(messages, options, runManager) {
|
|
198
|
-
const service = "bedrock-runtime";
|
|
199
|
-
const endpointHost = this.endpointHost ?? `${service}.${this.region}.amazonaws.com`;
|
|
200
|
-
const provider = this.model.split(".")[0];
|
|
201
|
-
if (this.streaming) {
|
|
202
|
-
const stream = this._streamResponseChunks(messages, options, runManager);
|
|
203
|
-
let finalResult;
|
|
204
|
-
for await (const chunk of stream) {
|
|
205
|
-
if (finalResult === undefined) {
|
|
206
|
-
finalResult = chunk;
|
|
207
|
-
}
|
|
208
|
-
else {
|
|
209
|
-
finalResult = finalResult.concat(chunk);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
const messageContent = finalResult?.message.content;
|
|
213
|
-
if (messageContent && typeof messageContent !== "string") {
|
|
214
|
-
throw new Error("Non-string output for ChatBedrock is currently not supported.");
|
|
215
|
-
}
|
|
216
|
-
return messageContent ?? "";
|
|
217
|
-
}
|
|
218
|
-
const response = await this._signedFetch(messages, options, {
|
|
219
|
-
bedrockMethod: "invoke",
|
|
220
|
-
endpointHost,
|
|
221
|
-
provider,
|
|
222
|
-
});
|
|
223
|
-
const json = await response.json();
|
|
224
|
-
if (!response.ok) {
|
|
225
|
-
throw new Error(`Error ${response.status}: ${json.message ?? JSON.stringify(json)}`);
|
|
226
|
-
}
|
|
227
|
-
const text = BedrockLLMInputOutputAdapter.prepareOutput(provider, json);
|
|
228
|
-
return text;
|
|
229
|
-
}
|
|
230
|
-
async _signedFetch(messages, options, fields) {
|
|
231
|
-
const { bedrockMethod, endpointHost, provider } = fields;
|
|
232
|
-
const inputBody = BedrockLLMInputOutputAdapter.prepareInput(provider, convertMessagesToPromptAnthropic(messages), this.maxTokens, this.temperature, options.stop ?? this.stopSequences, this.modelKwargs, fields.bedrockMethod);
|
|
233
|
-
const url = new URL(`https://${endpointHost}/model/${this.model}/${bedrockMethod}`);
|
|
234
|
-
const request = new HttpRequest({
|
|
235
|
-
hostname: url.hostname,
|
|
236
|
-
path: url.pathname,
|
|
237
|
-
protocol: url.protocol,
|
|
238
|
-
method: "POST",
|
|
239
|
-
body: JSON.stringify(inputBody),
|
|
240
|
-
query: Object.fromEntries(url.searchParams.entries()),
|
|
241
|
-
headers: {
|
|
242
|
-
// host is required by AWS Signature V4: https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html
|
|
243
|
-
host: url.host,
|
|
244
|
-
accept: "application/json",
|
|
245
|
-
"content-type": "application/json",
|
|
246
|
-
},
|
|
247
|
-
});
|
|
248
|
-
const signer = new SignatureV4({
|
|
249
|
-
credentials: this.credentials,
|
|
250
|
-
service: "bedrock",
|
|
251
|
-
region: this.region,
|
|
252
|
-
sha256: Sha256,
|
|
253
|
-
});
|
|
254
|
-
const signedRequest = await signer.sign(request);
|
|
255
|
-
// Send request to AWS using the low-level fetch API
|
|
256
|
-
const response = await this.caller.callWithOptions({ signal: options.signal }, async () => this.fetchFn(url, {
|
|
257
|
-
headers: signedRequest.headers,
|
|
258
|
-
body: signedRequest.body,
|
|
259
|
-
method: signedRequest.method,
|
|
260
|
-
}));
|
|
261
|
-
return response;
|
|
262
|
-
}
|
|
263
|
-
async *_streamResponseChunks(messages, options, runManager) {
|
|
264
|
-
const provider = this.model.split(".")[0];
|
|
265
|
-
const service = "bedrock-runtime";
|
|
266
|
-
const endpointHost = this.endpointHost ?? `${service}.${this.region}.amazonaws.com`;
|
|
267
|
-
const bedrockMethod = provider === "anthropic" || provider === "cohere" || provider === "meta"
|
|
268
|
-
? "invoke-with-response-stream"
|
|
269
|
-
: "invoke";
|
|
270
|
-
const response = await this._signedFetch(messages, options, {
|
|
271
|
-
bedrockMethod,
|
|
272
|
-
endpointHost,
|
|
273
|
-
provider,
|
|
274
|
-
});
|
|
275
|
-
if (response.status < 200 || response.status >= 300) {
|
|
276
|
-
throw Error(`Failed to access underlying url '${endpointHost}': got ${response.status} ${response.statusText}: ${await response.text()}`);
|
|
277
|
-
}
|
|
278
|
-
if (provider === "anthropic" ||
|
|
279
|
-
provider === "cohere" ||
|
|
280
|
-
provider === "meta") {
|
|
281
|
-
const reader = response.body?.getReader();
|
|
282
|
-
const decoder = new TextDecoder();
|
|
283
|
-
for await (const chunk of this._readChunks(reader)) {
|
|
284
|
-
const event = this.codec.decode(chunk);
|
|
285
|
-
if ((event.headers[":event-type"] !== undefined &&
|
|
286
|
-
event.headers[":event-type"].value !== "chunk") ||
|
|
287
|
-
event.headers[":content-type"].value !== "application/json") {
|
|
288
|
-
throw Error(`Failed to get event chunk: got ${chunk}`);
|
|
289
|
-
}
|
|
290
|
-
const body = JSON.parse(decoder.decode(event.body));
|
|
291
|
-
if (body.message) {
|
|
292
|
-
throw new Error(body.message);
|
|
293
|
-
}
|
|
294
|
-
if (body.bytes !== undefined) {
|
|
295
|
-
const chunkResult = JSON.parse(decoder.decode(Uint8Array.from(atob(body.bytes), (m) => m.codePointAt(0) ?? 0)));
|
|
296
|
-
const text = BedrockLLMInputOutputAdapter.prepareOutput(provider, chunkResult);
|
|
297
|
-
yield new ChatGenerationChunk({
|
|
298
|
-
text,
|
|
299
|
-
message: new AIMessageChunk({ content: text }),
|
|
300
|
-
});
|
|
301
|
-
// eslint-disable-next-line no-void
|
|
302
|
-
void runManager?.handleLLMNewToken(text);
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
else {
|
|
307
|
-
const json = await response.json();
|
|
308
|
-
const text = BedrockLLMInputOutputAdapter.prepareOutput(provider, json);
|
|
309
|
-
yield new ChatGenerationChunk({
|
|
310
|
-
text,
|
|
311
|
-
message: new AIMessageChunk({ content: text }),
|
|
312
|
-
});
|
|
313
|
-
// eslint-disable-next-line no-void
|
|
314
|
-
void runManager?.handleLLMNewToken(text);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
318
|
-
_readChunks(reader) {
|
|
319
|
-
function _concatChunks(a, b) {
|
|
320
|
-
const newBuffer = new Uint8Array(a.length + b.length);
|
|
321
|
-
newBuffer.set(a);
|
|
322
|
-
newBuffer.set(b, a.length);
|
|
323
|
-
return newBuffer;
|
|
324
|
-
}
|
|
325
|
-
function getMessageLength(buffer) {
|
|
326
|
-
if (buffer.byteLength === 0)
|
|
327
|
-
return 0;
|
|
328
|
-
const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
329
|
-
return view.getUint32(0, false);
|
|
330
|
-
}
|
|
331
|
-
return {
|
|
332
|
-
async *[Symbol.asyncIterator]() {
|
|
333
|
-
let readResult = await reader.read();
|
|
334
|
-
let buffer = new Uint8Array(0);
|
|
335
|
-
while (!readResult.done) {
|
|
336
|
-
const chunk = readResult.value;
|
|
337
|
-
buffer = _concatChunks(buffer, chunk);
|
|
338
|
-
let messageLength = getMessageLength(buffer);
|
|
339
|
-
while (buffer.byteLength > 0 && buffer.byteLength >= messageLength) {
|
|
340
|
-
yield buffer.slice(0, messageLength);
|
|
341
|
-
buffer = buffer.slice(messageLength);
|
|
342
|
-
messageLength = getMessageLength(buffer);
|
|
343
|
-
}
|
|
344
|
-
readResult = await reader.read();
|
|
345
|
-
}
|
|
346
|
-
},
|
|
347
|
-
};
|
|
348
|
-
}
|
|
349
|
-
_combineLLMOutput() {
|
|
350
|
-
return {};
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
/**
|
|
354
|
-
* @deprecated Use `BedrockChat` instead.
|
|
355
|
-
*/
|
|
356
|
-
export const ChatBedrock = BedrockChat;
|
|
1
|
+
export * from "@langchain/community/chat_models/bedrock/web";
|
|
@@ -1,218 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports
|
|
4
|
-
const base_js_1 = require("./base.cjs");
|
|
5
|
-
const index_js_1 = require("../schema/index.cjs");
|
|
6
|
-
const env_js_1 = require("../util/env.cjs");
|
|
7
|
-
const event_source_parse_js_1 = require("../util/event-source-parse.cjs");
|
|
8
|
-
/**
|
|
9
|
-
* A class that enables calls to the Cloudflare Workers AI API to access large language
|
|
10
|
-
* models in a chat-like fashion. It extends the SimpleChatModel class and
|
|
11
|
-
* implements the CloudflareWorkersAIInput interface.
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const model = new ChatCloudflareWorkersAI({
|
|
15
|
-
* model: "@cf/meta/llama-2-7b-chat-int8",
|
|
16
|
-
* cloudflareAccountId: process.env.CLOUDFLARE_ACCOUNT_ID,
|
|
17
|
-
* cloudflareApiToken: process.env.CLOUDFLARE_API_TOKEN
|
|
18
|
-
* });
|
|
19
|
-
*
|
|
20
|
-
* const response = await model.invoke([
|
|
21
|
-
* ["system", "You are a helpful assistant that translates English to German."],
|
|
22
|
-
* ["human", `Translate "I love programming".`]
|
|
23
|
-
* ]);
|
|
24
|
-
*
|
|
25
|
-
* console.log(response);
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
class ChatCloudflareWorkersAI extends base_js_1.SimpleChatModel {
|
|
29
|
-
static lc_name() {
|
|
30
|
-
return "ChatCloudflareWorkersAI";
|
|
31
|
-
}
|
|
32
|
-
constructor(fields) {
|
|
33
|
-
super(fields ?? {});
|
|
34
|
-
Object.defineProperty(this, "lc_serializable", {
|
|
35
|
-
enumerable: true,
|
|
36
|
-
configurable: true,
|
|
37
|
-
writable: true,
|
|
38
|
-
value: true
|
|
39
|
-
});
|
|
40
|
-
Object.defineProperty(this, "model", {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
configurable: true,
|
|
43
|
-
writable: true,
|
|
44
|
-
value: "@cf/meta/llama-2-7b-chat-int8"
|
|
45
|
-
});
|
|
46
|
-
Object.defineProperty(this, "cloudflareAccountId", {
|
|
47
|
-
enumerable: true,
|
|
48
|
-
configurable: true,
|
|
49
|
-
writable: true,
|
|
50
|
-
value: void 0
|
|
51
|
-
});
|
|
52
|
-
Object.defineProperty(this, "cloudflareApiToken", {
|
|
53
|
-
enumerable: true,
|
|
54
|
-
configurable: true,
|
|
55
|
-
writable: true,
|
|
56
|
-
value: void 0
|
|
57
|
-
});
|
|
58
|
-
Object.defineProperty(this, "baseUrl", {
|
|
59
|
-
enumerable: true,
|
|
60
|
-
configurable: true,
|
|
61
|
-
writable: true,
|
|
62
|
-
value: void 0
|
|
63
|
-
});
|
|
64
|
-
Object.defineProperty(this, "streaming", {
|
|
65
|
-
enumerable: true,
|
|
66
|
-
configurable: true,
|
|
67
|
-
writable: true,
|
|
68
|
-
value: false
|
|
69
|
-
});
|
|
70
|
-
this.model = fields?.model ?? this.model;
|
|
71
|
-
this.streaming = fields?.streaming ?? this.streaming;
|
|
72
|
-
this.cloudflareAccountId =
|
|
73
|
-
fields?.cloudflareAccountId ??
|
|
74
|
-
(0, env_js_1.getEnvironmentVariable)("CLOUDFLARE_ACCOUNT_ID");
|
|
75
|
-
this.cloudflareApiToken =
|
|
76
|
-
fields?.cloudflareApiToken ??
|
|
77
|
-
(0, env_js_1.getEnvironmentVariable)("CLOUDFLARE_API_TOKEN");
|
|
78
|
-
this.baseUrl =
|
|
79
|
-
fields?.baseUrl ??
|
|
80
|
-
`https://api.cloudflare.com/client/v4/accounts/${this.cloudflareAccountId}/ai/run`;
|
|
81
|
-
if (this.baseUrl.endsWith("/")) {
|
|
82
|
-
this.baseUrl = this.baseUrl.slice(0, -1);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
get lc_secrets() {
|
|
86
|
-
return {
|
|
87
|
-
cloudflareApiToken: "CLOUDFLARE_API_TOKEN",
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
_llmType() {
|
|
91
|
-
return "cloudflare";
|
|
92
|
-
}
|
|
93
|
-
/** Get the identifying parameters for this LLM. */
|
|
94
|
-
get identifyingParams() {
|
|
95
|
-
return { model: this.model };
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Get the parameters used to invoke the model
|
|
99
|
-
*/
|
|
100
|
-
invocationParams(_options) {
|
|
101
|
-
return {
|
|
102
|
-
model: this.model,
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
_combineLLMOutput() {
|
|
106
|
-
return {};
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Method to validate the environment.
|
|
110
|
-
*/
|
|
111
|
-
validateEnvironment() {
|
|
112
|
-
if (!this.cloudflareAccountId) {
|
|
113
|
-
throw new Error(`No Cloudflare account ID found. Please provide it when instantiating the CloudflareWorkersAI class, or set it as "CLOUDFLARE_ACCOUNT_ID" in your environment variables.`);
|
|
114
|
-
}
|
|
115
|
-
if (!this.cloudflareApiToken) {
|
|
116
|
-
throw new Error(`No Cloudflare API key found. Please provide it when instantiating the CloudflareWorkersAI class, or set it as "CLOUDFLARE_API_KEY" in your environment variables.`);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
async _request(messages, options, stream) {
|
|
120
|
-
this.validateEnvironment();
|
|
121
|
-
const url = `${this.baseUrl}/${this.model}`;
|
|
122
|
-
const headers = {
|
|
123
|
-
Authorization: `Bearer ${this.cloudflareApiToken}`,
|
|
124
|
-
"Content-Type": "application/json",
|
|
125
|
-
};
|
|
126
|
-
const formattedMessages = this._formatMessages(messages);
|
|
127
|
-
const data = { messages: formattedMessages, stream };
|
|
128
|
-
return this.caller.call(async () => {
|
|
129
|
-
const response = await fetch(url, {
|
|
130
|
-
method: "POST",
|
|
131
|
-
headers,
|
|
132
|
-
body: JSON.stringify(data),
|
|
133
|
-
signal: options.signal,
|
|
134
|
-
});
|
|
135
|
-
if (!response.ok) {
|
|
136
|
-
const error = new Error(`Cloudflare LLM call failed with status code ${response.status}`);
|
|
137
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
138
|
-
error.response = response;
|
|
139
|
-
throw error;
|
|
140
|
-
}
|
|
141
|
-
return response;
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
async *_streamResponseChunks(messages, options, runManager) {
|
|
145
|
-
const response = await this._request(messages, options, true);
|
|
146
|
-
if (!response.body) {
|
|
147
|
-
throw new Error("Empty response from Cloudflare. Please try again.");
|
|
148
|
-
}
|
|
149
|
-
const stream = (0, event_source_parse_js_1.convertEventStreamToIterableReadableDataStream)(response.body);
|
|
150
|
-
for await (const chunk of stream) {
|
|
151
|
-
if (chunk !== "[DONE]") {
|
|
152
|
-
const parsedChunk = JSON.parse(chunk);
|
|
153
|
-
const generationChunk = new index_js_1.ChatGenerationChunk({
|
|
154
|
-
message: new index_js_1.AIMessageChunk({ content: parsedChunk.response }),
|
|
155
|
-
text: parsedChunk.response,
|
|
156
|
-
});
|
|
157
|
-
yield generationChunk;
|
|
158
|
-
// eslint-disable-next-line no-void
|
|
159
|
-
void runManager?.handleLLMNewToken(generationChunk.text ?? "");
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
_formatMessages(messages) {
|
|
164
|
-
const formattedMessages = messages.map((message) => {
|
|
165
|
-
let role;
|
|
166
|
-
if (message._getType() === "human") {
|
|
167
|
-
role = "user";
|
|
168
|
-
}
|
|
169
|
-
else if (message._getType() === "ai") {
|
|
170
|
-
role = "assistant";
|
|
171
|
-
}
|
|
172
|
-
else if (message._getType() === "system") {
|
|
173
|
-
role = "system";
|
|
174
|
-
}
|
|
175
|
-
else if (index_js_1.ChatMessage.isInstance(message)) {
|
|
176
|
-
role = message.role;
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
console.warn(`Unsupported message type passed to Cloudflare: "${message._getType()}"`);
|
|
180
|
-
role = "user";
|
|
181
|
-
}
|
|
182
|
-
if (typeof message.content !== "string") {
|
|
183
|
-
throw new Error("ChatCloudflareWorkersAI currently does not support non-string message content.");
|
|
184
|
-
}
|
|
185
|
-
return {
|
|
186
|
-
role,
|
|
187
|
-
content: message.content,
|
|
188
|
-
};
|
|
189
|
-
});
|
|
190
|
-
return formattedMessages;
|
|
191
|
-
}
|
|
192
|
-
/** @ignore */
|
|
193
|
-
async _call(messages, options, runManager) {
|
|
194
|
-
if (!this.streaming) {
|
|
195
|
-
const response = await this._request(messages, options);
|
|
196
|
-
const responseData = await response.json();
|
|
197
|
-
return responseData.result.response;
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
const stream = this._streamResponseChunks(messages, options, runManager);
|
|
201
|
-
let finalResult;
|
|
202
|
-
for await (const chunk of stream) {
|
|
203
|
-
if (finalResult === undefined) {
|
|
204
|
-
finalResult = chunk;
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
finalResult = finalResult.concat(chunk);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
const messageContent = finalResult?.message.content;
|
|
211
|
-
if (messageContent && typeof messageContent !== "string") {
|
|
212
|
-
throw new Error("Non-string output for ChatCloudflareWorkersAI is currently not supported.");
|
|
213
|
-
}
|
|
214
|
-
return messageContent ?? "";
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
exports.ChatCloudflareWorkersAI = ChatCloudflareWorkersAI;
|
|
17
|
+
__exportStar(require("@langchain/community/chat_models/cloudflare_workersai"), exports);
|
|
@@ -1,68 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { BaseLanguageModelCallOptions } from "../base_language/index.js";
|
|
3
|
-
import { BaseMessage, ChatGenerationChunk } from "../schema/index.js";
|
|
4
|
-
import { CloudflareWorkersAIInput } from "../llms/cloudflare_workersai.js";
|
|
5
|
-
import { CallbackManagerForLLMRun } from "../callbacks/manager.js";
|
|
6
|
-
/**
|
|
7
|
-
* An interface defining the options for a Cloudflare Workers AI call. It extends
|
|
8
|
-
* the BaseLanguageModelCallOptions interface.
|
|
9
|
-
*/
|
|
10
|
-
export interface ChatCloudflareWorkersAICallOptions extends BaseLanguageModelCallOptions {
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* A class that enables calls to the Cloudflare Workers AI API to access large language
|
|
14
|
-
* models in a chat-like fashion. It extends the SimpleChatModel class and
|
|
15
|
-
* implements the CloudflareWorkersAIInput interface.
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* const model = new ChatCloudflareWorkersAI({
|
|
19
|
-
* model: "@cf/meta/llama-2-7b-chat-int8",
|
|
20
|
-
* cloudflareAccountId: process.env.CLOUDFLARE_ACCOUNT_ID,
|
|
21
|
-
* cloudflareApiToken: process.env.CLOUDFLARE_API_TOKEN
|
|
22
|
-
* });
|
|
23
|
-
*
|
|
24
|
-
* const response = await model.invoke([
|
|
25
|
-
* ["system", "You are a helpful assistant that translates English to German."],
|
|
26
|
-
* ["human", `Translate "I love programming".`]
|
|
27
|
-
* ]);
|
|
28
|
-
*
|
|
29
|
-
* console.log(response);
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export declare class ChatCloudflareWorkersAI extends SimpleChatModel implements CloudflareWorkersAIInput {
|
|
33
|
-
static lc_name(): string;
|
|
34
|
-
lc_serializable: boolean;
|
|
35
|
-
model: string;
|
|
36
|
-
cloudflareAccountId?: string;
|
|
37
|
-
cloudflareApiToken?: string;
|
|
38
|
-
baseUrl: string;
|
|
39
|
-
streaming: boolean;
|
|
40
|
-
constructor(fields?: CloudflareWorkersAIInput & BaseChatModelParams);
|
|
41
|
-
get lc_secrets(): {
|
|
42
|
-
[key: string]: string;
|
|
43
|
-
} | undefined;
|
|
44
|
-
_llmType(): string;
|
|
45
|
-
/** Get the identifying parameters for this LLM. */
|
|
46
|
-
get identifyingParams(): {
|
|
47
|
-
model: string;
|
|
48
|
-
};
|
|
49
|
-
/**
|
|
50
|
-
* Get the parameters used to invoke the model
|
|
51
|
-
*/
|
|
52
|
-
invocationParams(_options?: this["ParsedCallOptions"]): {
|
|
53
|
-
model: string;
|
|
54
|
-
};
|
|
55
|
-
_combineLLMOutput(): {};
|
|
56
|
-
/**
|
|
57
|
-
* Method to validate the environment.
|
|
58
|
-
*/
|
|
59
|
-
validateEnvironment(): void;
|
|
60
|
-
_request(messages: BaseMessage[], options: this["ParsedCallOptions"], stream?: boolean): Promise<Response>;
|
|
61
|
-
_streamResponseChunks(messages: BaseMessage[], options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
|
|
62
|
-
protected _formatMessages(messages: BaseMessage[]): {
|
|
63
|
-
role: string;
|
|
64
|
-
content: string;
|
|
65
|
-
}[];
|
|
66
|
-
/** @ignore */
|
|
67
|
-
_call(messages: BaseMessage[], options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): Promise<string>;
|
|
68
|
-
}
|
|
1
|
+
export * from "@langchain/community/chat_models/cloudflare_workersai";
|