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,77 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { Tool } from "./base.js";
|
|
3
|
-
/**
|
|
4
|
-
* Tool that queries the Google Places API
|
|
5
|
-
*/
|
|
6
|
-
export class GooglePlacesAPI extends Tool {
|
|
7
|
-
static lc_name() {
|
|
8
|
-
return "GooglePlacesAPI";
|
|
9
|
-
}
|
|
10
|
-
get lc_secrets() {
|
|
11
|
-
return {
|
|
12
|
-
apiKey: "GOOGLE_PLACES_API_KEY",
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
constructor(fields) {
|
|
16
|
-
super(...arguments);
|
|
17
|
-
Object.defineProperty(this, "name", {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
configurable: true,
|
|
20
|
-
writable: true,
|
|
21
|
-
value: "google_places"
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(this, "apiKey", {
|
|
24
|
-
enumerable: true,
|
|
25
|
-
configurable: true,
|
|
26
|
-
writable: true,
|
|
27
|
-
value: void 0
|
|
28
|
-
});
|
|
29
|
-
Object.defineProperty(this, "description", {
|
|
30
|
-
enumerable: true,
|
|
31
|
-
configurable: true,
|
|
32
|
-
writable: true,
|
|
33
|
-
value: `A wrapper around Google Places API. Useful for when you need to validate or
|
|
34
|
-
discover addresses from ambiguous text. Input should be a search query.`
|
|
35
|
-
});
|
|
36
|
-
const apiKey = fields?.apiKey ?? getEnvironmentVariable("GOOGLE_PLACES_API_KEY");
|
|
37
|
-
if (apiKey === undefined) {
|
|
38
|
-
throw new Error(`Google Places API key not set. You can set it as "GOOGLE_PLACES_API_KEY" in your environment variables.`);
|
|
39
|
-
}
|
|
40
|
-
this.apiKey = apiKey;
|
|
41
|
-
}
|
|
42
|
-
async _call(input) {
|
|
43
|
-
const res = await fetch(`https://places.googleapis.com/v1/places:searchText`, {
|
|
44
|
-
method: "POST",
|
|
45
|
-
body: JSON.stringify({
|
|
46
|
-
textQuery: input,
|
|
47
|
-
languageCode: "en",
|
|
48
|
-
}),
|
|
49
|
-
headers: {
|
|
50
|
-
"X-Goog-Api-Key": this.apiKey,
|
|
51
|
-
"X-Goog-FieldMask": "places.displayName,places.formattedAddress,places.id,places.internationalPhoneNumber,places.websiteUri",
|
|
52
|
-
"Content-Type": "application/json",
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
if (!res.ok) {
|
|
56
|
-
let message;
|
|
57
|
-
try {
|
|
58
|
-
const json = await res.json();
|
|
59
|
-
message = json.error.message;
|
|
60
|
-
}
|
|
61
|
-
catch (e) {
|
|
62
|
-
message =
|
|
63
|
-
"Unable to parse error message: Google did not return a JSON response.";
|
|
64
|
-
}
|
|
65
|
-
throw new Error(`Got ${res.status}: ${res.statusText} error from Google Places API: ${message}`);
|
|
66
|
-
}
|
|
67
|
-
const json = await res.json();
|
|
68
|
-
const results = json?.places?.map((place) => ({
|
|
69
|
-
name: place.displayName?.text,
|
|
70
|
-
id: place.id,
|
|
71
|
-
address: place.formattedAddress,
|
|
72
|
-
phoneNumber: place.internationalPhoneNumber,
|
|
73
|
-
website: place.websiteUri,
|
|
74
|
-
})) ?? [];
|
|
75
|
-
return JSON.stringify(results);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
1
|
+
export * from "@langchain/community/tools/google_places";
|
package/dist/tools/searchapi.cjs
CHANGED
|
@@ -1,166 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function
|
|
7
|
-
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* SearchApi Class Definition.
|
|
11
|
-
*
|
|
12
|
-
* Provides a wrapper around the SearchApi.
|
|
13
|
-
*
|
|
14
|
-
* Ensure you've set the SEARCHAPI_API_KEY environment variable for authentication.
|
|
15
|
-
* You can obtain a free API key from https://www.searchapi.io/.
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* const searchApi = new SearchApi("your-api-key", {
|
|
19
|
-
* engine: "google_news",
|
|
20
|
-
* });
|
|
21
|
-
* const agent = RunnableSequence.from([
|
|
22
|
-
* ChatPromptTemplate.fromMessages([
|
|
23
|
-
* ["ai", "Answer the following questions using a bulleted list markdown format.""],
|
|
24
|
-
* ["human", "{input}"],
|
|
25
|
-
* ]),
|
|
26
|
-
* new ChatOpenAI({ temperature: 0 }),
|
|
27
|
-
* (input: BaseMessageChunk) => ({
|
|
28
|
-
* log: "test",
|
|
29
|
-
* returnValues: {
|
|
30
|
-
* output: input,
|
|
31
|
-
* },
|
|
32
|
-
* }),
|
|
33
|
-
* ]);
|
|
34
|
-
* const executor = AgentExecutor.fromAgentAndTools({
|
|
35
|
-
* agent,
|
|
36
|
-
* tools: [searchApi],
|
|
37
|
-
* });
|
|
38
|
-
* const res = await executor.invoke({
|
|
39
|
-
* input: "What's happening in Ukraine today?"",
|
|
40
|
-
* });
|
|
41
|
-
* console.log(res);
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
class SearchApi extends base_js_1.Tool {
|
|
45
|
-
static lc_name() {
|
|
46
|
-
return "SearchApi";
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Converts the SearchApi instance to JSON. This method is not implemented
|
|
50
|
-
* and will throw an error if called.
|
|
51
|
-
* @returns Throws an error.
|
|
52
|
-
*/
|
|
53
|
-
toJSON() {
|
|
54
|
-
return this.toJSONNotImplemented();
|
|
55
|
-
}
|
|
56
|
-
constructor(apiKey = (0, env_js_1.getEnvironmentVariable)("SEARCHAPI_API_KEY"), params = {}) {
|
|
57
|
-
super(...arguments);
|
|
58
|
-
Object.defineProperty(this, "apiKey", {
|
|
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: void 0
|
|
69
|
-
});
|
|
70
|
-
Object.defineProperty(this, "name", {
|
|
71
|
-
enumerable: true,
|
|
72
|
-
configurable: true,
|
|
73
|
-
writable: true,
|
|
74
|
-
value: "search"
|
|
75
|
-
});
|
|
76
|
-
Object.defineProperty(this, "description", {
|
|
77
|
-
enumerable: true,
|
|
78
|
-
configurable: true,
|
|
79
|
-
writable: true,
|
|
80
|
-
value: "a search engine. useful for when you need to answer questions about current events. input should be a search query."
|
|
81
|
-
});
|
|
82
|
-
if (!apiKey) {
|
|
83
|
-
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.");
|
|
84
|
-
}
|
|
85
|
-
this.apiKey = apiKey;
|
|
86
|
-
this.params = params;
|
|
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]; } };
|
|
87
7
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
q: searchQuery,
|
|
99
|
-
})
|
|
100
|
-
.filter(([key, value]) => value !== undefined && value !== null && key !== "apiKey")
|
|
101
|
-
.map(([key, value]) => [key, `${value}`]);
|
|
102
|
-
const searchParams = new URLSearchParams(preparedParams);
|
|
103
|
-
return `https://www.searchapi.io/api/v1/search?${searchParams}`;
|
|
104
|
-
}
|
|
105
|
-
/** @ignore */
|
|
106
|
-
/**
|
|
107
|
-
* Calls the SearchAPI.
|
|
108
|
-
*
|
|
109
|
-
* Accepts an input query and fetches the result from SearchApi.
|
|
110
|
-
*
|
|
111
|
-
* @param {string} input - Search query.
|
|
112
|
-
* @returns {string} - Formatted search results or an error message.
|
|
113
|
-
*
|
|
114
|
-
* NOTE: This method is the core search handler and processes various types
|
|
115
|
-
* of search results including Google organic results, videos, jobs, and images.
|
|
116
|
-
*/
|
|
117
|
-
async _call(input) {
|
|
118
|
-
const resp = await fetch(this.buildUrl(input));
|
|
119
|
-
const json = await resp.json();
|
|
120
|
-
if (json.error) {
|
|
121
|
-
throw new Error(`Failed to load search results from SearchApi due to: ${json.error}`);
|
|
122
|
-
}
|
|
123
|
-
// Google Search results
|
|
124
|
-
if (json.answer_box?.answer) {
|
|
125
|
-
return json.answer_box.answer;
|
|
126
|
-
}
|
|
127
|
-
if (json.answer_box?.snippet) {
|
|
128
|
-
return json.answer_box.snippet;
|
|
129
|
-
}
|
|
130
|
-
if (json.knowledge_graph?.description) {
|
|
131
|
-
return json.knowledge_graph.description;
|
|
132
|
-
}
|
|
133
|
-
// Organic results (Google, Google News)
|
|
134
|
-
if (json.organic_results) {
|
|
135
|
-
const snippets = json.organic_results
|
|
136
|
-
.filter((r) => r.snippet)
|
|
137
|
-
.map((r) => r.snippet);
|
|
138
|
-
return snippets.join("\n");
|
|
139
|
-
}
|
|
140
|
-
// Google Jobs results
|
|
141
|
-
if (json.jobs) {
|
|
142
|
-
const jobDescriptions = json.jobs
|
|
143
|
-
.slice(0, 1)
|
|
144
|
-
.filter((r) => r.description)
|
|
145
|
-
.map((r) => r.description);
|
|
146
|
-
return jobDescriptions.join("\n");
|
|
147
|
-
}
|
|
148
|
-
// Google Videos results
|
|
149
|
-
if (json.videos) {
|
|
150
|
-
const videoInfo = json.videos
|
|
151
|
-
.filter((r) => r.title && r.link)
|
|
152
|
-
.map((r) => `Title: "${r.title}" Link: ${r.link}`);
|
|
153
|
-
return videoInfo.join("\n");
|
|
154
|
-
}
|
|
155
|
-
// Google Images results
|
|
156
|
-
if (json.images) {
|
|
157
|
-
const image_results = json.images.slice(0, 15);
|
|
158
|
-
const imageInfo = image_results
|
|
159
|
-
.filter((r) => r.title && r.original && isJSONObject(r.original) && r.original.link)
|
|
160
|
-
.map((r) => `Title: "${r.title}" Link: ${r.original.link}`);
|
|
161
|
-
return imageInfo.join("\n");
|
|
162
|
-
}
|
|
163
|
-
return "No good search result found";
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
exports.SearchApi = SearchApi;
|
|
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/searchapi"), exports);
|
|
@@ -1,91 +1 @@
|
|
|
1
|
-
|
|
2
|
-
type JSONPrimitive = string | number | boolean | null;
|
|
3
|
-
type JSONValue = JSONPrimitive | JSONObject | JSONArray;
|
|
4
|
-
interface JSONObject {
|
|
5
|
-
[key: string]: JSONValue;
|
|
6
|
-
}
|
|
7
|
-
interface JSONArray extends Array<JSONValue> {
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* SearchApiParameters Type Definition.
|
|
11
|
-
*
|
|
12
|
-
* For more parameters and supported search engines, refer specific engine documentation:
|
|
13
|
-
* Google - https://www.searchapi.io/docs/google
|
|
14
|
-
* Google News - https://www.searchapi.io/docs/google-news
|
|
15
|
-
* Google Scholar - https://www.searchapi.io/docs/google-scholar
|
|
16
|
-
* YouTube Transcripts - https://www.searchapi.io/docs/youtube-transcripts
|
|
17
|
-
* and others.
|
|
18
|
-
*
|
|
19
|
-
*/
|
|
20
|
-
export type SearchApiParameters = {
|
|
21
|
-
[key: string]: JSONValue;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* SearchApi Class Definition.
|
|
25
|
-
*
|
|
26
|
-
* Provides a wrapper around the SearchApi.
|
|
27
|
-
*
|
|
28
|
-
* Ensure you've set the SEARCHAPI_API_KEY environment variable for authentication.
|
|
29
|
-
* You can obtain a free API key from https://www.searchapi.io/.
|
|
30
|
-
* @example
|
|
31
|
-
* ```typescript
|
|
32
|
-
* const searchApi = new SearchApi("your-api-key", {
|
|
33
|
-
* engine: "google_news",
|
|
34
|
-
* });
|
|
35
|
-
* const agent = RunnableSequence.from([
|
|
36
|
-
* ChatPromptTemplate.fromMessages([
|
|
37
|
-
* ["ai", "Answer the following questions using a bulleted list markdown format.""],
|
|
38
|
-
* ["human", "{input}"],
|
|
39
|
-
* ]),
|
|
40
|
-
* new ChatOpenAI({ temperature: 0 }),
|
|
41
|
-
* (input: BaseMessageChunk) => ({
|
|
42
|
-
* log: "test",
|
|
43
|
-
* returnValues: {
|
|
44
|
-
* output: input,
|
|
45
|
-
* },
|
|
46
|
-
* }),
|
|
47
|
-
* ]);
|
|
48
|
-
* const executor = AgentExecutor.fromAgentAndTools({
|
|
49
|
-
* agent,
|
|
50
|
-
* tools: [searchApi],
|
|
51
|
-
* });
|
|
52
|
-
* const res = await executor.invoke({
|
|
53
|
-
* input: "What's happening in Ukraine today?"",
|
|
54
|
-
* });
|
|
55
|
-
* console.log(res);
|
|
56
|
-
* ```
|
|
57
|
-
*/
|
|
58
|
-
export declare class SearchApi extends Tool {
|
|
59
|
-
static lc_name(): string;
|
|
60
|
-
/**
|
|
61
|
-
* Converts the SearchApi instance to JSON. This method is not implemented
|
|
62
|
-
* and will throw an error if called.
|
|
63
|
-
* @returns Throws an error.
|
|
64
|
-
*/
|
|
65
|
-
toJSON(): import("@langchain/core/load/serializable").SerializedNotImplemented;
|
|
66
|
-
protected apiKey: string;
|
|
67
|
-
protected params: Partial<SearchApiParameters>;
|
|
68
|
-
constructor(apiKey?: string | undefined, params?: Partial<SearchApiParameters>);
|
|
69
|
-
name: string;
|
|
70
|
-
/**
|
|
71
|
-
* Builds a URL for the SearchApi request.
|
|
72
|
-
* @param parameters The parameters for the request.
|
|
73
|
-
* @returns A string representing the built URL.
|
|
74
|
-
*/
|
|
75
|
-
protected buildUrl(searchQuery: string): string;
|
|
76
|
-
/** @ignore */
|
|
77
|
-
/**
|
|
78
|
-
* Calls the SearchAPI.
|
|
79
|
-
*
|
|
80
|
-
* Accepts an input query and fetches the result from SearchApi.
|
|
81
|
-
*
|
|
82
|
-
* @param {string} input - Search query.
|
|
83
|
-
* @returns {string} - Formatted search results or an error message.
|
|
84
|
-
*
|
|
85
|
-
* NOTE: This method is the core search handler and processes various types
|
|
86
|
-
* of search results including Google organic results, videos, jobs, and images.
|
|
87
|
-
*/
|
|
88
|
-
_call(input: string): Promise<any>;
|
|
89
|
-
description: string;
|
|
90
|
-
}
|
|
91
|
-
export {};
|
|
1
|
+
export * from "@langchain/community/tools/searchapi";
|
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);
|