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,45 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { BaseCache, Generation } from "../schema/index.js";
|
|
3
|
-
export type UpstashRedisCacheProps = {
|
|
4
|
-
/**
|
|
5
|
-
* The config to use to instantiate an Upstash Redis client.
|
|
6
|
-
*/
|
|
7
|
-
config?: RedisConfigNodejs;
|
|
8
|
-
/**
|
|
9
|
-
* An existing Upstash Redis client.
|
|
10
|
-
*/
|
|
11
|
-
client?: Redis;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* A cache that uses Upstash as the backing store.
|
|
15
|
-
* See https://docs.upstash.com/redis.
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* const cache = new UpstashRedisCache({
|
|
19
|
-
* config: {
|
|
20
|
-
* url: "UPSTASH_REDIS_REST_URL",
|
|
21
|
-
* token: "UPSTASH_REDIS_REST_TOKEN",
|
|
22
|
-
* },
|
|
23
|
-
* });
|
|
24
|
-
* // Initialize the OpenAI model with Upstash Redis cache for caching responses
|
|
25
|
-
* const model = new ChatOpenAI({
|
|
26
|
-
* cache,
|
|
27
|
-
* });
|
|
28
|
-
* await model.invoke("How are you today?");
|
|
29
|
-
* const cachedValues = await cache.lookup("How are you today?", "llmKey");
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export declare class UpstashRedisCache extends BaseCache {
|
|
33
|
-
private redisClient;
|
|
34
|
-
constructor(props: UpstashRedisCacheProps);
|
|
35
|
-
/**
|
|
36
|
-
* Lookup LLM generations in cache by prompt and associated LLM key.
|
|
37
|
-
*/
|
|
38
|
-
lookup(prompt: string, llmKey: string): Promise<Generation[] | null>;
|
|
39
|
-
/**
|
|
40
|
-
* Update the cache with the given generations.
|
|
41
|
-
*
|
|
42
|
-
* Note this overwrites any existing generations for the given prompt and LLM key.
|
|
43
|
-
*/
|
|
44
|
-
update(prompt: string, llmKey: string, value: Generation[]): Promise<void>;
|
|
45
|
-
}
|
|
1
|
+
export * from "@langchain/community/caches/upstash_redis";
|
|
@@ -1,70 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { BaseCache } from "../schema/index.js";
|
|
3
|
-
import { deserializeStoredGeneration, getCacheKey, serializeGeneration, } from "./base.js";
|
|
4
|
-
/**
|
|
5
|
-
* A cache that uses Upstash as the backing store.
|
|
6
|
-
* See https://docs.upstash.com/redis.
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* const cache = new UpstashRedisCache({
|
|
10
|
-
* config: {
|
|
11
|
-
* url: "UPSTASH_REDIS_REST_URL",
|
|
12
|
-
* token: "UPSTASH_REDIS_REST_TOKEN",
|
|
13
|
-
* },
|
|
14
|
-
* });
|
|
15
|
-
* // Initialize the OpenAI model with Upstash Redis cache for caching responses
|
|
16
|
-
* const model = new ChatOpenAI({
|
|
17
|
-
* cache,
|
|
18
|
-
* });
|
|
19
|
-
* await model.invoke("How are you today?");
|
|
20
|
-
* const cachedValues = await cache.lookup("How are you today?", "llmKey");
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export class UpstashRedisCache extends BaseCache {
|
|
24
|
-
constructor(props) {
|
|
25
|
-
super();
|
|
26
|
-
Object.defineProperty(this, "redisClient", {
|
|
27
|
-
enumerable: true,
|
|
28
|
-
configurable: true,
|
|
29
|
-
writable: true,
|
|
30
|
-
value: void 0
|
|
31
|
-
});
|
|
32
|
-
const { config, client } = props;
|
|
33
|
-
if (client) {
|
|
34
|
-
this.redisClient = client;
|
|
35
|
-
}
|
|
36
|
-
else if (config) {
|
|
37
|
-
this.redisClient = new Redis(config);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
throw new Error(`Upstash Redis caches require either a config object or a pre-configured client.`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Lookup LLM generations in cache by prompt and associated LLM key.
|
|
45
|
-
*/
|
|
46
|
-
async lookup(prompt, llmKey) {
|
|
47
|
-
let idx = 0;
|
|
48
|
-
let key = getCacheKey(prompt, llmKey, String(idx));
|
|
49
|
-
let value = await this.redisClient.get(key);
|
|
50
|
-
const generations = [];
|
|
51
|
-
while (value) {
|
|
52
|
-
generations.push(deserializeStoredGeneration(value));
|
|
53
|
-
idx += 1;
|
|
54
|
-
key = getCacheKey(prompt, llmKey, String(idx));
|
|
55
|
-
value = await this.redisClient.get(key);
|
|
56
|
-
}
|
|
57
|
-
return generations.length > 0 ? generations : null;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Update the cache with the given generations.
|
|
61
|
-
*
|
|
62
|
-
* Note this overwrites any existing generations for the given prompt and LLM key.
|
|
63
|
-
*/
|
|
64
|
-
async update(prompt, llmKey, value) {
|
|
65
|
-
for (let i = 0; i < value.length; i += 1) {
|
|
66
|
-
const key = getCacheKey(prompt, llmKey, String(i));
|
|
67
|
-
await this.redisClient.set(key, JSON.stringify(serializeGeneration(value[i])));
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
1
|
+
export * from "@langchain/community/caches/upstash_redis";
|
|
@@ -1,241 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
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);
|
|
4
15
|
};
|
|
5
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
const llmonitor_1 = __importDefault(require("llmonitor"));
|
|
8
|
-
const env_js_1 = require("../../util/env.cjs");
|
|
9
|
-
const base_js_1 = require("../base.cjs");
|
|
10
|
-
// Langchain Helpers
|
|
11
|
-
// Input can be either a single message, an array of message, or an array of array of messages (batch requests)
|
|
12
|
-
const parseRole = (id) => {
|
|
13
|
-
const roleHint = id[id.length - 1];
|
|
14
|
-
if (roleHint.includes("Human"))
|
|
15
|
-
return "user";
|
|
16
|
-
if (roleHint.includes("System"))
|
|
17
|
-
return "system";
|
|
18
|
-
if (roleHint.includes("AI"))
|
|
19
|
-
return "ai";
|
|
20
|
-
if (roleHint.includes("Function"))
|
|
21
|
-
return "function";
|
|
22
|
-
if (roleHint.includes("Tool"))
|
|
23
|
-
return "tool";
|
|
24
|
-
return "ai";
|
|
25
|
-
};
|
|
26
|
-
const PARAMS_TO_CAPTURE = [
|
|
27
|
-
"stop",
|
|
28
|
-
"stop_sequences",
|
|
29
|
-
"function_call",
|
|
30
|
-
"functions",
|
|
31
|
-
"tools",
|
|
32
|
-
"tool_choice",
|
|
33
|
-
"response_format",
|
|
34
|
-
];
|
|
35
|
-
const convertToLLMonitorMessages = (input) => {
|
|
36
|
-
const parseMessage = (raw) => {
|
|
37
|
-
if (typeof raw === "string")
|
|
38
|
-
return raw;
|
|
39
|
-
// sometimes the message is nested in a "message" property
|
|
40
|
-
if ("message" in raw)
|
|
41
|
-
return parseMessage(raw.message);
|
|
42
|
-
// Serialize
|
|
43
|
-
const message = JSON.parse(JSON.stringify(raw));
|
|
44
|
-
try {
|
|
45
|
-
// "id" contains an array describing the constructor, with last item actual schema type
|
|
46
|
-
const role = parseRole(message.id);
|
|
47
|
-
const obj = message.kwargs;
|
|
48
|
-
const text = message.text ?? obj.content;
|
|
49
|
-
return {
|
|
50
|
-
role,
|
|
51
|
-
text,
|
|
52
|
-
...(obj.additional_kwargs ?? {}),
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
catch (e) {
|
|
56
|
-
// if parsing fails, return the original message
|
|
57
|
-
return message.text ?? message;
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
if (Array.isArray(input)) {
|
|
61
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
62
|
-
// @ts-ignore Confuses the compiler
|
|
63
|
-
return input.length === 1
|
|
64
|
-
? (0, exports.convertToLLMonitorMessages)(input[0])
|
|
65
|
-
: input.map(exports.convertToLLMonitorMessages);
|
|
66
|
-
}
|
|
67
|
-
return parseMessage(input);
|
|
68
|
-
};
|
|
69
|
-
exports.convertToLLMonitorMessages = convertToLLMonitorMessages;
|
|
70
|
-
const parseInput = (rawInput) => {
|
|
71
|
-
if (!rawInput)
|
|
72
|
-
return null;
|
|
73
|
-
const { input, inputs, question } = rawInput;
|
|
74
|
-
if (input)
|
|
75
|
-
return input;
|
|
76
|
-
if (inputs)
|
|
77
|
-
return inputs;
|
|
78
|
-
if (question)
|
|
79
|
-
return question;
|
|
80
|
-
return rawInput;
|
|
81
|
-
};
|
|
82
|
-
const parseOutput = (rawOutput) => {
|
|
83
|
-
if (!rawOutput)
|
|
84
|
-
return null;
|
|
85
|
-
const { text, output, answer, result } = rawOutput;
|
|
86
|
-
if (text)
|
|
87
|
-
return text;
|
|
88
|
-
if (answer)
|
|
89
|
-
return answer;
|
|
90
|
-
if (output)
|
|
91
|
-
return output;
|
|
92
|
-
if (result)
|
|
93
|
-
return result;
|
|
94
|
-
return rawOutput;
|
|
95
|
-
};
|
|
96
|
-
const parseExtraAndName = (llm, extraParams, metadata) => {
|
|
97
|
-
const params = {
|
|
98
|
-
...(extraParams?.invocation_params ?? {}),
|
|
99
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
100
|
-
// @ts-ignore this is a valid property
|
|
101
|
-
...(llm?.kwargs ?? {}),
|
|
102
|
-
...(metadata || {}),
|
|
103
|
-
};
|
|
104
|
-
const { model, model_name, modelName, model_id, userId, userProps, ...rest } = params;
|
|
105
|
-
const name = model || modelName || model_name || model_id || llm.id.at(-1);
|
|
106
|
-
// Filter rest to only include params we want to capture
|
|
107
|
-
const extra = Object.fromEntries(Object.entries(rest).filter(([key]) => PARAMS_TO_CAPTURE.includes(key) ||
|
|
108
|
-
["string", "number", "boolean"].includes(typeof rest[key])));
|
|
109
|
-
return { name, extra, userId, userProps };
|
|
110
|
-
};
|
|
111
|
-
class LLMonitorHandler extends base_js_1.BaseCallbackHandler {
|
|
112
|
-
constructor(fields = {}) {
|
|
113
|
-
super(fields);
|
|
114
|
-
Object.defineProperty(this, "name", {
|
|
115
|
-
enumerable: true,
|
|
116
|
-
configurable: true,
|
|
117
|
-
writable: true,
|
|
118
|
-
value: "llmonitor_handler"
|
|
119
|
-
});
|
|
120
|
-
Object.defineProperty(this, "monitor", {
|
|
121
|
-
enumerable: true,
|
|
122
|
-
configurable: true,
|
|
123
|
-
writable: true,
|
|
124
|
-
value: void 0
|
|
125
|
-
});
|
|
126
|
-
this.monitor = llmonitor_1.default;
|
|
127
|
-
if (fields) {
|
|
128
|
-
const { appId, apiUrl, verbose } = fields;
|
|
129
|
-
this.monitor.init({
|
|
130
|
-
verbose,
|
|
131
|
-
appId: appId ?? (0, env_js_1.getEnvironmentVariable)("LLMONITOR_APP_ID"),
|
|
132
|
-
apiUrl: apiUrl ?? (0, env_js_1.getEnvironmentVariable)("LLMONITOR_API_URL"),
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
async handleLLMStart(llm, prompts, runId, parentRunId, extraParams, tags, metadata) {
|
|
137
|
-
const { name, extra, userId, userProps } = parseExtraAndName(llm, extraParams, metadata);
|
|
138
|
-
await this.monitor.trackEvent("llm", "start", {
|
|
139
|
-
runId,
|
|
140
|
-
parentRunId,
|
|
141
|
-
name,
|
|
142
|
-
input: (0, exports.convertToLLMonitorMessages)(prompts),
|
|
143
|
-
extra,
|
|
144
|
-
userId,
|
|
145
|
-
userProps,
|
|
146
|
-
tags,
|
|
147
|
-
runtime: "langchain-js",
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
async handleChatModelStart(llm, messages, runId, parentRunId, extraParams, tags, metadata) {
|
|
151
|
-
const { name, extra, userId, userProps } = parseExtraAndName(llm, extraParams, metadata);
|
|
152
|
-
await this.monitor.trackEvent("llm", "start", {
|
|
153
|
-
runId,
|
|
154
|
-
parentRunId,
|
|
155
|
-
name,
|
|
156
|
-
input: (0, exports.convertToLLMonitorMessages)(messages),
|
|
157
|
-
extra,
|
|
158
|
-
userId,
|
|
159
|
-
userProps,
|
|
160
|
-
tags,
|
|
161
|
-
runtime: "langchain-js",
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
async handleLLMEnd(output, runId) {
|
|
165
|
-
const { generations, llmOutput } = output;
|
|
166
|
-
await this.monitor.trackEvent("llm", "end", {
|
|
167
|
-
runId,
|
|
168
|
-
output: (0, exports.convertToLLMonitorMessages)(generations),
|
|
169
|
-
tokensUsage: {
|
|
170
|
-
completion: llmOutput?.tokenUsage?.completionTokens,
|
|
171
|
-
prompt: llmOutput?.tokenUsage?.promptTokens,
|
|
172
|
-
},
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
async handleLLMError(error, runId) {
|
|
176
|
-
await this.monitor.trackEvent("llm", "error", {
|
|
177
|
-
runId,
|
|
178
|
-
error,
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
async handleChainStart(chain, inputs, runId, parentRunId, tags, metadata) {
|
|
182
|
-
const { agentName, userId, userProps, ...rest } = metadata || {};
|
|
183
|
-
// allow the user to specify an agent name
|
|
184
|
-
const name = agentName || chain.id.at(-1);
|
|
185
|
-
// Attempt to automatically detect if this is an agent or chain
|
|
186
|
-
const runType = agentName || ["AgentExecutor", "PlanAndExecute"].includes(name)
|
|
187
|
-
? "agent"
|
|
188
|
-
: "chain";
|
|
189
|
-
await this.monitor.trackEvent(runType, "start", {
|
|
190
|
-
runId,
|
|
191
|
-
parentRunId,
|
|
192
|
-
name,
|
|
193
|
-
userId,
|
|
194
|
-
userProps,
|
|
195
|
-
input: parseInput(inputs),
|
|
196
|
-
extra: rest,
|
|
197
|
-
tags,
|
|
198
|
-
runtime: "langchain-js",
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
async handleChainEnd(outputs, runId) {
|
|
202
|
-
await this.monitor.trackEvent("chain", "end", {
|
|
203
|
-
runId,
|
|
204
|
-
output: parseOutput(outputs),
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
async handleChainError(error, runId) {
|
|
208
|
-
await this.monitor.trackEvent("chain", "error", {
|
|
209
|
-
runId,
|
|
210
|
-
error,
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
async handleToolStart(tool, input, runId, parentRunId, tags, metadata) {
|
|
214
|
-
const { toolName, userId, userProps, ...rest } = metadata || {};
|
|
215
|
-
const name = toolName || tool.id.at(-1);
|
|
216
|
-
await this.monitor.trackEvent("tool", "start", {
|
|
217
|
-
runId,
|
|
218
|
-
parentRunId,
|
|
219
|
-
name,
|
|
220
|
-
userId,
|
|
221
|
-
userProps,
|
|
222
|
-
input,
|
|
223
|
-
extra: rest,
|
|
224
|
-
tags,
|
|
225
|
-
runtime: "langchain-js",
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
async handleToolEnd(output, runId) {
|
|
229
|
-
await this.monitor.trackEvent("tool", "end", {
|
|
230
|
-
runId,
|
|
231
|
-
output,
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
async handleToolError(error, runId) {
|
|
235
|
-
await this.monitor.trackEvent("tool", "error", {
|
|
236
|
-
runId,
|
|
237
|
-
error,
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
exports.LLMonitorHandler = LLMonitorHandler;
|
|
17
|
+
__exportStar(require("@langchain/community/callbacks/handlers/llmonitor"), exports);
|
|
@@ -1,35 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { LLMonitorOptions, ChatMessage } from "llmonitor/types";
|
|
3
|
-
import { BaseRun, RunUpdate as BaseRunUpdate, KVMap } from "langsmith/schemas";
|
|
4
|
-
import { BaseMessage, ChainValues, Generation, LLMResult } from "../../schema/index.js";
|
|
5
|
-
import { Serialized } from "../../load/serializable.js";
|
|
6
|
-
import { BaseCallbackHandler, BaseCallbackHandlerInput } from "../base.js";
|
|
7
|
-
type Message = BaseMessage | Generation | string;
|
|
8
|
-
type OutputMessage = ChatMessage | string;
|
|
9
|
-
export declare const convertToLLMonitorMessages: (input: Message | Message[] | Message[][]) => OutputMessage | OutputMessage[] | OutputMessage[][];
|
|
10
|
-
export interface Run extends BaseRun {
|
|
11
|
-
id: string;
|
|
12
|
-
child_runs: this[];
|
|
13
|
-
child_execution_order: number;
|
|
14
|
-
}
|
|
15
|
-
export interface RunUpdate extends BaseRunUpdate {
|
|
16
|
-
events: BaseRun["events"];
|
|
17
|
-
}
|
|
18
|
-
export interface LLMonitorHandlerFields extends BaseCallbackHandlerInput, LLMonitorOptions {
|
|
19
|
-
}
|
|
20
|
-
export declare class LLMonitorHandler extends BaseCallbackHandler implements LLMonitorHandlerFields {
|
|
21
|
-
name: string;
|
|
22
|
-
monitor: typeof monitor;
|
|
23
|
-
constructor(fields?: LLMonitorHandlerFields);
|
|
24
|
-
handleLLMStart(llm: Serialized, prompts: string[], runId: string, parentRunId?: string, extraParams?: KVMap, tags?: string[], metadata?: KVMap): Promise<void>;
|
|
25
|
-
handleChatModelStart(llm: Serialized, messages: BaseMessage[][], runId: string, parentRunId?: string, extraParams?: KVMap, tags?: string[], metadata?: KVMap): Promise<void>;
|
|
26
|
-
handleLLMEnd(output: LLMResult, runId: string): Promise<void>;
|
|
27
|
-
handleLLMError(error: Error, runId: string): Promise<void>;
|
|
28
|
-
handleChainStart(chain: Serialized, inputs: ChainValues, runId: string, parentRunId?: string, tags?: string[], metadata?: KVMap): Promise<void>;
|
|
29
|
-
handleChainEnd(outputs: ChainValues, runId: string): Promise<void>;
|
|
30
|
-
handleChainError(error: Error, runId: string): Promise<void>;
|
|
31
|
-
handleToolStart(tool: Serialized, input: string, runId: string, parentRunId?: string, tags?: string[], metadata?: KVMap): Promise<void>;
|
|
32
|
-
handleToolEnd(output: string, runId: string): Promise<void>;
|
|
33
|
-
handleToolError(error: Error, runId: string): Promise<void>;
|
|
34
|
-
}
|
|
35
|
-
export {};
|
|
1
|
+
export * from "@langchain/community/callbacks/handlers/llmonitor";
|
|
@@ -1,233 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { getEnvironmentVariable } from "../../util/env.js";
|
|
3
|
-
import { BaseCallbackHandler } from "../base.js";
|
|
4
|
-
// Langchain Helpers
|
|
5
|
-
// Input can be either a single message, an array of message, or an array of array of messages (batch requests)
|
|
6
|
-
const parseRole = (id) => {
|
|
7
|
-
const roleHint = id[id.length - 1];
|
|
8
|
-
if (roleHint.includes("Human"))
|
|
9
|
-
return "user";
|
|
10
|
-
if (roleHint.includes("System"))
|
|
11
|
-
return "system";
|
|
12
|
-
if (roleHint.includes("AI"))
|
|
13
|
-
return "ai";
|
|
14
|
-
if (roleHint.includes("Function"))
|
|
15
|
-
return "function";
|
|
16
|
-
if (roleHint.includes("Tool"))
|
|
17
|
-
return "tool";
|
|
18
|
-
return "ai";
|
|
19
|
-
};
|
|
20
|
-
const PARAMS_TO_CAPTURE = [
|
|
21
|
-
"stop",
|
|
22
|
-
"stop_sequences",
|
|
23
|
-
"function_call",
|
|
24
|
-
"functions",
|
|
25
|
-
"tools",
|
|
26
|
-
"tool_choice",
|
|
27
|
-
"response_format",
|
|
28
|
-
];
|
|
29
|
-
export const convertToLLMonitorMessages = (input) => {
|
|
30
|
-
const parseMessage = (raw) => {
|
|
31
|
-
if (typeof raw === "string")
|
|
32
|
-
return raw;
|
|
33
|
-
// sometimes the message is nested in a "message" property
|
|
34
|
-
if ("message" in raw)
|
|
35
|
-
return parseMessage(raw.message);
|
|
36
|
-
// Serialize
|
|
37
|
-
const message = JSON.parse(JSON.stringify(raw));
|
|
38
|
-
try {
|
|
39
|
-
// "id" contains an array describing the constructor, with last item actual schema type
|
|
40
|
-
const role = parseRole(message.id);
|
|
41
|
-
const obj = message.kwargs;
|
|
42
|
-
const text = message.text ?? obj.content;
|
|
43
|
-
return {
|
|
44
|
-
role,
|
|
45
|
-
text,
|
|
46
|
-
...(obj.additional_kwargs ?? {}),
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
catch (e) {
|
|
50
|
-
// if parsing fails, return the original message
|
|
51
|
-
return message.text ?? message;
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
if (Array.isArray(input)) {
|
|
55
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
56
|
-
// @ts-ignore Confuses the compiler
|
|
57
|
-
return input.length === 1
|
|
58
|
-
? convertToLLMonitorMessages(input[0])
|
|
59
|
-
: input.map(convertToLLMonitorMessages);
|
|
60
|
-
}
|
|
61
|
-
return parseMessage(input);
|
|
62
|
-
};
|
|
63
|
-
const parseInput = (rawInput) => {
|
|
64
|
-
if (!rawInput)
|
|
65
|
-
return null;
|
|
66
|
-
const { input, inputs, question } = rawInput;
|
|
67
|
-
if (input)
|
|
68
|
-
return input;
|
|
69
|
-
if (inputs)
|
|
70
|
-
return inputs;
|
|
71
|
-
if (question)
|
|
72
|
-
return question;
|
|
73
|
-
return rawInput;
|
|
74
|
-
};
|
|
75
|
-
const parseOutput = (rawOutput) => {
|
|
76
|
-
if (!rawOutput)
|
|
77
|
-
return null;
|
|
78
|
-
const { text, output, answer, result } = rawOutput;
|
|
79
|
-
if (text)
|
|
80
|
-
return text;
|
|
81
|
-
if (answer)
|
|
82
|
-
return answer;
|
|
83
|
-
if (output)
|
|
84
|
-
return output;
|
|
85
|
-
if (result)
|
|
86
|
-
return result;
|
|
87
|
-
return rawOutput;
|
|
88
|
-
};
|
|
89
|
-
const parseExtraAndName = (llm, extraParams, metadata) => {
|
|
90
|
-
const params = {
|
|
91
|
-
...(extraParams?.invocation_params ?? {}),
|
|
92
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
93
|
-
// @ts-ignore this is a valid property
|
|
94
|
-
...(llm?.kwargs ?? {}),
|
|
95
|
-
...(metadata || {}),
|
|
96
|
-
};
|
|
97
|
-
const { model, model_name, modelName, model_id, userId, userProps, ...rest } = params;
|
|
98
|
-
const name = model || modelName || model_name || model_id || llm.id.at(-1);
|
|
99
|
-
// Filter rest to only include params we want to capture
|
|
100
|
-
const extra = Object.fromEntries(Object.entries(rest).filter(([key]) => PARAMS_TO_CAPTURE.includes(key) ||
|
|
101
|
-
["string", "number", "boolean"].includes(typeof rest[key])));
|
|
102
|
-
return { name, extra, userId, userProps };
|
|
103
|
-
};
|
|
104
|
-
export class LLMonitorHandler extends BaseCallbackHandler {
|
|
105
|
-
constructor(fields = {}) {
|
|
106
|
-
super(fields);
|
|
107
|
-
Object.defineProperty(this, "name", {
|
|
108
|
-
enumerable: true,
|
|
109
|
-
configurable: true,
|
|
110
|
-
writable: true,
|
|
111
|
-
value: "llmonitor_handler"
|
|
112
|
-
});
|
|
113
|
-
Object.defineProperty(this, "monitor", {
|
|
114
|
-
enumerable: true,
|
|
115
|
-
configurable: true,
|
|
116
|
-
writable: true,
|
|
117
|
-
value: void 0
|
|
118
|
-
});
|
|
119
|
-
this.monitor = monitor;
|
|
120
|
-
if (fields) {
|
|
121
|
-
const { appId, apiUrl, verbose } = fields;
|
|
122
|
-
this.monitor.init({
|
|
123
|
-
verbose,
|
|
124
|
-
appId: appId ?? getEnvironmentVariable("LLMONITOR_APP_ID"),
|
|
125
|
-
apiUrl: apiUrl ?? getEnvironmentVariable("LLMONITOR_API_URL"),
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
async handleLLMStart(llm, prompts, runId, parentRunId, extraParams, tags, metadata) {
|
|
130
|
-
const { name, extra, userId, userProps } = parseExtraAndName(llm, extraParams, metadata);
|
|
131
|
-
await this.monitor.trackEvent("llm", "start", {
|
|
132
|
-
runId,
|
|
133
|
-
parentRunId,
|
|
134
|
-
name,
|
|
135
|
-
input: convertToLLMonitorMessages(prompts),
|
|
136
|
-
extra,
|
|
137
|
-
userId,
|
|
138
|
-
userProps,
|
|
139
|
-
tags,
|
|
140
|
-
runtime: "langchain-js",
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
async handleChatModelStart(llm, messages, runId, parentRunId, extraParams, tags, metadata) {
|
|
144
|
-
const { name, extra, userId, userProps } = parseExtraAndName(llm, extraParams, metadata);
|
|
145
|
-
await this.monitor.trackEvent("llm", "start", {
|
|
146
|
-
runId,
|
|
147
|
-
parentRunId,
|
|
148
|
-
name,
|
|
149
|
-
input: convertToLLMonitorMessages(messages),
|
|
150
|
-
extra,
|
|
151
|
-
userId,
|
|
152
|
-
userProps,
|
|
153
|
-
tags,
|
|
154
|
-
runtime: "langchain-js",
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
async handleLLMEnd(output, runId) {
|
|
158
|
-
const { generations, llmOutput } = output;
|
|
159
|
-
await this.monitor.trackEvent("llm", "end", {
|
|
160
|
-
runId,
|
|
161
|
-
output: convertToLLMonitorMessages(generations),
|
|
162
|
-
tokensUsage: {
|
|
163
|
-
completion: llmOutput?.tokenUsage?.completionTokens,
|
|
164
|
-
prompt: llmOutput?.tokenUsage?.promptTokens,
|
|
165
|
-
},
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
async handleLLMError(error, runId) {
|
|
169
|
-
await this.monitor.trackEvent("llm", "error", {
|
|
170
|
-
runId,
|
|
171
|
-
error,
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
async handleChainStart(chain, inputs, runId, parentRunId, tags, metadata) {
|
|
175
|
-
const { agentName, userId, userProps, ...rest } = metadata || {};
|
|
176
|
-
// allow the user to specify an agent name
|
|
177
|
-
const name = agentName || chain.id.at(-1);
|
|
178
|
-
// Attempt to automatically detect if this is an agent or chain
|
|
179
|
-
const runType = agentName || ["AgentExecutor", "PlanAndExecute"].includes(name)
|
|
180
|
-
? "agent"
|
|
181
|
-
: "chain";
|
|
182
|
-
await this.monitor.trackEvent(runType, "start", {
|
|
183
|
-
runId,
|
|
184
|
-
parentRunId,
|
|
185
|
-
name,
|
|
186
|
-
userId,
|
|
187
|
-
userProps,
|
|
188
|
-
input: parseInput(inputs),
|
|
189
|
-
extra: rest,
|
|
190
|
-
tags,
|
|
191
|
-
runtime: "langchain-js",
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
async handleChainEnd(outputs, runId) {
|
|
195
|
-
await this.monitor.trackEvent("chain", "end", {
|
|
196
|
-
runId,
|
|
197
|
-
output: parseOutput(outputs),
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
async handleChainError(error, runId) {
|
|
201
|
-
await this.monitor.trackEvent("chain", "error", {
|
|
202
|
-
runId,
|
|
203
|
-
error,
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
async handleToolStart(tool, input, runId, parentRunId, tags, metadata) {
|
|
207
|
-
const { toolName, userId, userProps, ...rest } = metadata || {};
|
|
208
|
-
const name = toolName || tool.id.at(-1);
|
|
209
|
-
await this.monitor.trackEvent("tool", "start", {
|
|
210
|
-
runId,
|
|
211
|
-
parentRunId,
|
|
212
|
-
name,
|
|
213
|
-
userId,
|
|
214
|
-
userProps,
|
|
215
|
-
input,
|
|
216
|
-
extra: rest,
|
|
217
|
-
tags,
|
|
218
|
-
runtime: "langchain-js",
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
async handleToolEnd(output, runId) {
|
|
222
|
-
await this.monitor.trackEvent("tool", "end", {
|
|
223
|
-
runId,
|
|
224
|
-
output,
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
async handleToolError(error, runId) {
|
|
228
|
-
await this.monitor.trackEvent("tool", "error", {
|
|
229
|
-
runId,
|
|
230
|
-
error,
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
}
|
|
1
|
+
export * from "@langchain/community/callbacks/handlers/llmonitor";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OpenAIModerationChain = void 0;
|
|
4
|
-
const openai_1 = require("openai");
|
|
4
|
+
const openai_1 = require("@langchain/openai");
|
|
5
5
|
const base_js_1 = require("./base.cjs");
|
|
6
6
|
const async_caller_js_1 = require("../util/async_caller.cjs");
|
|
7
7
|
const env_js_1 = require("../util/env.cjs");
|
|
@@ -109,7 +109,7 @@ class OpenAIModerationChain extends base_js_1.BaseChain {
|
|
|
109
109
|
apiKey: this.openAIApiKey,
|
|
110
110
|
organization: this.openAIOrganization,
|
|
111
111
|
};
|
|
112
|
-
this.client = new openai_1.
|
|
112
|
+
this.client = new openai_1.OpenAIClient(this.clientConfig);
|
|
113
113
|
this.caller = new async_caller_js_1.AsyncCaller(fields ?? {});
|
|
114
114
|
}
|
|
115
115
|
_moderate(text, results) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ClientOptions,
|
|
1
|
+
import { type ClientOptions, OpenAIClient } from "@langchain/openai";
|
|
2
2
|
import { BaseChain, ChainInputs } from "./base.js";
|
|
3
3
|
import { ChainValues } from "../schema/index.js";
|
|
4
4
|
import { AsyncCaller, AsyncCallerParams } from "../util/async_caller.js";
|