langchain 0.0.203 → 0.0.204-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/toolkits/aws_sfn.cjs +3 -75
- package/dist/agents/toolkits/aws_sfn.d.ts +2 -45
- package/dist/agents/toolkits/aws_sfn.js +2 -73
- package/dist/agents/toolkits/base.cjs +15 -9
- package/dist/agents/toolkits/base.d.ts +1 -9
- package/dist/agents/toolkits/base.js +1 -7
- package/dist/agents/toolkits/connery/index.cjs +15 -37
- package/dist/agents/toolkits/connery/index.d.ts +1 -23
- package/dist/agents/toolkits/connery/index.js +1 -35
- package/dist/cache/cloudflare_kv.cjs +15 -69
- package/dist/cache/cloudflare_kv.d.ts +1 -42
- package/dist/cache/cloudflare_kv.js +1 -67
- package/dist/cache/ioredis.cjs +15 -77
- package/dist/cache/ioredis.d.ts +1 -40
- package/dist/cache/ioredis.js +1 -75
- package/dist/cache/momento.cjs +15 -135
- package/dist/cache/momento.d.ts +1 -91
- package/dist/cache/momento.js +1 -133
- package/dist/cache/upstash_redis.cjs +15 -72
- package/dist/cache/upstash_redis.d.ts +1 -45
- package/dist/cache/upstash_redis.js +1 -70
- package/dist/callbacks/handlers/llmonitor.cjs +14 -238
- package/dist/callbacks/handlers/llmonitor.d.ts +1 -35
- package/dist/callbacks/handlers/llmonitor.js +1 -233
- package/dist/chains/openai_moderation.cjs +2 -2
- package/dist/chains/openai_moderation.d.ts +1 -1
- package/dist/chains/openai_moderation.js +1 -1
- package/dist/chat_models/anthropic.d.ts +4 -4
- package/dist/chat_models/baiduwenxin.cjs +15 -411
- package/dist/chat_models/baiduwenxin.d.ts +1 -150
- package/dist/chat_models/baiduwenxin.js +1 -409
- package/dist/chat_models/bedrock/index.cjs +15 -33
- package/dist/chat_models/bedrock/index.d.ts +1 -23
- package/dist/chat_models/bedrock/index.js +1 -29
- package/dist/chat_models/bedrock/web.cjs +15 -360
- package/dist/chat_models/bedrock/web.d.ts +1 -82
- package/dist/chat_models/bedrock/web.js +1 -356
- package/dist/chat_models/cloudflare_workersai.cjs +15 -216
- package/dist/chat_models/cloudflare_workersai.d.ts +1 -68
- package/dist/chat_models/cloudflare_workersai.js +1 -214
- package/dist/chat_models/fireworks.cjs +15 -89
- package/dist/chat_models/fireworks.d.ts +1 -43
- package/dist/chat_models/fireworks.js +1 -87
- package/dist/chat_models/googlepalm.cjs +15 -235
- package/dist/chat_models/googlepalm.d.ts +1 -108
- package/dist/chat_models/googlepalm.js +1 -233
- package/dist/chat_models/googlevertexai/index.cjs +15 -40
- package/dist/chat_models/googlevertexai/index.d.ts +1 -28
- package/dist/chat_models/googlevertexai/index.js +1 -38
- package/dist/chat_models/googlevertexai/web.cjs +15 -39
- package/dist/chat_models/googlevertexai/web.d.ts +1 -28
- package/dist/chat_models/googlevertexai/web.js +1 -37
- package/dist/chat_models/iflytek_xinghuo/index.cjs +14 -40
- package/dist/chat_models/iflytek_xinghuo/index.d.ts +1 -13
- package/dist/chat_models/iflytek_xinghuo/index.js +1 -36
- package/dist/chat_models/iflytek_xinghuo/web.cjs +15 -36
- package/dist/chat_models/iflytek_xinghuo/web.d.ts +1 -13
- package/dist/chat_models/iflytek_xinghuo/web.js +1 -34
- package/dist/chat_models/llama_cpp.cjs +15 -275
- package/dist/chat_models/llama_cpp.d.ts +1 -71
- package/dist/chat_models/llama_cpp.js +1 -273
- package/dist/chat_models/minimax.cjs +15 -578
- package/dist/chat_models/minimax.d.ts +1 -369
- package/dist/chat_models/minimax.js +1 -576
- package/dist/chat_models/ollama.cjs +15 -394
- package/dist/chat_models/ollama.d.ts +1 -127
- package/dist/chat_models/ollama.js +1 -392
- package/dist/chat_models/openai.cjs +4 -698
- package/dist/chat_models/openai.d.ts +4 -137
- package/dist/chat_models/openai.js +2 -695
- package/dist/chat_models/portkey.cjs +15 -167
- package/dist/chat_models/portkey.d.ts +1 -17
- package/dist/chat_models/portkey.js +1 -165
- package/dist/chat_models/yandex.cjs +15 -132
- package/dist/chat_models/yandex.d.ts +1 -30
- package/dist/chat_models/yandex.js +1 -130
- package/dist/document_loaders/fs/openai_whisper_audio.cjs +2 -2
- package/dist/document_loaders/fs/openai_whisper_audio.d.ts +1 -1
- package/dist/document_loaders/fs/openai_whisper_audio.js +1 -1
- package/dist/document_transformers/html_to_text.cjs +15 -47
- package/dist/document_transformers/html_to_text.d.ts +1 -30
- package/dist/document_transformers/html_to_text.js +1 -45
- package/dist/document_transformers/mozilla_readability.cjs +15 -53
- package/dist/document_transformers/mozilla_readability.d.ts +1 -31
- package/dist/document_transformers/mozilla_readability.js +1 -51
- package/dist/embeddings/bedrock.cjs +15 -109
- package/dist/embeddings/bedrock.d.ts +1 -71
- package/dist/embeddings/bedrock.js +1 -107
- package/dist/embeddings/cloudflare_workersai.cjs +15 -67
- package/dist/embeddings/cloudflare_workersai.d.ts +1 -28
- package/dist/embeddings/cloudflare_workersai.js +1 -65
- package/dist/embeddings/cohere.cjs +15 -124
- package/dist/embeddings/cohere.d.ts +1 -66
- package/dist/embeddings/cohere.js +1 -122
- package/dist/embeddings/googlepalm.cjs +15 -88
- package/dist/embeddings/googlepalm.d.ts +1 -61
- package/dist/embeddings/googlepalm.js +1 -86
- package/dist/embeddings/googlevertexai.cjs +15 -81
- package/dist/embeddings/googlevertexai.d.ts +1 -54
- package/dist/embeddings/googlevertexai.js +1 -79
- package/dist/embeddings/gradient_ai.cjs +15 -101
- package/dist/embeddings/gradient_ai.d.ts +1 -48
- package/dist/embeddings/gradient_ai.js +1 -99
- package/dist/embeddings/hf.cjs +15 -75
- package/dist/embeddings/hf.d.ts +1 -41
- package/dist/embeddings/hf.js +1 -73
- package/dist/embeddings/hf_transformers.cjs +15 -87
- package/dist/embeddings/hf_transformers.d.ts +1 -47
- package/dist/embeddings/hf_transformers.js +1 -85
- package/dist/embeddings/llama_cpp.cjs +15 -81
- package/dist/embeddings/llama_cpp.d.ts +1 -42
- package/dist/embeddings/llama_cpp.js +1 -79
- package/dist/embeddings/minimax.cjs +15 -165
- package/dist/embeddings/minimax.d.ts +1 -119
- package/dist/embeddings/minimax.js +1 -163
- package/dist/embeddings/ollama.cjs +15 -118
- package/dist/embeddings/ollama.d.ts +1 -34
- package/dist/embeddings/ollama.js +1 -116
- package/dist/embeddings/openai.cjs +2 -240
- package/dist/embeddings/openai.d.ts +1 -82
- package/dist/embeddings/openai.js +1 -239
- package/dist/embeddings/tensorflow.cjs +3 -96
- package/dist/embeddings/tensorflow.d.ts +1 -59
- package/dist/embeddings/tensorflow.js +1 -83
- package/dist/embeddings/voyage.cjs +15 -118
- package/dist/embeddings/voyage.d.ts +1 -66
- package/dist/embeddings/voyage.js +1 -116
- package/dist/experimental/chat_models/ollama_functions.d.ts +1 -1
- package/dist/experimental/openai_assistant/index.cjs +3 -3
- package/dist/experimental/openai_assistant/index.d.ts +1 -1
- package/dist/experimental/openai_assistant/index.js +1 -1
- package/dist/experimental/openai_assistant/schema.d.ts +1 -1
- package/dist/experimental/openai_files/index.cjs +2 -2
- package/dist/experimental/openai_files/index.d.ts +1 -1
- package/dist/experimental/openai_files/index.js +1 -1
- package/dist/graphs/neo4j_graph.cjs +3 -254
- package/dist/graphs/neo4j_graph.d.ts +1 -63
- package/dist/graphs/neo4j_graph.js +1 -241
- package/dist/llms/ai21.cjs +15 -200
- package/dist/llms/ai21.d.ts +1 -100
- package/dist/llms/ai21.js +1 -198
- package/dist/llms/aleph_alpha.cjs +15 -374
- package/dist/llms/aleph_alpha.d.ts +1 -161
- package/dist/llms/aleph_alpha.js +1 -372
- package/dist/llms/bedrock/web.cjs +15 -310
- package/dist/llms/bedrock/web.d.ts +1 -66
- package/dist/llms/bedrock/web.js +1 -308
- package/dist/llms/cloudflare_workersai.cjs +15 -168
- package/dist/llms/cloudflare_workersai.d.ts +1 -55
- package/dist/llms/cloudflare_workersai.js +1 -166
- package/dist/llms/cohere.cjs +15 -110
- package/dist/llms/cohere.d.ts +1 -54
- package/dist/llms/cohere.js +1 -108
- package/dist/llms/fireworks.cjs +15 -90
- package/dist/llms/fireworks.d.ts +1 -33
- package/dist/llms/fireworks.js +1 -88
- package/dist/llms/googlepalm.cjs +15 -134
- package/dist/llms/googlepalm.d.ts +1 -92
- package/dist/llms/googlepalm.js +1 -132
- package/dist/llms/googlevertexai/index.cjs +15 -45
- package/dist/llms/googlevertexai/index.d.ts +1 -38
- package/dist/llms/googlevertexai/index.js +1 -43
- package/dist/llms/googlevertexai/web.cjs +15 -42
- package/dist/llms/googlevertexai/web.d.ts +1 -36
- package/dist/llms/googlevertexai/web.js +1 -40
- package/dist/llms/gradient_ai.cjs +15 -110
- package/dist/llms/gradient_ai.d.ts +1 -55
- package/dist/llms/gradient_ai.js +1 -108
- package/dist/llms/hf.cjs +15 -136
- package/dist/llms/hf.d.ts +1 -68
- package/dist/llms/hf.js +1 -134
- package/dist/llms/llama_cpp.cjs +15 -111
- package/dist/llms/llama_cpp.d.ts +1 -41
- package/dist/llms/llama_cpp.js +1 -109
- package/dist/llms/ollama.cjs +15 -353
- package/dist/llms/ollama.d.ts +1 -106
- package/dist/llms/ollama.js +1 -351
- package/dist/llms/openai-chat.cjs +3 -445
- package/dist/llms/openai-chat.d.ts +4 -123
- package/dist/llms/openai-chat.js +2 -443
- package/dist/llms/openai.cjs +6 -530
- package/dist/llms/openai.d.ts +4 -123
- package/dist/llms/openai.js +2 -525
- package/dist/llms/portkey.cjs +14 -168
- package/dist/llms/portkey.d.ts +1 -57
- package/dist/llms/portkey.js +1 -162
- package/dist/llms/raycast.cjs +15 -94
- package/dist/llms/raycast.d.ts +1 -50
- package/dist/llms/raycast.js +1 -92
- package/dist/llms/replicate.cjs +15 -132
- package/dist/llms/replicate.d.ts +1 -51
- package/dist/llms/replicate.js +1 -130
- package/dist/llms/sagemaker_endpoint.cjs +15 -203
- package/dist/llms/sagemaker_endpoint.d.ts +1 -121
- package/dist/llms/sagemaker_endpoint.js +1 -200
- package/dist/llms/watsonx_ai.cjs +15 -152
- package/dist/llms/watsonx_ai.d.ts +1 -72
- package/dist/llms/watsonx_ai.js +1 -150
- package/dist/llms/writer.cjs +15 -165
- package/dist/llms/writer.d.ts +1 -60
- package/dist/llms/writer.js +1 -163
- package/dist/llms/yandex.cjs +15 -98
- package/dist/llms/yandex.d.ts +1 -40
- package/dist/llms/yandex.js +1 -96
- package/dist/load/index.cjs +3 -1
- package/dist/load/index.d.ts +1 -1
- package/dist/load/index.js +3 -1
- package/dist/memory/chat_memory.cjs +15 -61
- package/dist/memory/chat_memory.d.ts +1 -36
- package/dist/memory/chat_memory.js +1 -59
- package/dist/memory/motorhead_memory.cjs +15 -161
- package/dist/memory/motorhead_memory.d.ts +1 -63
- package/dist/memory/motorhead_memory.js +1 -159
- package/dist/memory/zep.cjs +15 -222
- package/dist/memory/zep.d.ts +1 -86
- package/dist/memory/zep.js +1 -220
- package/dist/retrievers/amazon_kendra.cjs +15 -273
- package/dist/retrievers/amazon_kendra.d.ts +1 -142
- package/dist/retrievers/amazon_kendra.js +1 -271
- package/dist/retrievers/chaindesk.cjs +15 -88
- package/dist/retrievers/chaindesk.d.ts +1 -31
- package/dist/retrievers/chaindesk.js +1 -86
- package/dist/retrievers/databerry.cjs +15 -82
- package/dist/retrievers/databerry.d.ts +1 -34
- package/dist/retrievers/databerry.js +1 -80
- package/dist/retrievers/metal.cjs +15 -51
- package/dist/retrievers/metal.d.ts +1 -36
- package/dist/retrievers/metal.js +1 -49
- package/dist/retrievers/supabase.cjs +15 -167
- package/dist/retrievers/supabase.d.ts +1 -82
- package/dist/retrievers/supabase.js +1 -165
- package/dist/retrievers/tavily_search_api.cjs +15 -142
- package/dist/retrievers/tavily_search_api.d.ts +1 -38
- package/dist/retrievers/tavily_search_api.js +1 -140
- package/dist/retrievers/zep.cjs +15 -150
- package/dist/retrievers/zep.d.ts +1 -76
- package/dist/retrievers/zep.js +1 -148
- package/dist/schema/document.cjs +2 -16
- package/dist/schema/document.d.ts +1 -11
- package/dist/schema/document.js +1 -16
- package/dist/schema/index.cjs +2 -7
- package/dist/schema/index.d.ts +2 -10
- package/dist/schema/index.js +1 -6
- package/dist/storage/convex.cjs +15 -143
- package/dist/storage/convex.d.ts +1 -106
- package/dist/storage/convex.js +1 -141
- package/dist/storage/ioredis.cjs +15 -158
- package/dist/storage/ioredis.d.ts +1 -71
- package/dist/storage/ioredis.js +1 -156
- package/dist/storage/upstash_redis.cjs +15 -172
- package/dist/storage/upstash_redis.d.ts +1 -78
- package/dist/storage/upstash_redis.js +1 -170
- package/dist/storage/vercel_kv.cjs +15 -161
- package/dist/storage/vercel_kv.d.ts +1 -62
- package/dist/storage/vercel_kv.js +1 -159
- package/dist/stores/doc/in_memory.cjs +15 -105
- package/dist/stores/doc/in_memory.d.ts +1 -46
- package/dist/stores/doc/in_memory.js +1 -102
- package/dist/stores/message/cassandra.cjs +15 -158
- package/dist/stores/message/cassandra.d.ts +1 -69
- package/dist/stores/message/cassandra.js +1 -156
- package/dist/stores/message/cloudflare_d1.cjs +15 -150
- package/dist/stores/message/cloudflare_d1.d.ts +1 -67
- package/dist/stores/message/cloudflare_d1.js +1 -148
- package/dist/stores/message/convex.cjs +15 -118
- package/dist/stores/message/convex.d.ts +1 -81
- package/dist/stores/message/convex.js +1 -116
- package/dist/stores/message/dynamodb.cjs +15 -159
- package/dist/stores/message/dynamodb.d.ts +1 -51
- package/dist/stores/message/dynamodb.js +1 -157
- package/dist/stores/message/firestore.cjs +15 -185
- package/dist/stores/message/firestore.d.ts +1 -68
- package/dist/stores/message/firestore.js +1 -183
- package/dist/stores/message/in_memory.cjs +15 -49
- package/dist/stores/message/in_memory.d.ts +1 -28
- package/dist/stores/message/in_memory.js +1 -47
- package/dist/stores/message/ioredis.cjs +15 -98
- package/dist/stores/message/ioredis.d.ts +1 -64
- package/dist/stores/message/ioredis.js +1 -96
- package/dist/stores/message/momento.cjs +15 -160
- package/dist/stores/message/momento.d.ts +1 -97
- package/dist/stores/message/momento.js +1 -158
- package/dist/stores/message/mongodb.cjs +15 -57
- package/dist/stores/message/mongodb.d.ts +1 -26
- package/dist/stores/message/mongodb.js +1 -55
- package/dist/stores/message/planetscale.cjs +15 -170
- package/dist/stores/message/planetscale.d.ts +1 -75
- package/dist/stores/message/planetscale.js +1 -168
- package/dist/stores/message/redis.cjs +15 -114
- package/dist/stores/message/redis.d.ts +1 -69
- package/dist/stores/message/redis.js +1 -112
- package/dist/stores/message/upstash_redis.cjs +15 -85
- package/dist/stores/message/upstash_redis.d.ts +1 -43
- package/dist/stores/message/upstash_redis.js +1 -83
- package/dist/stores/message/utils.cjs +3 -23
- package/dist/stores/message/utils.d.ts +1 -17
- package/dist/stores/message/utils.js +1 -21
- package/dist/stores/message/xata.cjs +15 -216
- package/dist/stores/message/xata.d.ts +1 -76
- package/dist/stores/message/xata.js +1 -214
- package/dist/tools/IFTTTWebhook.cjs +15 -87
- package/dist/tools/IFTTTWebhook.d.ts +1 -50
- package/dist/tools/IFTTTWebhook.js +1 -85
- package/dist/tools/aiplugin.cjs +15 -73
- package/dist/tools/aiplugin.d.ts +1 -34
- package/dist/tools/aiplugin.js +1 -71
- package/dist/tools/aws_lambda.cjs +15 -83
- package/dist/tools/aws_lambda.d.ts +1 -25
- package/dist/tools/aws_lambda.js +1 -82
- package/dist/tools/aws_sfn.cjs +15 -201
- package/dist/tools/aws_sfn.d.ts +1 -57
- package/dist/tools/aws_sfn.js +1 -197
- package/dist/tools/bingserpapi.cjs +15 -76
- package/dist/tools/bingserpapi.d.ts +1 -23
- package/dist/tools/bingserpapi.js +1 -75
- package/dist/tools/brave_search.cjs +15 -64
- package/dist/tools/brave_search.d.ts +1 -23
- package/dist/tools/brave_search.js +1 -62
- package/dist/tools/connery.cjs +15 -277
- package/dist/tools/connery.d.ts +1 -145
- package/dist/tools/connery.js +1 -274
- package/dist/tools/convert_to_openai.d.ts +1 -1
- package/dist/tools/dadjokeapi.cjs +15 -46
- package/dist/tools/dadjokeapi.d.ts +1 -15
- package/dist/tools/dadjokeapi.js +1 -45
- package/dist/tools/dataforseo_api_search.cjs +15 -280
- package/dist/tools/dataforseo_api_search.d.ts +1 -170
- package/dist/tools/dataforseo_api_search.js +1 -278
- package/dist/tools/dynamic.cjs +15 -87
- package/dist/tools/dynamic.d.ts +1 -48
- package/dist/tools/dynamic.js +1 -84
- package/dist/tools/gmail/index.cjs +15 -11
- package/dist/tools/gmail/index.d.ts +1 -11
- package/dist/tools/gmail/index.js +1 -5
- package/dist/tools/google_custom_search.cjs +15 -70
- package/dist/tools/google_custom_search.d.ts +1 -25
- package/dist/tools/google_custom_search.js +1 -68
- package/dist/tools/google_places.cjs +15 -79
- package/dist/tools/google_places.d.ts +1 -21
- package/dist/tools/google_places.js +1 -77
- package/dist/tools/searchapi.cjs +15 -164
- package/dist/tools/searchapi.d.ts +1 -91
- package/dist/tools/searchapi.js +1 -162
- package/dist/tools/searxng_search.cjs +15 -156
- package/dist/tools/searxng_search.d.ts +1 -114
- package/dist/tools/searxng_search.js +1 -154
- package/dist/tools/serpapi.cjs +15 -199
- package/dist/tools/serpapi.d.ts +1 -302
- package/dist/tools/serpapi.js +1 -197
- package/dist/tools/serper.cjs +15 -94
- package/dist/tools/serper.d.ts +1 -32
- package/dist/tools/serper.js +1 -92
- package/dist/tools/wikipedia_query_run.cjs +15 -133
- package/dist/tools/wikipedia_query_run.d.ts +1 -54
- package/dist/tools/wikipedia_query_run.js +1 -131
- package/dist/tools/wolframalpha.cjs +15 -47
- package/dist/tools/wolframalpha.d.ts +1 -21
- package/dist/tools/wolframalpha.js +1 -45
- package/dist/types/openai-types.d.ts +1 -1
- package/dist/util/convex.cjs +15 -75
- package/dist/util/convex.d.ts +1 -26
- package/dist/util/convex.js +1 -74
- package/dist/util/event-source-parse.cjs +15 -224
- package/dist/util/event-source-parse.d.ts +1 -39
- package/dist/util/event-source-parse.js +1 -219
- package/dist/util/math.cjs +15 -123
- package/dist/util/math.d.ts +1 -40
- package/dist/util/math.js +1 -116
- package/dist/util/openapi.d.ts +2 -2
- package/dist/vectorstores/analyticdb.cjs +3 -333
- package/dist/vectorstores/analyticdb.d.ts +1 -110
- package/dist/vectorstores/analyticdb.js +1 -317
- package/dist/vectorstores/base.cjs +15 -165
- package/dist/vectorstores/base.d.ts +1 -104
- package/dist/vectorstores/base.js +1 -161
- package/dist/vectorstores/cassandra.cjs +15 -478
- package/dist/vectorstores/cassandra.d.ts +1 -162
- package/dist/vectorstores/cassandra.js +1 -476
- package/dist/vectorstores/chroma.cjs +3 -312
- package/dist/vectorstores/chroma.d.ts +1 -133
- package/dist/vectorstores/chroma.js +1 -299
- package/dist/vectorstores/clickhouse.cjs +3 -272
- package/dist/vectorstores/clickhouse.d.ts +1 -126
- package/dist/vectorstores/clickhouse.js +1 -259
- package/dist/vectorstores/closevector/node.cjs +15 -107
- package/dist/vectorstores/closevector/node.d.ts +1 -83
- package/dist/vectorstores/closevector/node.js +1 -105
- package/dist/vectorstores/closevector/web.cjs +15 -107
- package/dist/vectorstores/closevector/web.d.ts +1 -80
- package/dist/vectorstores/closevector/web.js +1 -105
- package/dist/vectorstores/cloudflare_vectorize.cjs +3 -186
- package/dist/vectorstores/cloudflare_vectorize.d.ts +1 -90
- package/dist/vectorstores/cloudflare_vectorize.js +1 -173
- package/dist/vectorstores/convex.cjs +15 -175
- package/dist/vectorstores/convex.d.ts +1 -134
- package/dist/vectorstores/convex.js +1 -173
- package/dist/vectorstores/elasticsearch.cjs +3 -287
- package/dist/vectorstores/elasticsearch.d.ts +1 -143
- package/dist/vectorstores/elasticsearch.js +1 -274
- package/dist/vectorstores/faiss.cjs +3 -378
- package/dist/vectorstores/faiss.d.ts +1 -127
- package/dist/vectorstores/faiss.js +1 -365
- package/dist/vectorstores/googlevertexai.cjs +3 -538
- package/dist/vectorstores/googlevertexai.d.ts +1 -181
- package/dist/vectorstores/googlevertexai.js +1 -521
- package/dist/vectorstores/hnswlib.cjs +15 -273
- package/dist/vectorstores/hnswlib.d.ts +1 -122
- package/dist/vectorstores/hnswlib.js +1 -271
- package/dist/vectorstores/lancedb.cjs +15 -126
- package/dist/vectorstores/lancedb.d.ts +1 -61
- package/dist/vectorstores/lancedb.js +1 -124
- package/dist/vectorstores/memory.cjs +6 -6
- package/dist/vectorstores/memory.d.ts +3 -3
- package/dist/vectorstores/memory.js +2 -2
- package/dist/vectorstores/milvus.cjs +3 -592
- package/dist/vectorstores/milvus.d.ts +1 -139
- package/dist/vectorstores/milvus.js +1 -579
- package/dist/vectorstores/momento_vector_index.cjs +3 -305
- package/dist/vectorstores/momento_vector_index.d.ts +1 -143
- package/dist/vectorstores/momento_vector_index.js +1 -292
- package/dist/vectorstores/mongodb_atlas.cjs +15 -218
- package/dist/vectorstores/mongodb_atlas.d.ts +1 -118
- package/dist/vectorstores/mongodb_atlas.js +1 -216
- package/dist/vectorstores/myscale.cjs +3 -263
- package/dist/vectorstores/myscale.d.ts +1 -129
- package/dist/vectorstores/myscale.js +1 -250
- package/dist/vectorstores/neo4j_vector.cjs +3 -578
- package/dist/vectorstores/neo4j_vector.d.ts +1 -75
- package/dist/vectorstores/neo4j_vector.js +1 -562
- package/dist/vectorstores/opensearch.cjs +3 -274
- package/dist/vectorstores/opensearch.d.ts +1 -119
- package/dist/vectorstores/opensearch.js +1 -261
- package/dist/vectorstores/pgvector.cjs +14 -404
- package/dist/vectorstores/pgvector.d.ts +1 -160
- package/dist/vectorstores/pgvector.js +1 -400
- package/dist/vectorstores/pinecone.cjs +3 -280
- package/dist/vectorstores/pinecone.d.ts +1 -120
- package/dist/vectorstores/pinecone.js +1 -264
- package/dist/vectorstores/prisma.cjs +15 -305
- package/dist/vectorstores/prisma.d.ts +1 -180
- package/dist/vectorstores/prisma.js +1 -303
- package/dist/vectorstores/qdrant.cjs +15 -195
- package/dist/vectorstores/qdrant.d.ts +1 -95
- package/dist/vectorstores/qdrant.js +1 -193
- package/dist/vectorstores/redis.cjs +15 -333
- package/dist/vectorstores/redis.d.ts +1 -186
- package/dist/vectorstores/redis.js +1 -331
- package/dist/vectorstores/rockset.cjs +15 -351
- package/dist/vectorstores/rockset.d.ts +1 -202
- package/dist/vectorstores/rockset.js +1 -347
- package/dist/vectorstores/singlestore.cjs +15 -220
- package/dist/vectorstores/singlestore.d.ts +1 -88
- package/dist/vectorstores/singlestore.js +1 -218
- package/dist/vectorstores/supabase.cjs +15 -217
- package/dist/vectorstores/supabase.d.ts +1 -118
- package/dist/vectorstores/supabase.js +1 -215
- package/dist/vectorstores/tigris.cjs +3 -143
- package/dist/vectorstores/tigris.d.ts +1 -74
- package/dist/vectorstores/tigris.js +1 -130
- package/dist/vectorstores/typeorm.cjs +15 -259
- package/dist/vectorstores/typeorm.d.ts +1 -109
- package/dist/vectorstores/typeorm.js +1 -256
- package/dist/vectorstores/typesense.cjs +15 -223
- package/dist/vectorstores/typesense.d.ts +1 -131
- package/dist/vectorstores/typesense.js +1 -221
- package/dist/vectorstores/usearch.cjs +3 -203
- package/dist/vectorstores/usearch.d.ts +1 -85
- package/dist/vectorstores/usearch.js +1 -187
- package/dist/vectorstores/vectara.cjs +3 -409
- package/dist/vectorstores/vectara.d.ts +1 -148
- package/dist/vectorstores/vectara.js +1 -396
- package/dist/vectorstores/vercel_postgres.cjs +15 -320
- package/dist/vectorstores/vercel_postgres.d.ts +1 -145
- package/dist/vectorstores/vercel_postgres.js +1 -318
- package/dist/vectorstores/voy.cjs +15 -156
- package/dist/vectorstores/voy.d.ts +1 -73
- package/dist/vectorstores/voy.js +1 -154
- package/dist/vectorstores/weaviate.cjs +3 -347
- package/dist/vectorstores/weaviate.d.ts +1 -140
- package/dist/vectorstores/weaviate.js +1 -333
- package/dist/vectorstores/xata.cjs +15 -108
- package/dist/vectorstores/xata.d.ts +1 -70
- package/dist/vectorstores/xata.js +1 -106
- package/dist/vectorstores/zep.cjs +15 -313
- package/dist/vectorstores/zep.d.ts +1 -146
- package/dist/vectorstores/zep.js +1 -311
- package/package.json +4 -265
- package/dist/chat_models/googlevertexai/common.cjs +0 -274
- package/dist/chat_models/googlevertexai/common.d.ts +0 -123
- package/dist/chat_models/googlevertexai/common.js +0 -269
- package/dist/chat_models/iflytek_xinghuo/common.cjs +0 -340
- package/dist/chat_models/iflytek_xinghuo/common.d.ts +0 -165
- package/dist/chat_models/iflytek_xinghuo/common.js +0 -336
- package/dist/llms/googlevertexai/common.cjs +0 -168
- package/dist/llms/googlevertexai/common.d.ts +0 -82
- package/dist/llms/googlevertexai/common.js +0 -164
- package/dist/tools/gmail/base.cjs +0 -69
- package/dist/tools/gmail/base.d.ts +0 -19
- package/dist/tools/gmail/base.js +0 -65
- package/dist/tools/gmail/create_draft.cjs +0 -62
- package/dist/tools/gmail/create_draft.d.ts +0 -35
- package/dist/tools/gmail/create_draft.js +0 -58
- package/dist/tools/gmail/descriptions.cjs +0 -118
- package/dist/tools/gmail/descriptions.d.ts +0 -5
- package/dist/tools/gmail/descriptions.js +0 -115
- package/dist/tools/gmail/get_message.cjs +0 -83
- package/dist/tools/gmail/get_message.d.ts +0 -18
- package/dist/tools/gmail/get_message.js +0 -79
- package/dist/tools/gmail/get_thread.cjs +0 -89
- package/dist/tools/gmail/get_thread.d.ts +0 -18
- package/dist/tools/gmail/get_thread.js +0 -85
- package/dist/tools/gmail/search.cjs +0 -118
- package/dist/tools/gmail/search.d.ts +0 -29
- package/dist/tools/gmail/search.js +0 -114
- package/dist/tools/gmail/send_message.cjs +0 -74
- package/dist/tools/gmail/send_message.d.ts +0 -35
- package/dist/tools/gmail/send_message.js +0 -70
- package/dist/util/chunk.cjs +0 -11
- package/dist/util/chunk.d.ts +0 -1
- package/dist/util/chunk.js +0 -7
- package/dist/util/googlevertexai-gauth.cjs +0 -36
- package/dist/util/googlevertexai-gauth.d.ts +0 -8
- package/dist/util/googlevertexai-gauth.js +0 -32
- package/dist/util/googlevertexai-webauth.cjs +0 -96
- package/dist/util/googlevertexai-webauth.d.ts +0 -22
- package/dist/util/googlevertexai-webauth.js +0 -92
- package/dist/util/iflytek_websocket_stream.cjs +0 -81
- package/dist/util/iflytek_websocket_stream.d.ts +0 -27
- package/dist/util/iflytek_websocket_stream.js +0 -77
- package/dist/util/llama_cpp.cjs +0 -34
- package/dist/util/llama_cpp.d.ts +0 -46
- package/dist/util/llama_cpp.js +0 -28
- package/dist/util/momento.cjs +0 -26
- package/dist/util/momento.d.ts +0 -9
- package/dist/util/momento.js +0 -22
- package/dist/util/openai-format-fndef.cjs +0 -81
- package/dist/util/openai-format-fndef.d.ts +0 -44
- package/dist/util/openai-format-fndef.js +0 -77
- package/dist/util/openai.cjs +0 -21
- package/dist/util/openai.d.ts +0 -1
- package/dist/util/openai.js +0 -17
- package/dist/vectorstores/closevector/common.cjs +0 -128
- package/dist/vectorstores/closevector/common.d.ts +0 -82
- package/dist/vectorstores/closevector/common.js +0 -124
package/dist/tools/searchapi.js
CHANGED
|
@@ -1,162 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { Tool } from "./base.js";
|
|
3
|
-
function isJSONObject(value) {
|
|
4
|
-
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* SearchApi Class Definition.
|
|
8
|
-
*
|
|
9
|
-
* Provides a wrapper around the SearchApi.
|
|
10
|
-
*
|
|
11
|
-
* Ensure you've set the SEARCHAPI_API_KEY environment variable for authentication.
|
|
12
|
-
* You can obtain a free API key from https://www.searchapi.io/.
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const searchApi = new SearchApi("your-api-key", {
|
|
16
|
-
* engine: "google_news",
|
|
17
|
-
* });
|
|
18
|
-
* const agent = RunnableSequence.from([
|
|
19
|
-
* ChatPromptTemplate.fromMessages([
|
|
20
|
-
* ["ai", "Answer the following questions using a bulleted list markdown format.""],
|
|
21
|
-
* ["human", "{input}"],
|
|
22
|
-
* ]),
|
|
23
|
-
* new ChatOpenAI({ temperature: 0 }),
|
|
24
|
-
* (input: BaseMessageChunk) => ({
|
|
25
|
-
* log: "test",
|
|
26
|
-
* returnValues: {
|
|
27
|
-
* output: input,
|
|
28
|
-
* },
|
|
29
|
-
* }),
|
|
30
|
-
* ]);
|
|
31
|
-
* const executor = AgentExecutor.fromAgentAndTools({
|
|
32
|
-
* agent,
|
|
33
|
-
* tools: [searchApi],
|
|
34
|
-
* });
|
|
35
|
-
* const res = await executor.invoke({
|
|
36
|
-
* input: "What's happening in Ukraine today?"",
|
|
37
|
-
* });
|
|
38
|
-
* console.log(res);
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
export class SearchApi extends Tool {
|
|
42
|
-
static lc_name() {
|
|
43
|
-
return "SearchApi";
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Converts the SearchApi instance to JSON. This method is not implemented
|
|
47
|
-
* and will throw an error if called.
|
|
48
|
-
* @returns Throws an error.
|
|
49
|
-
*/
|
|
50
|
-
toJSON() {
|
|
51
|
-
return this.toJSONNotImplemented();
|
|
52
|
-
}
|
|
53
|
-
constructor(apiKey = getEnvironmentVariable("SEARCHAPI_API_KEY"), params = {}) {
|
|
54
|
-
super(...arguments);
|
|
55
|
-
Object.defineProperty(this, "apiKey", {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
configurable: true,
|
|
58
|
-
writable: true,
|
|
59
|
-
value: void 0
|
|
60
|
-
});
|
|
61
|
-
Object.defineProperty(this, "params", {
|
|
62
|
-
enumerable: true,
|
|
63
|
-
configurable: true,
|
|
64
|
-
writable: true,
|
|
65
|
-
value: void 0
|
|
66
|
-
});
|
|
67
|
-
Object.defineProperty(this, "name", {
|
|
68
|
-
enumerable: true,
|
|
69
|
-
configurable: true,
|
|
70
|
-
writable: true,
|
|
71
|
-
value: "search"
|
|
72
|
-
});
|
|
73
|
-
Object.defineProperty(this, "description", {
|
|
74
|
-
enumerable: true,
|
|
75
|
-
configurable: true,
|
|
76
|
-
writable: true,
|
|
77
|
-
value: "a search engine. useful for when you need to answer questions about current events. input should be a search query."
|
|
78
|
-
});
|
|
79
|
-
if (!apiKey) {
|
|
80
|
-
throw new Error("SearchApi requires an API key. Please set it as SEARCHAPI_API_KEY in your .env file, or pass it as a parameter to the SearchApi constructor.");
|
|
81
|
-
}
|
|
82
|
-
this.apiKey = apiKey;
|
|
83
|
-
this.params = params;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Builds a URL for the SearchApi request.
|
|
87
|
-
* @param parameters The parameters for the request.
|
|
88
|
-
* @returns A string representing the built URL.
|
|
89
|
-
*/
|
|
90
|
-
buildUrl(searchQuery) {
|
|
91
|
-
const preparedParams = Object.entries({
|
|
92
|
-
engine: "google",
|
|
93
|
-
api_key: this.apiKey,
|
|
94
|
-
...this.params,
|
|
95
|
-
q: searchQuery,
|
|
96
|
-
})
|
|
97
|
-
.filter(([key, value]) => value !== undefined && value !== null && key !== "apiKey")
|
|
98
|
-
.map(([key, value]) => [key, `${value}`]);
|
|
99
|
-
const searchParams = new URLSearchParams(preparedParams);
|
|
100
|
-
return `https://www.searchapi.io/api/v1/search?${searchParams}`;
|
|
101
|
-
}
|
|
102
|
-
/** @ignore */
|
|
103
|
-
/**
|
|
104
|
-
* Calls the SearchAPI.
|
|
105
|
-
*
|
|
106
|
-
* Accepts an input query and fetches the result from SearchApi.
|
|
107
|
-
*
|
|
108
|
-
* @param {string} input - Search query.
|
|
109
|
-
* @returns {string} - Formatted search results or an error message.
|
|
110
|
-
*
|
|
111
|
-
* NOTE: This method is the core search handler and processes various types
|
|
112
|
-
* of search results including Google organic results, videos, jobs, and images.
|
|
113
|
-
*/
|
|
114
|
-
async _call(input) {
|
|
115
|
-
const resp = await fetch(this.buildUrl(input));
|
|
116
|
-
const json = await resp.json();
|
|
117
|
-
if (json.error) {
|
|
118
|
-
throw new Error(`Failed to load search results from SearchApi due to: ${json.error}`);
|
|
119
|
-
}
|
|
120
|
-
// Google Search results
|
|
121
|
-
if (json.answer_box?.answer) {
|
|
122
|
-
return json.answer_box.answer;
|
|
123
|
-
}
|
|
124
|
-
if (json.answer_box?.snippet) {
|
|
125
|
-
return json.answer_box.snippet;
|
|
126
|
-
}
|
|
127
|
-
if (json.knowledge_graph?.description) {
|
|
128
|
-
return json.knowledge_graph.description;
|
|
129
|
-
}
|
|
130
|
-
// Organic results (Google, Google News)
|
|
131
|
-
if (json.organic_results) {
|
|
132
|
-
const snippets = json.organic_results
|
|
133
|
-
.filter((r) => r.snippet)
|
|
134
|
-
.map((r) => r.snippet);
|
|
135
|
-
return snippets.join("\n");
|
|
136
|
-
}
|
|
137
|
-
// Google Jobs results
|
|
138
|
-
if (json.jobs) {
|
|
139
|
-
const jobDescriptions = json.jobs
|
|
140
|
-
.slice(0, 1)
|
|
141
|
-
.filter((r) => r.description)
|
|
142
|
-
.map((r) => r.description);
|
|
143
|
-
return jobDescriptions.join("\n");
|
|
144
|
-
}
|
|
145
|
-
// Google Videos results
|
|
146
|
-
if (json.videos) {
|
|
147
|
-
const videoInfo = json.videos
|
|
148
|
-
.filter((r) => r.title && r.link)
|
|
149
|
-
.map((r) => `Title: "${r.title}" Link: ${r.link}`);
|
|
150
|
-
return videoInfo.join("\n");
|
|
151
|
-
}
|
|
152
|
-
// Google Images results
|
|
153
|
-
if (json.images) {
|
|
154
|
-
const image_results = json.images.slice(0, 15);
|
|
155
|
-
const imageInfo = image_results
|
|
156
|
-
.filter((r) => r.title && r.original && isJSONObject(r.original) && r.original.link)
|
|
157
|
-
.map((r) => `Title: "${r.title}" Link: ${r.original.link}`);
|
|
158
|
-
return imageInfo.join("\n");
|
|
159
|
-
}
|
|
160
|
-
return "No good search result found";
|
|
161
|
-
}
|
|
162
|
-
}
|
|
1
|
+
export * from "@langchain/community/tools/searchapi";
|
|
@@ -1,158 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* SearxngSearch class represents a meta search engine tool.
|
|
8
|
-
* Use this class when you need to answer questions about current events.
|
|
9
|
-
* The input should be a search query, and the output is a JSON array of the query results.
|
|
10
|
-
*
|
|
11
|
-
* note: works best with *agentType*: `structured-chat-zero-shot-react-description`
|
|
12
|
-
* https://github.com/searxng/searxng
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const executor = AgentExecutor.fromAgentAndTools({
|
|
16
|
-
* agent,
|
|
17
|
-
* tools: [
|
|
18
|
-
* new SearxngSearch({
|
|
19
|
-
* params: {
|
|
20
|
-
* format: "json",
|
|
21
|
-
* engines: "google",
|
|
22
|
-
* },
|
|
23
|
-
* headers: {},
|
|
24
|
-
* }),
|
|
25
|
-
* ],
|
|
26
|
-
* });
|
|
27
|
-
* const result = await executor.invoke({
|
|
28
|
-
* input: `What is Langchain? Describe in 50 words`,
|
|
29
|
-
* });
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
class SearxngSearch extends base_js_1.Tool {
|
|
33
|
-
static lc_name() {
|
|
34
|
-
return "SearxngSearch";
|
|
35
|
-
}
|
|
36
|
-
get lc_secrets() {
|
|
37
|
-
return {
|
|
38
|
-
apiBase: "SEARXNG_API_BASE",
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Constructor for the SearxngSearch class
|
|
43
|
-
* @param apiBase Base URL of the Searxng instance
|
|
44
|
-
* @param params SearxNG parameters
|
|
45
|
-
* @param headers Custom headers
|
|
46
|
-
*/
|
|
47
|
-
constructor({ apiBase, params, headers, }) {
|
|
48
|
-
super(...arguments);
|
|
49
|
-
Object.defineProperty(this, "name", {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
configurable: true,
|
|
52
|
-
writable: true,
|
|
53
|
-
value: "searxng-search"
|
|
54
|
-
});
|
|
55
|
-
Object.defineProperty(this, "description", {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
configurable: true,
|
|
58
|
-
writable: true,
|
|
59
|
-
value: "A meta search engine. Useful for when you need to answer questions about current events. Input should be a search query. Output is a JSON array of the query results"
|
|
60
|
-
});
|
|
61
|
-
Object.defineProperty(this, "apiBase", {
|
|
62
|
-
enumerable: true,
|
|
63
|
-
configurable: true,
|
|
64
|
-
writable: true,
|
|
65
|
-
value: void 0
|
|
66
|
-
});
|
|
67
|
-
Object.defineProperty(this, "params", {
|
|
68
|
-
enumerable: true,
|
|
69
|
-
configurable: true,
|
|
70
|
-
writable: true,
|
|
71
|
-
value: {
|
|
72
|
-
numResults: 10,
|
|
73
|
-
pageNumber: 1,
|
|
74
|
-
format: "json",
|
|
75
|
-
imageProxy: true,
|
|
76
|
-
safesearch: 0,
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
Object.defineProperty(this, "headers", {
|
|
80
|
-
enumerable: true,
|
|
81
|
-
configurable: true,
|
|
82
|
-
writable: true,
|
|
83
|
-
value: void 0
|
|
84
|
-
});
|
|
85
|
-
this.apiBase = (0, env_js_1.getEnvironmentVariable)("SEARXNG_API_BASE") || apiBase;
|
|
86
|
-
this.headers = { "content-type": "application/json", ...headers };
|
|
87
|
-
if (!this.apiBase) {
|
|
88
|
-
throw new Error(`SEARXNG_API_BASE not set. You can set it as "SEARXNG_API_BASE" in your environment variables.`);
|
|
89
|
-
}
|
|
90
|
-
if (params) {
|
|
91
|
-
this.params = { ...this.params, ...params };
|
|
92
|
-
}
|
|
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]; } };
|
|
93
7
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
.map(([key, value]) => [key, value.toString()]); // Avoid string conversion
|
|
105
|
-
const searchParams = new URLSearchParams(nonUndefinedParams);
|
|
106
|
-
return `${baseUrl}/${path}?${searchParams}`;
|
|
107
|
-
}
|
|
108
|
-
async _call(input) {
|
|
109
|
-
const queryParams = {
|
|
110
|
-
q: input,
|
|
111
|
-
...this.params,
|
|
112
|
-
};
|
|
113
|
-
const url = this.buildUrl("search", queryParams, this.apiBase);
|
|
114
|
-
const resp = await fetch(url, {
|
|
115
|
-
method: "POST",
|
|
116
|
-
headers: this.headers,
|
|
117
|
-
signal: AbortSignal.timeout(5 * 1000), // 5 seconds
|
|
118
|
-
});
|
|
119
|
-
if (!resp.ok) {
|
|
120
|
-
throw new Error(resp.statusText);
|
|
121
|
-
}
|
|
122
|
-
const res = await resp.json();
|
|
123
|
-
if (!res.results.length &&
|
|
124
|
-
!res.answers.length &&
|
|
125
|
-
!res.infoboxes.length &&
|
|
126
|
-
!res.suggestions.length) {
|
|
127
|
-
return "No good results found.";
|
|
128
|
-
}
|
|
129
|
-
else if (res.results.length) {
|
|
130
|
-
const response = [];
|
|
131
|
-
res.results.forEach((r) => {
|
|
132
|
-
response.push(JSON.stringify({
|
|
133
|
-
title: r.title || "",
|
|
134
|
-
link: r.url || "",
|
|
135
|
-
snippet: r.content || "",
|
|
136
|
-
}));
|
|
137
|
-
});
|
|
138
|
-
return response.slice(0, this.params?.numResults).toString();
|
|
139
|
-
}
|
|
140
|
-
else if (res.answers.length) {
|
|
141
|
-
return res.answers[0];
|
|
142
|
-
}
|
|
143
|
-
else if (res.infoboxes.length) {
|
|
144
|
-
return res.infoboxes[0]?.content.replaceAll(/<[^>]+>/gi, "");
|
|
145
|
-
}
|
|
146
|
-
else if (res.suggestions.length) {
|
|
147
|
-
let suggestions = "Suggestions: ";
|
|
148
|
-
res.suggestions.forEach((s) => {
|
|
149
|
-
suggestions += `${s}, `;
|
|
150
|
-
});
|
|
151
|
-
return suggestions;
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
return "No good results found.";
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
exports.SearxngSearch = SearxngSearch;
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("@langchain/community/tools/searxng_search"), exports);
|
|
@@ -1,114 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* Interface for custom headers used in the Searxng search.
|
|
4
|
-
*/
|
|
5
|
-
interface SearxngCustomHeaders {
|
|
6
|
-
[key: string]: string;
|
|
7
|
-
}
|
|
8
|
-
interface SearxngSearchParams {
|
|
9
|
-
/**
|
|
10
|
-
* @default 10
|
|
11
|
-
* Number of results included in results
|
|
12
|
-
*/
|
|
13
|
-
numResults?: number;
|
|
14
|
-
/** Comma separated list, specifies the active search categories
|
|
15
|
-
* https://docs.searxng.org/user/configured_engines.html#configured-engines
|
|
16
|
-
*/
|
|
17
|
-
categories?: string;
|
|
18
|
-
/** Comma separated list, specifies the active search engines
|
|
19
|
-
* https://docs.searxng.org/user/configured_engines.html#configured-engines
|
|
20
|
-
*/
|
|
21
|
-
engines?: string;
|
|
22
|
-
/** Code of the language. */
|
|
23
|
-
language?: string;
|
|
24
|
-
/** Search page number. */
|
|
25
|
-
pageNumber?: number;
|
|
26
|
-
/**
|
|
27
|
-
* day / month / year
|
|
28
|
-
*
|
|
29
|
-
* Time range of search for engines which support it. See if an engine supports time range search in the preferences page of an instance.
|
|
30
|
-
*/
|
|
31
|
-
timeRange?: number;
|
|
32
|
-
/**
|
|
33
|
-
* Throws Error if format is set anything other than "json"
|
|
34
|
-
* Output format of results. Format needs to be activated in search:
|
|
35
|
-
*/
|
|
36
|
-
format?: "json";
|
|
37
|
-
/** Open search results on new tab. */
|
|
38
|
-
resultsOnNewTab?: 0 | 1;
|
|
39
|
-
/** Proxy image results through SearXNG. */
|
|
40
|
-
imageProxy?: boolean;
|
|
41
|
-
autocomplete?: string;
|
|
42
|
-
/**
|
|
43
|
-
* Filter search results of engines which support safe search. See if an engine supports safe search in the preferences page of an instance.
|
|
44
|
-
*/
|
|
45
|
-
safesearch?: 0 | 1 | 2;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* SearxngSearch class represents a meta search engine tool.
|
|
49
|
-
* Use this class when you need to answer questions about current events.
|
|
50
|
-
* The input should be a search query, and the output is a JSON array of the query results.
|
|
51
|
-
*
|
|
52
|
-
* note: works best with *agentType*: `structured-chat-zero-shot-react-description`
|
|
53
|
-
* https://github.com/searxng/searxng
|
|
54
|
-
* @example
|
|
55
|
-
* ```typescript
|
|
56
|
-
* const executor = AgentExecutor.fromAgentAndTools({
|
|
57
|
-
* agent,
|
|
58
|
-
* tools: [
|
|
59
|
-
* new SearxngSearch({
|
|
60
|
-
* params: {
|
|
61
|
-
* format: "json",
|
|
62
|
-
* engines: "google",
|
|
63
|
-
* },
|
|
64
|
-
* headers: {},
|
|
65
|
-
* }),
|
|
66
|
-
* ],
|
|
67
|
-
* });
|
|
68
|
-
* const result = await executor.invoke({
|
|
69
|
-
* input: `What is Langchain? Describe in 50 words`,
|
|
70
|
-
* });
|
|
71
|
-
* ```
|
|
72
|
-
*/
|
|
73
|
-
export declare class SearxngSearch extends Tool {
|
|
74
|
-
static lc_name(): string;
|
|
75
|
-
name: string;
|
|
76
|
-
description: string;
|
|
77
|
-
protected apiBase?: string;
|
|
78
|
-
protected params?: SearxngSearchParams;
|
|
79
|
-
protected headers?: SearxngCustomHeaders;
|
|
80
|
-
get lc_secrets(): {
|
|
81
|
-
[key: string]: string;
|
|
82
|
-
} | undefined;
|
|
83
|
-
/**
|
|
84
|
-
* Constructor for the SearxngSearch class
|
|
85
|
-
* @param apiBase Base URL of the Searxng instance
|
|
86
|
-
* @param params SearxNG parameters
|
|
87
|
-
* @param headers Custom headers
|
|
88
|
-
*/
|
|
89
|
-
constructor({ apiBase, params, headers, }: {
|
|
90
|
-
/** Base URL of Searxng instance */
|
|
91
|
-
apiBase?: string;
|
|
92
|
-
/** SearxNG Paramerters
|
|
93
|
-
*
|
|
94
|
-
* https://docs.searxng.org/dev/search_api.html check here for more details
|
|
95
|
-
*/
|
|
96
|
-
params?: SearxngSearchParams;
|
|
97
|
-
/**
|
|
98
|
-
* Custom headers
|
|
99
|
-
* Set custom headers if you're using a api from RapidAPI (https://rapidapi.com/iamrony777/api/searxng)
|
|
100
|
-
* No headers needed for a locally self-hosted instance
|
|
101
|
-
*/
|
|
102
|
-
headers?: SearxngCustomHeaders;
|
|
103
|
-
});
|
|
104
|
-
/**
|
|
105
|
-
* Builds the URL for the Searxng search.
|
|
106
|
-
* @param path The path for the URL.
|
|
107
|
-
* @param parameters The parameters for the URL.
|
|
108
|
-
* @param baseUrl The base URL.
|
|
109
|
-
* @returns The complete URL as a string.
|
|
110
|
-
*/
|
|
111
|
-
protected buildUrl<P extends SearxngSearchParams>(path: string, parameters: P, baseUrl: string): string;
|
|
112
|
-
_call(input: string): Promise<string>;
|
|
113
|
-
}
|
|
114
|
-
export {};
|
|
1
|
+
export * from "@langchain/community/tools/searxng_search";
|
|
@@ -1,154 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { Tool } from "./base.js";
|
|
3
|
-
/**
|
|
4
|
-
* SearxngSearch class represents a meta search engine tool.
|
|
5
|
-
* Use this class when you need to answer questions about current events.
|
|
6
|
-
* The input should be a search query, and the output is a JSON array of the query results.
|
|
7
|
-
*
|
|
8
|
-
* note: works best with *agentType*: `structured-chat-zero-shot-react-description`
|
|
9
|
-
* https://github.com/searxng/searxng
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* const executor = AgentExecutor.fromAgentAndTools({
|
|
13
|
-
* agent,
|
|
14
|
-
* tools: [
|
|
15
|
-
* new SearxngSearch({
|
|
16
|
-
* params: {
|
|
17
|
-
* format: "json",
|
|
18
|
-
* engines: "google",
|
|
19
|
-
* },
|
|
20
|
-
* headers: {},
|
|
21
|
-
* }),
|
|
22
|
-
* ],
|
|
23
|
-
* });
|
|
24
|
-
* const result = await executor.invoke({
|
|
25
|
-
* input: `What is Langchain? Describe in 50 words`,
|
|
26
|
-
* });
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
export class SearxngSearch extends Tool {
|
|
30
|
-
static lc_name() {
|
|
31
|
-
return "SearxngSearch";
|
|
32
|
-
}
|
|
33
|
-
get lc_secrets() {
|
|
34
|
-
return {
|
|
35
|
-
apiBase: "SEARXNG_API_BASE",
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Constructor for the SearxngSearch class
|
|
40
|
-
* @param apiBase Base URL of the Searxng instance
|
|
41
|
-
* @param params SearxNG parameters
|
|
42
|
-
* @param headers Custom headers
|
|
43
|
-
*/
|
|
44
|
-
constructor({ apiBase, params, headers, }) {
|
|
45
|
-
super(...arguments);
|
|
46
|
-
Object.defineProperty(this, "name", {
|
|
47
|
-
enumerable: true,
|
|
48
|
-
configurable: true,
|
|
49
|
-
writable: true,
|
|
50
|
-
value: "searxng-search"
|
|
51
|
-
});
|
|
52
|
-
Object.defineProperty(this, "description", {
|
|
53
|
-
enumerable: true,
|
|
54
|
-
configurable: true,
|
|
55
|
-
writable: true,
|
|
56
|
-
value: "A meta search engine. Useful for when you need to answer questions about current events. Input should be a search query. Output is a JSON array of the query results"
|
|
57
|
-
});
|
|
58
|
-
Object.defineProperty(this, "apiBase", {
|
|
59
|
-
enumerable: true,
|
|
60
|
-
configurable: true,
|
|
61
|
-
writable: true,
|
|
62
|
-
value: void 0
|
|
63
|
-
});
|
|
64
|
-
Object.defineProperty(this, "params", {
|
|
65
|
-
enumerable: true,
|
|
66
|
-
configurable: true,
|
|
67
|
-
writable: true,
|
|
68
|
-
value: {
|
|
69
|
-
numResults: 10,
|
|
70
|
-
pageNumber: 1,
|
|
71
|
-
format: "json",
|
|
72
|
-
imageProxy: true,
|
|
73
|
-
safesearch: 0,
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
Object.defineProperty(this, "headers", {
|
|
77
|
-
enumerable: true,
|
|
78
|
-
configurable: true,
|
|
79
|
-
writable: true,
|
|
80
|
-
value: void 0
|
|
81
|
-
});
|
|
82
|
-
this.apiBase = getEnvironmentVariable("SEARXNG_API_BASE") || apiBase;
|
|
83
|
-
this.headers = { "content-type": "application/json", ...headers };
|
|
84
|
-
if (!this.apiBase) {
|
|
85
|
-
throw new Error(`SEARXNG_API_BASE not set. You can set it as "SEARXNG_API_BASE" in your environment variables.`);
|
|
86
|
-
}
|
|
87
|
-
if (params) {
|
|
88
|
-
this.params = { ...this.params, ...params };
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Builds the URL for the Searxng search.
|
|
93
|
-
* @param path The path for the URL.
|
|
94
|
-
* @param parameters The parameters for the URL.
|
|
95
|
-
* @param baseUrl The base URL.
|
|
96
|
-
* @returns The complete URL as a string.
|
|
97
|
-
*/
|
|
98
|
-
buildUrl(path, parameters, baseUrl) {
|
|
99
|
-
const nonUndefinedParams = Object.entries(parameters)
|
|
100
|
-
.filter(([_, value]) => value !== undefined)
|
|
101
|
-
.map(([key, value]) => [key, value.toString()]); // Avoid string conversion
|
|
102
|
-
const searchParams = new URLSearchParams(nonUndefinedParams);
|
|
103
|
-
return `${baseUrl}/${path}?${searchParams}`;
|
|
104
|
-
}
|
|
105
|
-
async _call(input) {
|
|
106
|
-
const queryParams = {
|
|
107
|
-
q: input,
|
|
108
|
-
...this.params,
|
|
109
|
-
};
|
|
110
|
-
const url = this.buildUrl("search", queryParams, this.apiBase);
|
|
111
|
-
const resp = await fetch(url, {
|
|
112
|
-
method: "POST",
|
|
113
|
-
headers: this.headers,
|
|
114
|
-
signal: AbortSignal.timeout(5 * 1000), // 5 seconds
|
|
115
|
-
});
|
|
116
|
-
if (!resp.ok) {
|
|
117
|
-
throw new Error(resp.statusText);
|
|
118
|
-
}
|
|
119
|
-
const res = await resp.json();
|
|
120
|
-
if (!res.results.length &&
|
|
121
|
-
!res.answers.length &&
|
|
122
|
-
!res.infoboxes.length &&
|
|
123
|
-
!res.suggestions.length) {
|
|
124
|
-
return "No good results found.";
|
|
125
|
-
}
|
|
126
|
-
else if (res.results.length) {
|
|
127
|
-
const response = [];
|
|
128
|
-
res.results.forEach((r) => {
|
|
129
|
-
response.push(JSON.stringify({
|
|
130
|
-
title: r.title || "",
|
|
131
|
-
link: r.url || "",
|
|
132
|
-
snippet: r.content || "",
|
|
133
|
-
}));
|
|
134
|
-
});
|
|
135
|
-
return response.slice(0, this.params?.numResults).toString();
|
|
136
|
-
}
|
|
137
|
-
else if (res.answers.length) {
|
|
138
|
-
return res.answers[0];
|
|
139
|
-
}
|
|
140
|
-
else if (res.infoboxes.length) {
|
|
141
|
-
return res.infoboxes[0]?.content.replaceAll(/<[^>]+>/gi, "");
|
|
142
|
-
}
|
|
143
|
-
else if (res.suggestions.length) {
|
|
144
|
-
let suggestions = "Suggestions: ";
|
|
145
|
-
res.suggestions.forEach((s) => {
|
|
146
|
-
suggestions += `${s}, `;
|
|
147
|
-
});
|
|
148
|
-
return suggestions;
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
return "No good results found.";
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
1
|
+
export * from "@langchain/community/tools/searxng_search";
|