@langchain/core 0.3.71 → 1.0.0-alpha.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/README.md +3 -3
- package/dist/_virtual/rolldown_runtime.cjs +32 -0
- package/dist/_virtual/rolldown_runtime.js +11 -0
- package/dist/agents.cjs +12 -2
- package/dist/agents.cjs.map +1 -0
- package/dist/agents.d.cts +19 -0
- package/dist/agents.d.cts.map +1 -0
- package/dist/agents.d.ts +16 -10
- package/dist/agents.d.ts.map +1 -0
- package/dist/agents.js +6 -1
- package/dist/agents.js.map +1 -0
- package/dist/caches/base.cjs +99 -104
- package/dist/caches/base.cjs.map +1 -0
- package/dist/caches/base.d.cts +83 -0
- package/dist/caches/base.d.cts.map +1 -0
- package/dist/caches/base.d.ts +60 -45
- package/dist/caches/base.d.ts.map +1 -0
- package/dist/caches/base.js +91 -98
- package/dist/caches/base.js.map +1 -0
- package/dist/callbacks/base.cjs +112 -185
- package/dist/callbacks/base.cjs.map +1 -0
- package/dist/callbacks/base.d.cts +318 -0
- package/dist/callbacks/base.d.cts.map +1 -0
- package/dist/callbacks/base.d.ts +234 -222
- package/dist/callbacks/base.d.ts.map +1 -0
- package/dist/callbacks/base.js +107 -149
- package/dist/callbacks/base.js.map +1 -0
- package/dist/callbacks/dispatch/index.cjs +56 -46
- package/dist/callbacks/dispatch/index.cjs.map +1 -0
- package/dist/callbacks/dispatch/index.d.cts +43 -0
- package/dist/callbacks/dispatch/index.d.cts.map +1 -0
- package/dist/callbacks/dispatch/index.d.ts +10 -2
- package/dist/callbacks/dispatch/index.d.ts.map +1 -0
- package/dist/callbacks/dispatch/index.js +48 -41
- package/dist/callbacks/dispatch/index.js.map +1 -0
- package/dist/callbacks/dispatch/web.cjs +60 -56
- package/dist/callbacks/dispatch/web.cjs.map +1 -0
- package/dist/callbacks/dispatch/web.d.cts +40 -0
- package/dist/callbacks/dispatch/web.d.cts.map +1 -0
- package/dist/callbacks/dispatch/web.d.ts +10 -2
- package/dist/callbacks/dispatch/web.d.ts.map +1 -0
- package/dist/callbacks/dispatch/web.js +54 -53
- package/dist/callbacks/dispatch/web.js.map +1 -0
- package/dist/callbacks/manager.cjs +580 -877
- package/dist/callbacks/manager.cjs.map +1 -0
- package/dist/callbacks/manager.d.cts +192 -0
- package/dist/callbacks/manager.d.cts.map +1 -0
- package/dist/callbacks/manager.d.ts +146 -133
- package/dist/callbacks/manager.d.ts.map +1 -0
- package/dist/callbacks/manager.js +564 -863
- package/dist/callbacks/manager.js.map +1 -0
- package/dist/callbacks/promises.cjs +20 -6
- package/dist/callbacks/promises.cjs.map +1 -0
- package/dist/callbacks/promises.d.cts +2 -0
- package/dist/callbacks/promises.d.ts +1 -1
- package/dist/callbacks/promises.js +12 -1
- package/dist/callbacks/promises.js.map +1 -0
- package/dist/chat_history.cjs +126 -119
- package/dist/chat_history.cjs.map +1 -0
- package/dist/chat_history.d.cts +99 -0
- package/dist/chat_history.d.cts.map +1 -0
- package/dist/chat_history.d.ts +82 -75
- package/dist/chat_history.d.ts.map +1 -0
- package/dist/chat_history.js +118 -113
- package/dist/chat_history.js.map +1 -0
- package/dist/context.cjs +29 -18
- package/dist/context.cjs.map +1 -0
- package/dist/context.d.cts +7 -0
- package/dist/context.d.cts.map +1 -0
- package/dist/context.d.ts +7 -2
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +18 -11
- package/dist/context.js.map +1 -0
- package/dist/document_loaders/base.cjs +31 -22
- package/dist/document_loaders/base.cjs.map +1 -0
- package/dist/document_loaders/base.d.cts +34 -0
- package/dist/document_loaders/base.d.cts.map +1 -0
- package/dist/document_loaders/base.d.ts +22 -16
- package/dist/document_loaders/base.d.ts.map +1 -0
- package/dist/document_loaders/base.js +26 -19
- package/dist/document_loaders/base.js.map +1 -0
- package/dist/document_loaders/langsmith.cjs +128 -195
- package/dist/document_loaders/langsmith.cjs.map +1 -0
- package/dist/document_loaders/langsmith.d.cts +103 -0
- package/dist/document_loaders/langsmith.d.cts.map +1 -0
- package/dist/document_loaders/langsmith.d.ts +52 -45
- package/dist/document_loaders/langsmith.d.ts.map +1 -0
- package/dist/document_loaders/langsmith.js +121 -190
- package/dist/document_loaders/langsmith.js.map +1 -0
- package/dist/documents/document.cjs +23 -40
- package/dist/documents/document.cjs.map +1 -0
- package/dist/documents/document.d.cts +50 -0
- package/dist/documents/document.d.cts.map +1 -0
- package/dist/documents/document.d.ts +44 -31
- package/dist/documents/document.d.ts.map +1 -0
- package/dist/documents/document.js +23 -37
- package/dist/documents/document.js.map +1 -0
- package/dist/documents/index.cjs +23 -18
- package/dist/documents/index.cjs.map +1 -0
- package/dist/documents/index.d.cts +3 -0
- package/dist/documents/index.d.ts +3 -2
- package/dist/documents/index.js +15 -2
- package/dist/documents/index.js.map +1 -0
- package/dist/documents/transformers.cjs +46 -48
- package/dist/documents/transformers.cjs.map +1 -0
- package/dist/documents/transformers.d.cts +44 -0
- package/dist/documents/transformers.d.cts.map +1 -0
- package/dist/documents/transformers.d.ts +27 -21
- package/dist/documents/transformers.d.ts.map +1 -0
- package/dist/documents/transformers.js +45 -43
- package/dist/documents/transformers.js.map +1 -0
- package/dist/embeddings.cjs +28 -22
- package/dist/embeddings.cjs.map +1 -0
- package/dist/embeddings.d.cts +56 -0
- package/dist/embeddings.d.cts.map +1 -0
- package/dist/embeddings.d.ts +45 -39
- package/dist/embeddings.d.ts.map +1 -0
- package/dist/embeddings.js +22 -18
- package/dist/embeddings.js.map +1 -0
- package/dist/errors/index.cjs +9 -8
- package/dist/errors/index.cjs.map +1 -0
- package/dist/errors/index.js +9 -6
- package/dist/errors/index.js.map +1 -0
- package/dist/example_selectors/base.cjs +15 -17
- package/dist/example_selectors/base.cjs.map +1 -0
- package/dist/example_selectors/base.d.cts +26 -0
- package/dist/example_selectors/base.d.cts.map +1 -0
- package/dist/example_selectors/base.d.ts +21 -15
- package/dist/example_selectors/base.d.ts.map +1 -0
- package/dist/example_selectors/base.js +15 -13
- package/dist/example_selectors/base.js.map +1 -0
- package/dist/example_selectors/conditional.cjs +56 -68
- package/dist/example_selectors/conditional.cjs.map +1 -0
- package/dist/example_selectors/conditional.d.cts +62 -0
- package/dist/example_selectors/conditional.d.cts.map +1 -0
- package/dist/example_selectors/conditional.d.ts +42 -43
- package/dist/example_selectors/conditional.d.ts.map +1 -0
- package/dist/example_selectors/conditional.js +54 -63
- package/dist/example_selectors/conditional.js.map +1 -0
- package/dist/example_selectors/index.cjs +33 -20
- package/dist/example_selectors/index.cjs.map +1 -0
- package/dist/example_selectors/index.d.cts +5 -0
- package/dist/example_selectors/index.d.ts +5 -4
- package/dist/example_selectors/index.js +21 -4
- package/dist/example_selectors/index.js.map +1 -0
- package/dist/example_selectors/length_based.cjs +118 -145
- package/dist/example_selectors/length_based.cjs.map +1 -0
- package/dist/example_selectors/length_based.d.cts +95 -0
- package/dist/example_selectors/length_based.d.cts.map +1 -0
- package/dist/example_selectors/length_based.d.ts +45 -39
- package/dist/example_selectors/length_based.d.ts.map +1 -0
- package/dist/example_selectors/length_based.js +118 -141
- package/dist/example_selectors/length_based.js.map +1 -0
- package/dist/example_selectors/semantic_similarity.cjs +118 -135
- package/dist/example_selectors/semantic_similarity.cjs.map +1 -0
- package/dist/example_selectors/semantic_similarity.d.cts +97 -0
- package/dist/example_selectors/semantic_similarity.d.cts.map +1 -0
- package/dist/example_selectors/semantic_similarity.d.ts +59 -53
- package/dist/example_selectors/semantic_similarity.d.ts.map +1 -0
- package/dist/example_selectors/semantic_similarity.js +117 -130
- package/dist/example_selectors/semantic_similarity.js.map +1 -0
- package/dist/index.cjs +13 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/indexing/base.cjs +207 -272
- package/dist/indexing/base.cjs.map +1 -0
- package/dist/indexing/base.d.cts +125 -0
- package/dist/indexing/base.d.cts.map +1 -0
- package/dist/indexing/base.d.ts +88 -80
- package/dist/indexing/base.d.ts.map +1 -0
- package/dist/indexing/base.js +205 -267
- package/dist/indexing/base.js.map +1 -0
- package/dist/indexing/index.cjs +33 -18
- package/dist/indexing/index.cjs.map +1 -0
- package/dist/indexing/index.d.cts +3 -0
- package/dist/indexing/index.d.ts +3 -2
- package/dist/indexing/index.js +20 -2
- package/dist/indexing/index.js.map +1 -0
- package/dist/indexing/record_manager.cjs +11 -17
- package/dist/indexing/record_manager.cjs.map +1 -0
- package/dist/indexing/record_manager.d.cts +70 -0
- package/dist/indexing/record_manager.d.cts.map +1 -0
- package/dist/indexing/record_manager.d.ts +65 -59
- package/dist/indexing/record_manager.d.ts.map +1 -0
- package/dist/indexing/record_manager.js +10 -13
- package/dist/indexing/record_manager.js.map +1 -0
- package/dist/language_models/base.cjs +212 -293
- package/dist/language_models/base.cjs.map +1 -0
- package/dist/language_models/base.d.cts +301 -0
- package/dist/language_models/base.d.cts.map +1 -0
- package/dist/language_models/base.d.ts +256 -212
- package/dist/language_models/base.d.ts.map +1 -0
- package/dist/language_models/base.js +202 -285
- package/dist/language_models/base.js.map +1 -0
- package/dist/language_models/chat_models.cjs +500 -622
- package/dist/language_models/chat_models.cjs.map +1 -0
- package/dist/language_models/chat_models.d.cts +261 -0
- package/dist/language_models/chat_models.d.cts.map +1 -0
- package/dist/language_models/chat_models.d.ts +228 -172
- package/dist/language_models/chat_models.d.ts.map +1 -0
- package/dist/language_models/chat_models.js +492 -616
- package/dist/language_models/chat_models.js.map +1 -0
- package/dist/language_models/llms.cjs +328 -376
- package/dist/language_models/llms.cjs.map +1 -0
- package/dist/language_models/llms.d.cts +149 -0
- package/dist/language_models/llms.d.cts.map +1 -0
- package/dist/language_models/llms.d.ts +135 -115
- package/dist/language_models/llms.d.ts.map +1 -0
- package/dist/language_models/llms.js +321 -371
- package/dist/language_models/llms.js.map +1 -0
- package/dist/language_models/utils.cjs +19 -0
- package/dist/language_models/utils.cjs.map +1 -0
- package/dist/language_models/utils.js +17 -0
- package/dist/language_models/utils.js.map +1 -0
- package/dist/load/import_constants.cjs +7 -5
- package/dist/load/import_constants.cjs.map +1 -0
- package/dist/load/import_constants.js +6 -2
- package/dist/load/import_constants.js.map +1 -0
- package/dist/load/import_map.cjs +138 -79
- package/dist/load/import_map.cjs.map +1 -0
- package/dist/load/import_map.js +134 -44
- package/dist/load/import_map.js.map +1 -0
- package/dist/load/import_type.d.cts +7 -0
- package/dist/load/import_type.d.cts.map +1 -0
- package/dist/load/import_type.d.ts +7 -4
- package/dist/load/import_type.d.ts.map +1 -0
- package/dist/load/index.cjs +85 -192
- package/dist/load/index.cjs.map +1 -0
- package/dist/load/index.d.cts +12 -0
- package/dist/load/index.d.cts.map +1 -0
- package/dist/load/index.d.ts +11 -6
- package/dist/load/index.d.ts.map +1 -0
- package/dist/load/index.js +84 -155
- package/dist/load/index.js.map +1 -0
- package/dist/load/map_keys.cjs +16 -19
- package/dist/load/map_keys.cjs.map +1 -0
- package/dist/load/map_keys.d.cts +8 -0
- package/dist/load/map_keys.d.cts.map +1 -0
- package/dist/load/map_keys.d.ts +7 -8
- package/dist/load/map_keys.d.ts.map +1 -0
- package/dist/load/map_keys.js +14 -12
- package/dist/load/map_keys.js.map +1 -0
- package/dist/load/serializable.cjs +143 -185
- package/dist/load/serializable.cjs.map +1 -0
- package/dist/load/serializable.d.cts +82 -0
- package/dist/load/serializable.d.cts.map +1 -0
- package/dist/load/serializable.d.ts +74 -68
- package/dist/load/serializable.d.ts.map +1 -0
- package/dist/load/serializable.js +136 -180
- package/dist/load/serializable.js.map +1 -0
- package/dist/memory.cjs +60 -51
- package/dist/memory.cjs.map +1 -0
- package/dist/memory.d.cts +69 -0
- package/dist/memory.d.cts.map +1 -0
- package/dist/memory.d.ts +34 -27
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +54 -47
- package/dist/memory.js.map +1 -0
- package/dist/messages/ai.cjs +280 -333
- package/dist/messages/ai.cjs.map +1 -0
- package/dist/messages/ai.d.cts +148 -0
- package/dist/messages/ai.d.cts.map +1 -0
- package/dist/messages/ai.d.ts +119 -107
- package/dist/messages/ai.d.ts.map +1 -0
- package/dist/messages/ai.js +279 -328
- package/dist/messages/ai.js.map +1 -0
- package/dist/messages/base.cjs +225 -364
- package/dist/messages/base.cjs.map +1 -0
- package/dist/messages/base.d.cts +188 -0
- package/dist/messages/base.d.cts.map +1 -0
- package/dist/messages/base.d.ts +147 -147
- package/dist/messages/base.d.ts.map +1 -0
- package/dist/messages/base.js +222 -357
- package/dist/messages/base.js.map +1 -0
- package/dist/messages/block_translators/anthropic.cjs +320 -0
- package/dist/messages/block_translators/anthropic.cjs.map +1 -0
- package/dist/messages/block_translators/anthropic.js +319 -0
- package/dist/messages/block_translators/anthropic.js.map +1 -0
- package/dist/messages/block_translators/data.cjs +71 -0
- package/dist/messages/block_translators/data.cjs.map +1 -0
- package/dist/messages/block_translators/data.js +69 -0
- package/dist/messages/block_translators/data.js.map +1 -0
- package/dist/messages/block_translators/index.cjs +12 -0
- package/dist/messages/block_translators/index.cjs.map +1 -0
- package/dist/messages/block_translators/index.js +12 -0
- package/dist/messages/block_translators/index.js.map +1 -0
- package/dist/messages/block_translators/openai.cjs +324 -0
- package/dist/messages/block_translators/openai.cjs.map +1 -0
- package/dist/messages/block_translators/openai.js +323 -0
- package/dist/messages/block_translators/openai.js.map +1 -0
- package/dist/messages/block_translators/utils.cjs +35 -0
- package/dist/messages/block_translators/utils.cjs.map +1 -0
- package/dist/messages/block_translators/utils.js +28 -0
- package/dist/messages/block_translators/utils.js.map +1 -0
- package/dist/messages/chat.cjs +78 -86
- package/dist/messages/chat.cjs.map +1 -0
- package/dist/messages/chat.d.cts +37 -0
- package/dist/messages/chat.d.cts.map +1 -0
- package/dist/messages/chat.d.ts +27 -22
- package/dist/messages/chat.d.ts.map +1 -0
- package/dist/messages/chat.js +77 -81
- package/dist/messages/chat.js.map +1 -0
- package/dist/messages/content/base.d.cts +20 -0
- package/dist/messages/content/base.d.cts.map +1 -0
- package/dist/messages/content/base.d.ts +20 -0
- package/dist/messages/content/base.d.ts.map +1 -0
- package/dist/messages/content/data.cjs +146 -0
- package/dist/messages/content/data.cjs.map +1 -0
- package/dist/messages/content/data.d.cts +280 -0
- package/dist/messages/content/data.d.cts.map +1 -0
- package/dist/messages/content/data.d.ts +280 -0
- package/dist/messages/content/data.d.ts.map +1 -0
- package/dist/messages/content/data.js +137 -0
- package/dist/messages/content/data.js.map +1 -0
- package/dist/messages/content/index.cjs +14 -0
- package/dist/messages/content/index.cjs.map +1 -0
- package/dist/messages/content/index.d.cts +101 -0
- package/dist/messages/content/index.d.cts.map +1 -0
- package/dist/messages/content/index.d.ts +101 -0
- package/dist/messages/content/index.d.ts.map +1 -0
- package/dist/messages/content/index.js +14 -0
- package/dist/messages/content/index.js.map +1 -0
- package/dist/messages/content/multimodal.cjs +13 -0
- package/dist/messages/content/multimodal.cjs.map +1 -0
- package/dist/messages/content/multimodal.d.cts +108 -0
- package/dist/messages/content/multimodal.d.cts.map +1 -0
- package/dist/messages/content/multimodal.d.ts +108 -0
- package/dist/messages/content/multimodal.d.ts.map +1 -0
- package/dist/messages/content/multimodal.js +12 -0
- package/dist/messages/content/multimodal.js.map +1 -0
- package/dist/messages/content/tools.cjs +15 -0
- package/dist/messages/content/tools.cjs.map +1 -0
- package/dist/messages/content/tools.d.cts +151 -0
- package/dist/messages/content/tools.d.cts.map +1 -0
- package/dist/messages/content/tools.d.ts +151 -0
- package/dist/messages/content/tools.d.ts.map +1 -0
- package/dist/messages/content/tools.js +14 -0
- package/dist/messages/content/tools.js.map +1 -0
- package/dist/messages/function.cjs +49 -49
- package/dist/messages/function.cjs.map +1 -0
- package/dist/messages/function.d.cts +30 -0
- package/dist/messages/function.d.cts.map +1 -0
- package/dist/messages/function.d.ts +20 -16
- package/dist/messages/function.d.ts.map +1 -0
- package/dist/messages/function.js +48 -44
- package/dist/messages/function.js.map +1 -0
- package/dist/messages/human.cjs +47 -49
- package/dist/messages/human.cjs.map +1 -0
- package/dist/messages/human.d.cts +31 -0
- package/dist/messages/human.d.cts.map +1 -0
- package/dist/messages/human.d.ts +22 -22
- package/dist/messages/human.d.ts.map +1 -0
- package/dist/messages/human.js +46 -44
- package/dist/messages/human.js.map +1 -0
- package/dist/messages/index.cjs +139 -34
- package/dist/messages/index.cjs.map +1 -0
- package/dist/messages/index.d.cts +13 -0
- package/dist/messages/index.d.ts +13 -11
- package/dist/messages/index.js +78 -13
- package/dist/messages/index.js.map +1 -0
- package/dist/messages/modifier.cjs +30 -33
- package/dist/messages/modifier.cjs.map +1 -0
- package/dist/messages/modifier.d.cts +24 -0
- package/dist/messages/modifier.d.cts.map +1 -0
- package/dist/messages/modifier.d.ts +18 -13
- package/dist/messages/modifier.d.ts.map +1 -0
- package/dist/messages/modifier.js +30 -29
- package/dist/messages/modifier.js.map +1 -0
- package/dist/messages/system.cjs +47 -49
- package/dist/messages/system.cjs.map +1 -0
- package/dist/messages/system.d.cts +31 -0
- package/dist/messages/system.d.cts.map +1 -0
- package/dist/messages/system.d.ts +22 -22
- package/dist/messages/system.d.ts.map +1 -0
- package/dist/messages/system.js +46 -44
- package/dist/messages/system.js.map +1 -0
- package/dist/messages/tool.cjs +153 -189
- package/dist/messages/tool.cjs.map +1 -0
- package/dist/messages/tool.d.cts +173 -0
- package/dist/messages/tool.d.cts.map +1 -0
- package/dist/messages/tool.d.ts +96 -90
- package/dist/messages/tool.d.ts.map +1 -0
- package/dist/messages/tool.js +145 -183
- package/dist/messages/tool.js.map +1 -0
- package/dist/messages/transformers.cjs +287 -431
- package/dist/messages/transformers.cjs.map +1 -0
- package/dist/messages/transformers.d.cts +472 -0
- package/dist/messages/transformers.d.cts.map +1 -0
- package/dist/messages/transformers.d.ts +111 -105
- package/dist/messages/transformers.d.ts.map +1 -0
- package/dist/messages/transformers.js +284 -425
- package/dist/messages/transformers.js.map +1 -0
- package/dist/messages/utils.cjs +172 -267
- package/dist/messages/utils.cjs.map +1 -0
- package/dist/messages/utils.d.cts +36 -0
- package/dist/messages/utils.d.cts.map +1 -0
- package/dist/messages/utils.d.ts +13 -8
- package/dist/messages/utils.d.ts.map +1 -0
- package/dist/messages/utils.js +170 -262
- package/dist/messages/utils.js.map +1 -0
- package/dist/output_parsers/base.cjs +104 -120
- package/dist/output_parsers/base.cjs.map +1 -0
- package/dist/output_parsers/base.d.cts +108 -0
- package/dist/output_parsers/base.d.cts.map +1 -0
- package/dist/output_parsers/base.d.ts +76 -71
- package/dist/output_parsers/base.d.ts.map +1 -0
- package/dist/output_parsers/base.js +102 -114
- package/dist/output_parsers/base.js.map +1 -0
- package/dist/output_parsers/bytes.cjs +27 -39
- package/dist/output_parsers/bytes.cjs.map +1 -0
- package/dist/output_parsers/bytes.d.cts +19 -0
- package/dist/output_parsers/bytes.d.cts.map +1 -0
- package/dist/output_parsers/bytes.d.ts +13 -7
- package/dist/output_parsers/bytes.d.ts.map +1 -0
- package/dist/output_parsers/bytes.js +27 -35
- package/dist/output_parsers/bytes.js.map +1 -0
- package/dist/output_parsers/index.cjs +66 -24
- package/dist/output_parsers/index.cjs.map +1 -0
- package/dist/output_parsers/index.d.cts +10 -0
- package/dist/output_parsers/index.d.ts +10 -8
- package/dist/output_parsers/index.js +40 -8
- package/dist/output_parsers/index.js.map +1 -0
- package/dist/output_parsers/json.cjs +36 -50
- package/dist/output_parsers/json.cjs.map +1 -0
- package/dist/output_parsers/json.d.cts +26 -0
- package/dist/output_parsers/json.d.cts.map +1 -0
- package/dist/output_parsers/json.d.ts +20 -11
- package/dist/output_parsers/json.d.ts.map +1 -0
- package/dist/output_parsers/json.js +36 -45
- package/dist/output_parsers/json.js.map +1 -0
- package/dist/output_parsers/list.cjs +155 -239
- package/dist/output_parsers/list.cjs.map +1 -0
- package/dist/output_parsers/list.d.cts +85 -0
- package/dist/output_parsers/list.d.cts.map +1 -0
- package/dist/output_parsers/list.d.ts +67 -58
- package/dist/output_parsers/list.d.ts.map +1 -0
- package/dist/output_parsers/list.js +151 -231
- package/dist/output_parsers/list.js.map +1 -0
- package/dist/output_parsers/openai_functions/index.cjs +22 -17
- package/dist/output_parsers/openai_functions/index.cjs.map +1 -0
- package/dist/output_parsers/openai_functions/index.d.cts +2 -0
- package/dist/output_parsers/openai_functions/index.d.ts +2 -1
- package/dist/output_parsers/openai_functions/index.js +14 -1
- package/dist/output_parsers/openai_functions/index.js.map +1 -0
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs +140 -203
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs.map +1 -0
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts +90 -0
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts.map +1 -0
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts +68 -58
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts.map +1 -0
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.js +138 -197
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.js.map +1 -0
- package/dist/output_parsers/openai_tools/index.cjs +26 -17
- package/dist/output_parsers/openai_tools/index.cjs.map +1 -0
- package/dist/output_parsers/openai_tools/index.d.cts +2 -0
- package/dist/output_parsers/openai_tools/index.d.ts +2 -1
- package/dist/output_parsers/openai_tools/index.js +16 -1
- package/dist/output_parsers/openai_tools/index.js.map +1 -0
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs +176 -256
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs.map +1 -0
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts +120 -0
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts.map +1 -0
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts +98 -70
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts.map +1 -0
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.js +173 -249
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.js.map +1 -0
- package/dist/output_parsers/string.cjs +70 -84
- package/dist/output_parsers/string.cjs.map +1 -0
- package/dist/output_parsers/string.d.cts +45 -0
- package/dist/output_parsers/string.d.cts.map +1 -0
- package/dist/output_parsers/string.d.ts +25 -19
- package/dist/output_parsers/string.d.ts.map +1 -0
- package/dist/output_parsers/string.js +70 -80
- package/dist/output_parsers/string.js.map +1 -0
- package/dist/output_parsers/structured.cjs +148 -181
- package/dist/output_parsers/structured.cjs.map +1 -0
- package/dist/output_parsers/structured.d.cts +97 -0
- package/dist/output_parsers/structured.d.cts.map +1 -0
- package/dist/output_parsers/structured.d.ts +82 -74
- package/dist/output_parsers/structured.d.ts.map +1 -0
- package/dist/output_parsers/structured.js +144 -174
- package/dist/output_parsers/structured.js.map +1 -0
- package/dist/output_parsers/transform.cjs +79 -109
- package/dist/output_parsers/transform.cjs.map +1 -0
- package/dist/output_parsers/transform.d.cts +41 -0
- package/dist/output_parsers/transform.d.cts.map +1 -0
- package/dist/output_parsers/transform.d.ts +29 -22
- package/dist/output_parsers/transform.d.ts.map +1 -0
- package/dist/output_parsers/transform.js +77 -104
- package/dist/output_parsers/transform.js.map +1 -0
- package/dist/output_parsers/xml.cjs +95 -129
- package/dist/output_parsers/xml.cjs.map +1 -0
- package/dist/output_parsers/xml.d.cts +34 -0
- package/dist/output_parsers/xml.d.cts.map +1 -0
- package/dist/output_parsers/xml.d.ts +29 -24
- package/dist/output_parsers/xml.d.ts.map +1 -0
- package/dist/output_parsers/xml.js +93 -124
- package/dist/output_parsers/xml.js.map +1 -0
- package/dist/outputs.cjs +57 -57
- package/dist/outputs.cjs.map +1 -0
- package/dist/outputs.d.cts +72 -0
- package/dist/outputs.d.cts.map +1 -0
- package/dist/outputs.d.ts +55 -44
- package/dist/outputs.d.ts.map +1 -0
- package/dist/outputs.js +50 -53
- package/dist/outputs.js.map +1 -0
- package/dist/prompt_values.cjs +101 -148
- package/dist/prompt_values.cjs.map +1 -0
- package/dist/prompt_values.d.cts +83 -0
- package/dist/prompt_values.d.cts.map +1 -0
- package/dist/prompt_values.d.ts +53 -48
- package/dist/prompt_values.d.ts.map +1 -0
- package/dist/prompt_values.js +90 -139
- package/dist/prompt_values.js.map +1 -0
- package/dist/prompts/base.cjs +106 -173
- package/dist/prompts/base.cjs.map +1 -0
- package/dist/prompts/base.d.cts +108 -0
- package/dist/prompts/base.d.cts.map +1 -0
- package/dist/prompts/base.d.ts +98 -85
- package/dist/prompts/base.d.ts.map +1 -0
- package/dist/prompts/base.js +106 -136
- package/dist/prompts/base.js.map +1 -0
- package/dist/prompts/chat.cjs +533 -786
- package/dist/prompts/chat.cjs.map +1 -0
- package/dist/prompts/chat.d.cts +296 -0
- package/dist/prompts/chat.d.cts.map +1 -0
- package/dist/prompts/chat.d.ts +191 -136
- package/dist/prompts/chat.d.ts.map +1 -0
- package/dist/prompts/chat.js +522 -771
- package/dist/prompts/chat.js.map +1 -0
- package/dist/prompts/dict.cjs +60 -110
- package/dist/prompts/dict.cjs.map +1 -0
- package/dist/prompts/dict.d.cts +23 -0
- package/dist/prompts/dict.d.cts.map +1 -0
- package/dist/prompts/dict.d.ts +19 -14
- package/dist/prompts/dict.d.ts.map +1 -0
- package/dist/prompts/dict.js +58 -104
- package/dist/prompts/dict.js.map +1 -0
- package/dist/prompts/few_shot.cjs +239 -352
- package/dist/prompts/few_shot.cjs.map +1 -0
- package/dist/prompts/few_shot.d.cts +204 -0
- package/dist/prompts/few_shot.d.cts.map +1 -0
- package/dist/prompts/few_shot.d.ts +157 -148
- package/dist/prompts/few_shot.d.ts.map +1 -0
- package/dist/prompts/few_shot.js +237 -346
- package/dist/prompts/few_shot.js.map +1 -0
- package/dist/prompts/image.cjs +92 -126
- package/dist/prompts/image.cjs.map +1 -0
- package/dist/prompts/image.d.cts +86 -0
- package/dist/prompts/image.d.cts.map +1 -0
- package/dist/prompts/image.d.ts +76 -60
- package/dist/prompts/image.d.ts.map +1 -0
- package/dist/prompts/image.js +92 -122
- package/dist/prompts/image.js.map +1 -0
- package/dist/prompts/index.cjs +79 -27
- package/dist/prompts/index.cjs.map +1 -0
- package/dist/prompts/index.d.cts +12 -0
- package/dist/prompts/index.d.ts +12 -11
- package/dist/prompts/index.js +47 -11
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/pipeline.cjs +128 -142
- package/dist/prompts/pipeline.cjs.map +1 -0
- package/dist/prompts/pipeline.d.cts +104 -0
- package/dist/prompts/pipeline.d.cts.map +1 -0
- package/dist/prompts/pipeline.d.ts +48 -42
- package/dist/prompts/pipeline.d.ts.map +1 -0
- package/dist/prompts/pipeline.js +127 -137
- package/dist/prompts/pipeline.js.map +1 -0
- package/dist/prompts/prompt.cjs +131 -164
- package/dist/prompts/prompt.cjs.map +1 -0
- package/dist/prompts/prompt.d.cts +134 -0
- package/dist/prompts/prompt.d.cts.map +1 -0
- package/dist/prompts/prompt.d.ts +106 -79
- package/dist/prompts/prompt.d.ts.map +1 -0
- package/dist/prompts/prompt.js +131 -160
- package/dist/prompts/prompt.js.map +1 -0
- package/dist/prompts/serde.d.cts +50 -0
- package/dist/prompts/serde.d.cts.map +1 -0
- package/dist/prompts/serde.d.ts +24 -17
- package/dist/prompts/serde.d.ts.map +1 -0
- package/dist/prompts/string.cjs +23 -23
- package/dist/prompts/string.cjs.map +1 -0
- package/dist/prompts/string.d.cts +27 -0
- package/dist/prompts/string.d.cts.map +1 -0
- package/dist/prompts/string.d.ts +21 -11
- package/dist/prompts/string.d.ts.map +1 -0
- package/dist/prompts/string.js +23 -19
- package/dist/prompts/string.js.map +1 -0
- package/dist/prompts/structured.cjs +46 -70
- package/dist/prompts/structured.cjs.map +1 -0
- package/dist/prompts/structured.d.cts +40 -0
- package/dist/prompts/structured.d.cts.map +1 -0
- package/dist/prompts/structured.d.ts +33 -14
- package/dist/prompts/structured.d.ts.map +1 -0
- package/dist/prompts/structured.js +46 -66
- package/dist/prompts/structured.js.map +1 -0
- package/dist/prompts/template.cjs +138 -157
- package/dist/prompts/template.cjs.map +1 -0
- package/dist/prompts/template.d.cts +48 -0
- package/dist/prompts/template.d.cts.map +1 -0
- package/dist/prompts/template.d.ts +24 -19
- package/dist/prompts/template.d.ts.map +1 -0
- package/dist/prompts/template.js +135 -150
- package/dist/prompts/template.js.map +1 -0
- package/dist/retrievers/document_compressors/base.cjs +21 -11
- package/dist/retrievers/document_compressors/base.cjs.map +1 -0
- package/dist/retrievers/document_compressors/base.d.cts +25 -0
- package/dist/retrievers/document_compressors/base.d.cts.map +1 -0
- package/dist/retrievers/document_compressors/base.d.ts +20 -13
- package/dist/retrievers/document_compressors/base.d.ts.map +1 -0
- package/dist/retrievers/document_compressors/base.js +16 -8
- package/dist/retrievers/document_compressors/base.js.map +1 -0
- package/dist/retrievers/index.cjs +119 -129
- package/dist/retrievers/index.cjs.map +1 -0
- package/dist/retrievers/index.d.cts +144 -0
- package/dist/retrievers/index.d.cts.map +1 -0
- package/dist/retrievers/index.d.ts +98 -88
- package/dist/retrievers/index.d.ts.map +1 -0
- package/dist/retrievers/index.js +113 -125
- package/dist/retrievers/index.js.map +1 -0
- package/dist/runnables/base.cjs +1808 -2401
- package/dist/runnables/base.cjs.map +1 -0
- package/dist/runnables/base.d.cts +990 -0
- package/dist/runnables/base.d.cts.map +1 -0
- package/dist/runnables/base.d.ts +633 -586
- package/dist/runnables/base.d.ts.map +1 -0
- package/dist/runnables/base.js +1790 -2375
- package/dist/runnables/base.js.map +1 -0
- package/dist/runnables/branch.cjs +151 -205
- package/dist/runnables/branch.cjs.map +1 -0
- package/dist/runnables/branch.d.cts +94 -0
- package/dist/runnables/branch.d.cts.map +1 -0
- package/dist/runnables/branch.d.ts +50 -51
- package/dist/runnables/branch.d.ts.map +1 -0
- package/dist/runnables/branch.js +151 -201
- package/dist/runnables/branch.js.map +1 -0
- package/dist/runnables/config.cjs +136 -212
- package/dist/runnables/config.cjs.map +1 -0
- package/dist/runnables/config.d.cts +26 -0
- package/dist/runnables/config.d.cts.map +1 -0
- package/dist/runnables/config.d.ts +18 -7
- package/dist/runnables/config.d.ts.map +1 -0
- package/dist/runnables/config.js +134 -207
- package/dist/runnables/config.js.map +1 -0
- package/dist/runnables/graph.cjs +215 -260
- package/dist/runnables/graph.cjs.map +1 -0
- package/dist/runnables/graph.d.cts +52 -0
- package/dist/runnables/graph.d.cts.map +1 -0
- package/dist/runnables/graph.d.ts +49 -41
- package/dist/runnables/graph.d.ts.map +1 -0
- package/dist/runnables/graph.js +206 -253
- package/dist/runnables/graph.js.map +1 -0
- package/dist/runnables/graph_mermaid.cjs +86 -141
- package/dist/runnables/graph_mermaid.cjs.map +1 -0
- package/dist/runnables/graph_mermaid.js +86 -139
- package/dist/runnables/graph_mermaid.js.map +1 -0
- package/dist/runnables/history.cjs +160 -260
- package/dist/runnables/history.cjs.map +1 -0
- package/dist/runnables/history.d.cts +104 -0
- package/dist/runnables/history.d.cts.map +1 -0
- package/dist/runnables/history.d.ts +38 -26
- package/dist/runnables/history.d.ts.map +1 -0
- package/dist/runnables/history.js +160 -256
- package/dist/runnables/history.js.map +1 -0
- package/dist/runnables/index.cjs +65 -31
- package/dist/runnables/index.cjs.map +1 -0
- package/dist/runnables/index.d.cts +8 -0
- package/dist/runnables/index.d.ts +8 -7
- package/dist/runnables/index.js +38 -6
- package/dist/runnables/index.js.map +1 -0
- package/dist/runnables/iter.cjs +27 -42
- package/dist/runnables/iter.cjs.map +1 -0
- package/dist/runnables/iter.js +26 -37
- package/dist/runnables/iter.js.map +1 -0
- package/dist/runnables/passthrough.cjs +97 -125
- package/dist/runnables/passthrough.cjs.map +1 -0
- package/dist/runnables/passthrough.d.cts +76 -0
- package/dist/runnables/passthrough.d.cts.map +1 -0
- package/dist/runnables/passthrough.d.ts +46 -40
- package/dist/runnables/passthrough.d.ts.map +1 -0
- package/dist/runnables/passthrough.js +97 -121
- package/dist/runnables/passthrough.js.map +1 -0
- package/dist/runnables/remote.cjs +387 -508
- package/dist/runnables/remote.cjs.map +1 -0
- package/dist/runnables/remote.d.cts +73 -0
- package/dist/runnables/remote.d.cts.map +1 -0
- package/dist/runnables/remote.d.ts +52 -40
- package/dist/runnables/remote.d.ts.map +1 -0
- package/dist/runnables/remote.js +379 -502
- package/dist/runnables/remote.js.map +1 -0
- package/dist/runnables/router.cjs +74 -95
- package/dist/runnables/router.cjs.map +1 -0
- package/dist/runnables/router.d.cts +58 -0
- package/dist/runnables/router.d.cts.map +1 -0
- package/dist/runnables/router.d.ts +27 -21
- package/dist/runnables/router.d.ts.map +1 -0
- package/dist/runnables/router.js +74 -91
- package/dist/runnables/router.js.map +1 -0
- package/dist/runnables/types.d.cts +81 -0
- package/dist/runnables/types.d.cts.map +1 -0
- package/dist/runnables/types.d.ts +68 -55
- package/dist/runnables/types.d.ts.map +1 -0
- package/dist/runnables/utils.cjs +40 -85
- package/dist/runnables/utils.cjs.map +1 -0
- package/dist/runnables/utils.js +40 -82
- package/dist/runnables/utils.js.map +1 -0
- package/dist/runnables/wrappers.cjs +14 -15
- package/dist/runnables/wrappers.cjs.map +1 -0
- package/dist/runnables/wrappers.js +14 -12
- package/dist/runnables/wrappers.js.map +1 -0
- package/dist/singletons/async_local_storage/context.cjs +167 -177
- package/dist/singletons/async_local_storage/context.cjs.map +1 -0
- package/dist/singletons/async_local_storage/context.d.cts +163 -0
- package/dist/singletons/async_local_storage/context.d.cts.map +1 -0
- package/dist/singletons/async_local_storage/context.d.ts +17 -9
- package/dist/singletons/async_local_storage/context.d.ts.map +1 -0
- package/dist/singletons/async_local_storage/context.js +168 -175
- package/dist/singletons/async_local_storage/context.js.map +1 -0
- package/dist/singletons/async_local_storage/globals.cjs +11 -8
- package/dist/singletons/async_local_storage/globals.cjs.map +1 -0
- package/dist/singletons/async_local_storage/globals.d.cts +11 -0
- package/dist/singletons/async_local_storage/globals.d.cts.map +1 -0
- package/dist/singletons/async_local_storage/globals.d.ts +10 -8
- package/dist/singletons/async_local_storage/globals.d.ts.map +1 -0
- package/dist/singletons/async_local_storage/globals.js +11 -6
- package/dist/singletons/async_local_storage/globals.js.map +1 -0
- package/dist/singletons/async_local_storage/index.cjs +55 -65
- package/dist/singletons/async_local_storage/index.cjs.map +1 -0
- package/dist/singletons/async_local_storage/index.d.cts +18 -0
- package/dist/singletons/async_local_storage/index.d.cts.map +1 -0
- package/dist/singletons/async_local_storage/index.d.ts +13 -9
- package/dist/singletons/async_local_storage/index.d.ts.map +1 -0
- package/dist/singletons/async_local_storage/index.js +53 -61
- package/dist/singletons/async_local_storage/index.js.map +1 -0
- package/dist/singletons/callbacks.cjs +43 -60
- package/dist/singletons/callbacks.cjs.map +1 -0
- package/dist/singletons/callbacks.d.cts +16 -0
- package/dist/singletons/callbacks.d.cts.map +1 -0
- package/dist/singletons/callbacks.d.ts +8 -3
- package/dist/singletons/callbacks.d.ts.map +1 -0
- package/dist/singletons/callbacks.js +43 -54
- package/dist/singletons/callbacks.js.map +1 -0
- package/dist/singletons/index.cjs +23 -8
- package/dist/singletons/index.cjs.map +1 -0
- package/dist/singletons/index.d.cts +3 -0
- package/dist/singletons/index.d.ts +3 -4
- package/dist/singletons/index.js +14 -3
- package/dist/singletons/index.js.map +1 -0
- package/dist/singletons/tracer.cjs +13 -19
- package/dist/singletons/tracer.cjs.map +1 -0
- package/dist/singletons/tracer.js +13 -15
- package/dist/singletons/tracer.js.map +1 -0
- package/dist/stores.cjs +78 -87
- package/dist/stores.cjs.map +1 -0
- package/dist/stores.d.cts +111 -0
- package/dist/stores.d.cts.map +1 -0
- package/dist/stores.d.ts +84 -78
- package/dist/stores.d.ts.map +1 -0
- package/dist/stores.js +71 -82
- package/dist/stores.js.map +1 -0
- package/dist/structured_query/base.cjs +86 -136
- package/dist/structured_query/base.cjs.map +1 -0
- package/dist/structured_query/base.d.cts +75 -0
- package/dist/structured_query/base.d.cts.map +1 -0
- package/dist/structured_query/base.d.ts +53 -47
- package/dist/structured_query/base.d.ts.map +1 -0
- package/dist/structured_query/base.js +86 -132
- package/dist/structured_query/base.js.map +1 -0
- package/dist/structured_query/functional.cjs +163 -234
- package/dist/structured_query/functional.cjs.map +1 -0
- package/dist/structured_query/functional.d.cts +98 -0
- package/dist/structured_query/functional.d.cts.map +1 -0
- package/dist/structured_query/functional.d.ts +72 -67
- package/dist/structured_query/functional.d.ts.map +1 -0
- package/dist/structured_query/functional.js +163 -230
- package/dist/structured_query/functional.js.map +1 -0
- package/dist/structured_query/index.cjs +55 -20
- package/dist/structured_query/index.cjs.map +1 -0
- package/dist/structured_query/index.d.cts +5 -0
- package/dist/structured_query/index.d.ts +5 -4
- package/dist/structured_query/index.js +32 -4
- package/dist/structured_query/index.js.map +1 -0
- package/dist/structured_query/ir.cjs +76 -132
- package/dist/structured_query/ir.cjs.map +1 -0
- package/dist/structured_query/ir.d.cts +143 -0
- package/dist/structured_query/ir.d.cts.map +1 -0
- package/dist/structured_query/ir.d.ts +61 -56
- package/dist/structured_query/ir.d.ts.map +1 -0
- package/dist/structured_query/ir.js +69 -124
- package/dist/structured_query/ir.js.map +1 -0
- package/dist/structured_query/utils.cjs +58 -83
- package/dist/structured_query/utils.cjs.map +1 -0
- package/dist/structured_query/utils.d.cts +40 -0
- package/dist/structured_query/utils.d.cts.map +1 -0
- package/dist/structured_query/utils.d.ts +14 -7
- package/dist/structured_query/utils.d.ts.map +1 -0
- package/dist/structured_query/utils.js +57 -80
- package/dist/structured_query/utils.js.map +1 -0
- package/dist/tools/index.cjs +311 -437
- package/dist/tools/index.cjs.map +1 -0
- package/dist/tools/index.d.cts +209 -0
- package/dist/tools/index.d.cts.map +1 -0
- package/dist/tools/index.d.ts +153 -149
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +295 -424
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/types.cjs +44 -52
- package/dist/tools/types.cjs.map +1 -0
- package/dist/tools/types.d.cts +280 -0
- package/dist/tools/types.d.cts.map +1 -0
- package/dist/tools/types.d.ts +146 -138
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +45 -50
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/utils.cjs +20 -32
- package/dist/tools/utils.cjs.map +1 -0
- package/dist/tools/utils.d.cts +14 -0
- package/dist/tools/utils.d.cts.map +1 -0
- package/dist/tools/utils.d.ts +8 -10
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +20 -29
- package/dist/tools/utils.js.map +1 -0
- package/dist/tracers/base.cjs +441 -529
- package/dist/tracers/base.cjs.map +1 -0
- package/dist/tracers/base.d.cts +304 -0
- package/dist/tracers/base.d.cts.map +1 -0
- package/dist/tracers/base.d.ts +296 -271
- package/dist/tracers/base.d.ts.map +1 -0
- package/dist/tracers/base.js +435 -525
- package/dist/tracers/base.js.map +1 -0
- package/dist/tracers/console.cjs +206 -223
- package/dist/tracers/console.cjs.map +1 -0
- package/dist/tracers/console.d.cts +125 -0
- package/dist/tracers/console.d.cts.map +1 -0
- package/dist/tracers/console.d.ts +109 -101
- package/dist/tracers/console.d.ts.map +1 -0
- package/dist/tracers/console.js +199 -215
- package/dist/tracers/console.js.map +1 -0
- package/dist/tracers/event_stream.cjs +357 -529
- package/dist/tracers/event_stream.cjs.map +1 -0
- package/dist/tracers/event_stream.d.cts +98 -0
- package/dist/tracers/event_stream.d.cts.map +1 -0
- package/dist/tracers/event_stream.d.ts +87 -129
- package/dist/tracers/event_stream.d.ts.map +1 -0
- package/dist/tracers/event_stream.js +355 -523
- package/dist/tracers/event_stream.js.map +1 -0
- package/dist/tracers/initialize.cjs +40 -29
- package/dist/tracers/initialize.cjs.map +1 -0
- package/dist/tracers/initialize.d.cts +26 -0
- package/dist/tracers/initialize.d.cts.map +1 -0
- package/dist/tracers/initialize.d.ts +8 -2
- package/dist/tracers/initialize.d.ts.map +1 -0
- package/dist/tracers/initialize.js +33 -25
- package/dist/tracers/initialize.js.map +1 -0
- package/dist/tracers/log_stream.cjs +264 -425
- package/dist/tracers/log_stream.cjs.map +1 -0
- package/dist/tracers/log_stream.d.cts +129 -0
- package/dist/tracers/log_stream.d.cts.map +1 -0
- package/dist/tracers/log_stream.d.ts +103 -92
- package/dist/tracers/log_stream.d.ts.map +1 -0
- package/dist/tracers/log_stream.js +255 -418
- package/dist/tracers/log_stream.js.map +1 -0
- package/dist/tracers/root_listener.cjs +41 -80
- package/dist/tracers/root_listener.cjs.map +1 -0
- package/dist/tracers/root_listener.js +41 -76
- package/dist/tracers/root_listener.js.map +1 -0
- package/dist/tracers/run_collector.cjs +44 -48
- package/dist/tracers/run_collector.cjs.map +1 -0
- package/dist/tracers/run_collector.d.cts +34 -0
- package/dist/tracers/run_collector.d.cts.map +1 -0
- package/dist/tracers/run_collector.d.ts +27 -19
- package/dist/tracers/run_collector.d.ts.map +1 -0
- package/dist/tracers/run_collector.js +38 -44
- package/dist/tracers/run_collector.js.map +1 -0
- package/dist/tracers/tracer_langchain.cjs +91 -123
- package/dist/tracers/tracer_langchain.cjs.map +1 -0
- package/dist/tracers/tracer_langchain.d.cts +49 -0
- package/dist/tracers/tracer_langchain.d.cts.map +1 -0
- package/dist/tracers/tracer_langchain.d.ts +43 -38
- package/dist/tracers/tracer_langchain.d.ts.map +1 -0
- package/dist/tracers/tracer_langchain.js +84 -118
- package/dist/tracers/tracer_langchain.js.map +1 -0
- package/dist/tracers/tracer_langchain_v1.cjs +166 -198
- package/dist/tracers/tracer_langchain_v1.cjs.map +1 -0
- package/dist/tracers/tracer_langchain_v1.d.cts +64 -0
- package/dist/tracers/tracer_langchain_v1.d.cts.map +1 -0
- package/dist/tracers/tracer_langchain_v1.d.ts +56 -51
- package/dist/tracers/tracer_langchain_v1.d.ts.map +1 -0
- package/dist/tracers/tracer_langchain_v1.js +158 -192
- package/dist/tracers/tracer_langchain_v1.js.map +1 -0
- package/dist/types/_internal.d.cts +8 -0
- package/dist/types/_internal.d.cts.map +1 -0
- package/dist/types/_internal.d.ts +8 -1
- package/dist/types/_internal.d.ts.map +1 -0
- package/dist/types/stream.cjs +12 -2
- package/dist/types/stream.cjs.map +1 -0
- package/dist/types/stream.d.cts +3 -0
- package/dist/types/stream.d.ts +3 -2
- package/dist/types/stream.js +6 -1
- package/dist/types/stream.js.map +1 -0
- package/dist/types/type-utils.d.cts +7 -0
- package/dist/types/type-utils.d.cts.map +1 -0
- package/dist/types/type-utils.d.ts +7 -1
- package/dist/types/type-utils.d.ts.map +1 -0
- package/dist/utils/async_caller.cjs +80 -122
- package/dist/utils/async_caller.cjs.map +1 -0
- package/dist/utils/async_caller.d.cts +52 -0
- package/dist/utils/async_caller.d.cts.map +1 -0
- package/dist/utils/async_caller.d.ts +36 -29
- package/dist/utils/async_caller.d.ts.map +1 -0
- package/dist/utils/async_caller.js +73 -114
- package/dist/utils/async_caller.js.map +1 -0
- package/dist/utils/callbacks.cjs +14 -14
- package/dist/utils/callbacks.cjs.map +1 -0
- package/dist/utils/callbacks.js +15 -11
- package/dist/utils/callbacks.js.map +1 -0
- package/dist/utils/chunk_array.cjs +18 -8
- package/dist/utils/chunk_array.cjs.map +1 -0
- package/dist/utils/chunk_array.d.cts +5 -0
- package/dist/utils/chunk_array.d.cts.map +1 -0
- package/dist/utils/chunk_array.d.ts +5 -1
- package/dist/utils/chunk_array.d.ts.map +1 -0
- package/dist/utils/chunk_array.js +14 -6
- package/dist/utils/chunk_array.js.map +1 -0
- package/dist/utils/env.cjs +62 -72
- package/dist/utils/env.cjs.map +1 -0
- package/dist/utils/env.d.cts +36 -0
- package/dist/utils/env.d.cts.map +1 -0
- package/dist/utils/env.d.ts +30 -22
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +54 -66
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/event_source_parse.cjs +172 -225
- package/dist/utils/event_source_parse.cjs.map +1 -0
- package/dist/utils/event_source_parse.d.cts +47 -0
- package/dist/utils/event_source_parse.d.cts.map +1 -0
- package/dist/utils/event_source_parse.d.ts +22 -14
- package/dist/utils/event_source_parse.d.ts.map +1 -0
- package/dist/utils/event_source_parse.js +164 -220
- package/dist/utils/event_source_parse.js.map +1 -0
- package/dist/utils/fast-json-patch/index.cjs +14 -58
- package/dist/utils/fast-json-patch/index.cjs.map +1 -0
- package/dist/utils/fast-json-patch/index.js +14 -15
- package/dist/utils/fast-json-patch/index.js.map +1 -0
- package/dist/utils/fast-json-patch/src/core.cjs +319 -445
- package/dist/utils/fast-json-patch/src/core.cjs.map +1 -0
- package/dist/utils/fast-json-patch/src/core.d.cts +80 -0
- package/dist/utils/fast-json-patch/src/core.d.cts.map +1 -0
- package/dist/utils/fast-json-patch/src/core.d.ts +38 -69
- package/dist/utils/fast-json-patch/src/core.d.ts.map +1 -0
- package/dist/utils/fast-json-patch/src/core.js +314 -442
- package/dist/utils/fast-json-patch/src/core.js.map +1 -0
- package/dist/utils/fast-json-patch/src/duplex.cjs +72 -231
- package/dist/utils/fast-json-patch/src/duplex.cjs.map +1 -0
- package/dist/utils/fast-json-patch/src/duplex.d.cts +11 -0
- package/dist/utils/fast-json-patch/src/duplex.d.cts.map +1 -0
- package/dist/utils/fast-json-patch/src/duplex.d.ts +7 -19
- package/dist/utils/fast-json-patch/src/duplex.d.ts.map +1 -0
- package/dist/utils/fast-json-patch/src/duplex.js +73 -226
- package/dist/utils/fast-json-patch/src/duplex.js.map +1 -0
- package/dist/utils/fast-json-patch/src/helpers.cjs +99 -171
- package/dist/utils/fast-json-patch/src/helpers.cjs.map +1 -0
- package/dist/utils/fast-json-patch/src/helpers.js +99 -166
- package/dist/utils/fast-json-patch/src/helpers.js.map +1 -0
- package/dist/utils/function_calling.cjs +62 -59
- package/dist/utils/function_calling.cjs.map +1 -0
- package/dist/utils/function_calling.d.cts +43 -0
- package/dist/utils/function_calling.d.cts.map +1 -0
- package/dist/utils/function_calling.d.ts +22 -15
- package/dist/utils/function_calling.d.ts.map +1 -0
- package/dist/utils/function_calling.js +51 -50
- package/dist/utils/function_calling.js.map +1 -0
- package/dist/utils/hash.cjs +21 -7
- package/dist/utils/hash.cjs.map +1 -0
- package/dist/utils/hash.d.cts +14 -0
- package/dist/utils/hash.d.cts.map +1 -0
- package/dist/utils/hash.d.ts +9 -3
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +14 -2
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/js-sha1/hash.cjs +272 -356
- package/dist/utils/js-sha1/hash.cjs.map +1 -0
- package/dist/utils/js-sha1/hash.d.cts +9 -0
- package/dist/utils/js-sha1/hash.d.cts.map +1 -0
- package/dist/utils/js-sha1/hash.d.ts +5 -1
- package/dist/utils/js-sha1/hash.d.ts.map +1 -0
- package/dist/utils/js-sha1/hash.js +268 -356
- package/dist/utils/js-sha1/hash.js.map +1 -0
- package/dist/utils/js-sha256/hash.cjs +332 -430
- package/dist/utils/js-sha256/hash.cjs.map +1 -0
- package/dist/utils/js-sha256/hash.d.cts +5 -0
- package/dist/utils/js-sha256/hash.d.cts.map +1 -0
- package/dist/utils/js-sha256/hash.d.ts +5 -1
- package/dist/utils/js-sha256/hash.d.ts.map +1 -0
- package/dist/utils/js-sha256/hash.js +328 -430
- package/dist/utils/js-sha256/hash.js.map +1 -0
- package/dist/utils/json.cjs +47 -101
- package/dist/utils/json.cjs.map +1 -0
- package/dist/utils/json.d.cts +8 -0
- package/dist/utils/json.d.cts.map +1 -0
- package/dist/utils/json.d.ts +8 -2
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +47 -99
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/json_patch.cjs +22 -6
- package/dist/utils/json_patch.cjs.map +1 -0
- package/dist/utils/json_patch.d.cts +3 -0
- package/dist/utils/json_patch.d.ts +3 -1
- package/dist/utils/json_patch.js +15 -1
- package/dist/utils/json_patch.js.map +1 -0
- package/dist/utils/json_schema.cjs +77 -92
- package/dist/utils/json_schema.cjs.map +1 -0
- package/dist/utils/json_schema.d.cts +28 -0
- package/dist/utils/json_schema.d.cts.map +1 -0
- package/dist/utils/json_schema.d.ts +15 -6
- package/dist/utils/json_schema.d.ts.map +1 -0
- package/dist/utils/json_schema.js +58 -85
- package/dist/utils/json_schema.js.map +1 -0
- package/dist/utils/math.cjs +112 -108
- package/dist/utils/math.cjs.map +1 -0
- package/dist/utils/math.d.cts +43 -0
- package/dist/utils/math.d.cts.map +1 -0
- package/dist/utils/math.d.ts +10 -7
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/math.js +103 -102
- package/dist/utils/math.js.map +1 -0
- package/dist/utils/ml-distance/distances.cjs +15 -14
- package/dist/utils/ml-distance/distances.cjs.map +1 -0
- package/dist/utils/ml-distance/distances.js +15 -12
- package/dist/utils/ml-distance/distances.js.map +1 -0
- package/dist/utils/ml-distance/similarities.cjs +20 -17
- package/dist/utils/ml-distance/similarities.cjs.map +1 -0
- package/dist/utils/ml-distance/similarities.d.cts +11 -0
- package/dist/utils/ml-distance/similarities.d.cts.map +1 -0
- package/dist/utils/ml-distance/similarities.d.ts +5 -1
- package/dist/utils/ml-distance/similarities.d.ts.map +1 -0
- package/dist/utils/ml-distance/similarities.js +20 -15
- package/dist/utils/ml-distance/similarities.js.map +1 -0
- package/dist/utils/ml-distance-euclidean/euclidean.cjs +10 -10
- package/dist/utils/ml-distance-euclidean/euclidean.cjs.map +1 -0
- package/dist/utils/ml-distance-euclidean/euclidean.js +11 -8
- package/dist/utils/ml-distance-euclidean/euclidean.js.map +1 -0
- package/dist/utils/sax-js/sax.cjs +1206 -1556
- package/dist/utils/sax-js/sax.cjs.map +1 -0
- package/dist/utils/sax-js/sax.js +1205 -1553
- package/dist/utils/sax-js/sax.js.map +1 -0
- package/dist/utils/signal.cjs +18 -27
- package/dist/utils/signal.cjs.map +1 -0
- package/dist/utils/signal.js +18 -25
- package/dist/utils/signal.js.map +1 -0
- package/dist/utils/stream.cjs +186 -268
- package/dist/utils/stream.cjs.map +1 -0
- package/dist/utils/stream.d.cts +54 -0
- package/dist/utils/stream.d.cts.map +1 -0
- package/dist/utils/stream.d.ts +49 -33
- package/dist/utils/stream.d.ts.map +1 -0
- package/dist/utils/stream.js +177 -261
- package/dist/utils/stream.js.map +1 -0
- package/dist/utils/testing/index.cjs +664 -888
- package/dist/utils/testing/index.cjs.map +1 -0
- package/dist/utils/testing/index.d.cts +383 -0
- package/dist/utils/testing/index.d.cts.map +1 -0
- package/dist/utils/testing/index.d.ts +280 -250
- package/dist/utils/testing/index.d.ts.map +1 -0
- package/dist/utils/testing/index.js +639 -865
- package/dist/utils/testing/index.js.map +1 -0
- package/dist/utils/tiktoken.cjs +28 -19
- package/dist/utils/tiktoken.cjs.map +1 -0
- package/dist/utils/tiktoken.d.cts +8 -0
- package/dist/utils/tiktoken.d.cts.map +1 -0
- package/dist/utils/tiktoken.d.ts +7 -2
- package/dist/utils/tiktoken.d.ts.map +1 -0
- package/dist/utils/tiktoken.js +22 -16
- package/dist/utils/tiktoken.js.map +1 -0
- package/dist/utils/types/index.cjs +60 -17
- package/dist/utils/types/index.cjs.map +1 -0
- package/dist/utils/types/index.d.cts +16 -0
- package/dist/utils/types/index.d.cts.map +1 -0
- package/dist/utils/types/index.d.ts +13 -5
- package/dist/utils/types/index.d.ts.map +1 -0
- package/dist/utils/types/index.js +33 -1
- package/dist/utils/types/index.js.map +1 -0
- package/dist/utils/types/zod.cjs +376 -554
- package/dist/utils/types/zod.cjs.map +1 -0
- package/dist/utils/types/zod.d.cts +213 -0
- package/dist/utils/types/zod.d.cts.map +1 -0
- package/dist/utils/types/zod.d.ts +49 -48
- package/dist/utils/types/zod.d.ts.map +1 -0
- package/dist/utils/types/zod.js +376 -552
- package/dist/utils/types/zod.js.map +1 -0
- package/dist/vectorstores.cjs +391 -424
- package/dist/vectorstores.cjs.map +1 -0
- package/dist/vectorstores.d.cts +661 -0
- package/dist/vectorstores.d.cts.map +1 -0
- package/dist/vectorstores.d.ts +488 -471
- package/dist/vectorstores.d.ts.map +1 -0
- package/dist/vectorstores.js +383 -418
- package/dist/vectorstores.js.map +1 -0
- package/package.json +525 -644
- package/agents.cjs +0 -1
- package/agents.d.cts +0 -1
- package/agents.d.ts +0 -1
- package/agents.js +0 -1
- package/caches.cjs +0 -1
- package/caches.d.cts +0 -1
- package/caches.d.ts +0 -1
- package/caches.js +0 -1
- package/callbacks/base.cjs +0 -1
- package/callbacks/base.d.cts +0 -1
- package/callbacks/base.d.ts +0 -1
- package/callbacks/base.js +0 -1
- package/callbacks/dispatch/web.cjs +0 -1
- package/callbacks/dispatch/web.d.cts +0 -1
- package/callbacks/dispatch/web.d.ts +0 -1
- package/callbacks/dispatch/web.js +0 -1
- package/callbacks/dispatch.cjs +0 -1
- package/callbacks/dispatch.d.cts +0 -1
- package/callbacks/dispatch.d.ts +0 -1
- package/callbacks/dispatch.js +0 -1
- package/callbacks/manager.cjs +0 -1
- package/callbacks/manager.d.cts +0 -1
- package/callbacks/manager.d.ts +0 -1
- package/callbacks/manager.js +0 -1
- package/callbacks/promises.cjs +0 -1
- package/callbacks/promises.d.cts +0 -1
- package/callbacks/promises.d.ts +0 -1
- package/callbacks/promises.js +0 -1
- package/chat_history.cjs +0 -1
- package/chat_history.d.cts +0 -1
- package/chat_history.d.ts +0 -1
- package/chat_history.js +0 -1
- package/context.cjs +0 -1
- package/context.d.cts +0 -1
- package/context.d.ts +0 -1
- package/context.js +0 -1
- package/dist/errors/index.d.ts +0 -2
- package/dist/load/import_constants.d.ts +0 -1
- package/dist/load/import_map.d.ts +0 -43
- package/dist/load/import_type.cjs +0 -3
- package/dist/load/import_type.js +0 -2
- package/dist/messages/content_blocks.cjs +0 -165
- package/dist/messages/content_blocks.d.ts +0 -151
- package/dist/messages/content_blocks.js +0 -154
- package/dist/prompts/serde.cjs +0 -2
- package/dist/prompts/serde.js +0 -1
- package/dist/runnables/graph_mermaid.d.ts +0 -18
- package/dist/runnables/iter.d.ts +0 -6
- package/dist/runnables/types.cjs +0 -2
- package/dist/runnables/types.js +0 -1
- package/dist/runnables/utils.d.ts +0 -27
- package/dist/runnables/wrappers.d.ts +0 -2
- package/dist/singletons/tracer.d.ts +0 -3
- package/dist/tracers/root_listener.d.ts +0 -25
- package/dist/types/_internal.cjs +0 -2
- package/dist/types/_internal.js +0 -1
- package/dist/types/type-utils.cjs +0 -2
- package/dist/types/type-utils.js +0 -1
- package/dist/utils/callbacks.d.ts +0 -1
- package/dist/utils/fast-json-patch/index.d.ts +0 -22
- package/dist/utils/fast-json-patch/src/helpers.d.ts +0 -36
- package/dist/utils/ml-distance/distances.d.ts +0 -8
- package/dist/utils/ml-distance-euclidean/euclidean.d.ts +0 -2
- package/dist/utils/sax-js/sax.d.ts +0 -2
- package/dist/utils/signal.d.ts +0 -1
- package/dist/utils/testing/helpers.cjs +0 -7
- package/dist/utils/testing/helpers.d.ts +0 -3
- package/dist/utils/testing/helpers.js +0 -3
- package/document_loaders/base.cjs +0 -1
- package/document_loaders/base.d.cts +0 -1
- package/document_loaders/base.d.ts +0 -1
- package/document_loaders/base.js +0 -1
- package/document_loaders/langsmith.cjs +0 -1
- package/document_loaders/langsmith.d.cts +0 -1
- package/document_loaders/langsmith.d.ts +0 -1
- package/document_loaders/langsmith.js +0 -1
- package/documents.cjs +0 -1
- package/documents.d.cts +0 -1
- package/documents.d.ts +0 -1
- package/documents.js +0 -1
- package/embeddings.cjs +0 -1
- package/embeddings.d.cts +0 -1
- package/embeddings.d.ts +0 -1
- package/embeddings.js +0 -1
- package/example_selectors.cjs +0 -1
- package/example_selectors.d.cts +0 -1
- package/example_selectors.d.ts +0 -1
- package/example_selectors.js +0 -1
- package/indexing.cjs +0 -1
- package/indexing.d.cts +0 -1
- package/indexing.d.ts +0 -1
- package/indexing.js +0 -1
- package/language_models/base.cjs +0 -1
- package/language_models/base.d.cts +0 -1
- package/language_models/base.d.ts +0 -1
- package/language_models/base.js +0 -1
- package/language_models/chat_models.cjs +0 -1
- package/language_models/chat_models.d.cts +0 -1
- package/language_models/chat_models.d.ts +0 -1
- package/language_models/chat_models.js +0 -1
- package/language_models/llms.cjs +0 -1
- package/language_models/llms.d.cts +0 -1
- package/language_models/llms.d.ts +0 -1
- package/language_models/llms.js +0 -1
- package/load/serializable.cjs +0 -1
- package/load/serializable.d.cts +0 -1
- package/load/serializable.d.ts +0 -1
- package/load/serializable.js +0 -1
- package/load.cjs +0 -1
- package/load.d.cts +0 -1
- package/load.d.ts +0 -1
- package/load.js +0 -1
- package/memory.cjs +0 -1
- package/memory.d.cts +0 -1
- package/memory.d.ts +0 -1
- package/memory.js +0 -1
- package/messages/tool.cjs +0 -1
- package/messages/tool.d.cts +0 -1
- package/messages/tool.d.ts +0 -1
- package/messages/tool.js +0 -1
- package/messages.cjs +0 -1
- package/messages.d.cts +0 -1
- package/messages.d.ts +0 -1
- package/messages.js +0 -1
- package/output_parsers/openai_functions.cjs +0 -1
- package/output_parsers/openai_functions.d.cts +0 -1
- package/output_parsers/openai_functions.d.ts +0 -1
- package/output_parsers/openai_functions.js +0 -1
- package/output_parsers/openai_tools.cjs +0 -1
- package/output_parsers/openai_tools.d.cts +0 -1
- package/output_parsers/openai_tools.d.ts +0 -1
- package/output_parsers/openai_tools.js +0 -1
- package/output_parsers.cjs +0 -1
- package/output_parsers.d.cts +0 -1
- package/output_parsers.d.ts +0 -1
- package/output_parsers.js +0 -1
- package/outputs.cjs +0 -1
- package/outputs.d.cts +0 -1
- package/outputs.d.ts +0 -1
- package/outputs.js +0 -1
- package/prompt_values.cjs +0 -1
- package/prompt_values.d.cts +0 -1
- package/prompt_values.d.ts +0 -1
- package/prompt_values.js +0 -1
- package/prompts.cjs +0 -1
- package/prompts.d.cts +0 -1
- package/prompts.d.ts +0 -1
- package/prompts.js +0 -1
- package/retrievers/document_compressors.cjs +0 -1
- package/retrievers/document_compressors.d.cts +0 -1
- package/retrievers/document_compressors.d.ts +0 -1
- package/retrievers/document_compressors.js +0 -1
- package/retrievers.cjs +0 -1
- package/retrievers.d.cts +0 -1
- package/retrievers.d.ts +0 -1
- package/retrievers.js +0 -1
- package/runnables/graph.cjs +0 -1
- package/runnables/graph.d.cts +0 -1
- package/runnables/graph.d.ts +0 -1
- package/runnables/graph.js +0 -1
- package/runnables/remote.cjs +0 -1
- package/runnables/remote.d.cts +0 -1
- package/runnables/remote.d.ts +0 -1
- package/runnables/remote.js +0 -1
- package/runnables.cjs +0 -1
- package/runnables.d.cts +0 -1
- package/runnables.d.ts +0 -1
- package/runnables.js +0 -1
- package/singletons.cjs +0 -1
- package/singletons.d.cts +0 -1
- package/singletons.d.ts +0 -1
- package/singletons.js +0 -1
- package/stores.cjs +0 -1
- package/stores.d.cts +0 -1
- package/stores.d.ts +0 -1
- package/stores.js +0 -1
- package/structured_query.cjs +0 -1
- package/structured_query.d.cts +0 -1
- package/structured_query.d.ts +0 -1
- package/structured_query.js +0 -1
- package/tools.cjs +0 -1
- package/tools.d.cts +0 -1
- package/tools.d.ts +0 -1
- package/tools.js +0 -1
- package/tracers/base.cjs +0 -1
- package/tracers/base.d.cts +0 -1
- package/tracers/base.d.ts +0 -1
- package/tracers/base.js +0 -1
- package/tracers/console.cjs +0 -1
- package/tracers/console.d.cts +0 -1
- package/tracers/console.d.ts +0 -1
- package/tracers/console.js +0 -1
- package/tracers/initialize.cjs +0 -1
- package/tracers/initialize.d.cts +0 -1
- package/tracers/initialize.d.ts +0 -1
- package/tracers/initialize.js +0 -1
- package/tracers/log_stream.cjs +0 -1
- package/tracers/log_stream.d.cts +0 -1
- package/tracers/log_stream.d.ts +0 -1
- package/tracers/log_stream.js +0 -1
- package/tracers/run_collector.cjs +0 -1
- package/tracers/run_collector.d.cts +0 -1
- package/tracers/run_collector.d.ts +0 -1
- package/tracers/run_collector.js +0 -1
- package/tracers/tracer_langchain.cjs +0 -1
- package/tracers/tracer_langchain.d.cts +0 -1
- package/tracers/tracer_langchain.d.ts +0 -1
- package/tracers/tracer_langchain.js +0 -1
- package/tracers/tracer_langchain_v1.cjs +0 -1
- package/tracers/tracer_langchain_v1.d.cts +0 -1
- package/tracers/tracer_langchain_v1.d.ts +0 -1
- package/tracers/tracer_langchain_v1.js +0 -1
- package/types/stream.cjs +0 -1
- package/types/stream.d.cts +0 -1
- package/types/stream.d.ts +0 -1
- package/types/stream.js +0 -1
- package/utils/async_caller.cjs +0 -1
- package/utils/async_caller.d.cts +0 -1
- package/utils/async_caller.d.ts +0 -1
- package/utils/async_caller.js +0 -1
- package/utils/chunk_array.cjs +0 -1
- package/utils/chunk_array.d.cts +0 -1
- package/utils/chunk_array.d.ts +0 -1
- package/utils/chunk_array.js +0 -1
- package/utils/env.cjs +0 -1
- package/utils/env.d.cts +0 -1
- package/utils/env.d.ts +0 -1
- package/utils/env.js +0 -1
- package/utils/event_source_parse.cjs +0 -1
- package/utils/event_source_parse.d.cts +0 -1
- package/utils/event_source_parse.d.ts +0 -1
- package/utils/event_source_parse.js +0 -1
- package/utils/function_calling.cjs +0 -1
- package/utils/function_calling.d.cts +0 -1
- package/utils/function_calling.d.ts +0 -1
- package/utils/function_calling.js +0 -1
- package/utils/hash/insecure.cjs +0 -1
- package/utils/hash/insecure.d.cts +0 -1
- package/utils/hash/insecure.d.ts +0 -1
- package/utils/hash/insecure.js +0 -1
- package/utils/hash/sha256.cjs +0 -1
- package/utils/hash/sha256.d.cts +0 -1
- package/utils/hash/sha256.d.ts +0 -1
- package/utils/hash/sha256.js +0 -1
- package/utils/hash.cjs +0 -1
- package/utils/hash.d.cts +0 -1
- package/utils/hash.d.ts +0 -1
- package/utils/hash.js +0 -1
- package/utils/json_patch.cjs +0 -1
- package/utils/json_patch.d.cts +0 -1
- package/utils/json_patch.d.ts +0 -1
- package/utils/json_patch.js +0 -1
- package/utils/json_schema.cjs +0 -1
- package/utils/json_schema.d.cts +0 -1
- package/utils/json_schema.d.ts +0 -1
- package/utils/json_schema.js +0 -1
- package/utils/math.cjs +0 -1
- package/utils/math.d.cts +0 -1
- package/utils/math.d.ts +0 -1
- package/utils/math.js +0 -1
- package/utils/stream.cjs +0 -1
- package/utils/stream.d.cts +0 -1
- package/utils/stream.d.ts +0 -1
- package/utils/stream.js +0 -1
- package/utils/testing.cjs +0 -1
- package/utils/testing.d.cts +0 -1
- package/utils/testing.d.ts +0 -1
- package/utils/testing.js +0 -1
- package/utils/tiktoken.cjs +0 -1
- package/utils/tiktoken.d.cts +0 -1
- package/utils/tiktoken.d.ts +0 -1
- package/utils/tiktoken.js +0 -1
- package/utils/types.cjs +0 -1
- package/utils/types.d.cts +0 -1
- package/utils/types.d.ts +0 -1
- package/utils/types.js +0 -1
- package/vectorstores.cjs +0 -1
- package/vectorstores.d.cts +0 -1
- package/vectorstores.d.ts +0 -1
- package/vectorstores.js +0 -1
package/dist/utils/math.cjs
CHANGED
|
@@ -1,126 +1,130 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_similarities = require('./ml-distance/similarities.cjs');
|
|
3
|
+
const require_distances = require('./ml-distance/distances.cjs');
|
|
4
|
+
const require_euclidean = require('./ml-distance-euclidean/euclidean.cjs');
|
|
5
|
+
|
|
6
|
+
//#region src/utils/math.ts
|
|
7
|
+
var math_exports = {};
|
|
8
|
+
require_rolldown_runtime.__export(math_exports, {
|
|
9
|
+
cosineSimilarity: () => cosineSimilarity,
|
|
10
|
+
euclideanDistance: () => euclideanDistance,
|
|
11
|
+
innerProduct: () => innerProduct$1,
|
|
12
|
+
matrixFunc: () => matrixFunc,
|
|
13
|
+
maximalMarginalRelevance: () => maximalMarginalRelevance,
|
|
14
|
+
normalize: () => normalize
|
|
15
|
+
});
|
|
12
16
|
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
* Apply a row-wise function between two matrices with the same number of columns.
|
|
18
|
+
*
|
|
19
|
+
* @param {number[][]} X - The first matrix.
|
|
20
|
+
* @param {number[][]} Y - The second matrix.
|
|
21
|
+
* @param {VectorFunction} func - The function to apply.
|
|
22
|
+
*
|
|
23
|
+
* @throws {Error} If the number of columns in X and Y are not the same.
|
|
24
|
+
*
|
|
25
|
+
* @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.
|
|
26
|
+
*/
|
|
23
27
|
function matrixFunc(X, Y, func) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
Y[0].length === 0) {
|
|
28
|
-
return [[]];
|
|
29
|
-
}
|
|
30
|
-
if (X[0].length !== Y[0].length) {
|
|
31
|
-
throw new Error(`Number of columns in X and Y must be the same. X has shape ${[
|
|
32
|
-
X.length,
|
|
33
|
-
X[0].length,
|
|
34
|
-
]} and Y has shape ${[Y.length, Y[0].length]}.`);
|
|
35
|
-
}
|
|
36
|
-
return X.map((xVector) => Y.map((yVector) => func(xVector, yVector)).map((similarity) => Number.isNaN(similarity) ? 0 : similarity));
|
|
28
|
+
if (X.length === 0 || X[0].length === 0 || Y.length === 0 || Y[0].length === 0) return [[]];
|
|
29
|
+
if (X[0].length !== Y[0].length) throw new Error(`Number of columns in X and Y must be the same. X has shape ${[X.length, X[0].length]} and Y has shape ${[Y.length, Y[0].length]}.`);
|
|
30
|
+
return X.map((xVector) => Y.map((yVector) => func(xVector, yVector)).map((similarity) => Number.isNaN(similarity) ? 0 : similarity));
|
|
37
31
|
}
|
|
38
32
|
function normalize(M, similarity = false) {
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
const max = matrixMaxVal(M);
|
|
34
|
+
return M.map((row) => row.map((val) => similarity ? 1 - val / max : val / max));
|
|
41
35
|
}
|
|
42
36
|
/**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
37
|
+
* This function calculates the row-wise cosine similarity between two matrices with the same number of columns.
|
|
38
|
+
*
|
|
39
|
+
* @param {number[][]} X - The first matrix.
|
|
40
|
+
* @param {number[][]} Y - The second matrix.
|
|
41
|
+
*
|
|
42
|
+
* @throws {Error} If the number of columns in X and Y are not the same.
|
|
43
|
+
*
|
|
44
|
+
* @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.
|
|
45
|
+
*/
|
|
52
46
|
function cosineSimilarity(X, Y) {
|
|
53
|
-
|
|
47
|
+
return matrixFunc(X, Y, require_similarities.cosine);
|
|
54
48
|
}
|
|
55
|
-
function innerProduct(X, Y) {
|
|
56
|
-
|
|
49
|
+
function innerProduct$1(X, Y) {
|
|
50
|
+
return matrixFunc(X, Y, require_distances.innerProduct);
|
|
57
51
|
}
|
|
58
52
|
function euclideanDistance(X, Y) {
|
|
59
|
-
|
|
53
|
+
return matrixFunc(X, Y, require_euclidean.euclidean);
|
|
60
54
|
}
|
|
61
55
|
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
function maximalMarginalRelevance(queryEmbedding, embeddingList, lambda =
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
selectedEmbeddings.push(embeddingList[bestIndex]);
|
|
97
|
-
selectedEmbeddingsIndexes.push(bestIndex);
|
|
98
|
-
}
|
|
99
|
-
return selectedEmbeddingsIndexes;
|
|
56
|
+
* This function implements the Maximal Marginal Relevance algorithm
|
|
57
|
+
* to select a set of embeddings that maximizes the diversity and relevance to a query embedding.
|
|
58
|
+
*
|
|
59
|
+
* @param {number[]|number[][]} queryEmbedding - The query embedding.
|
|
60
|
+
* @param {number[][]} embeddingList - The list of embeddings to select from.
|
|
61
|
+
* @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.
|
|
62
|
+
* @param {number} [k=4] - The maximum number of embeddings to select.
|
|
63
|
+
*
|
|
64
|
+
* @returns {number[]} The indexes of the selected embeddings in the embeddingList.
|
|
65
|
+
*/
|
|
66
|
+
function maximalMarginalRelevance(queryEmbedding, embeddingList, lambda = .5, k = 4) {
|
|
67
|
+
if (Math.min(k, embeddingList.length) <= 0) return [];
|
|
68
|
+
const queryEmbeddingExpanded = Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding];
|
|
69
|
+
const similarityToQuery = cosineSimilarity(queryEmbeddingExpanded, embeddingList)[0];
|
|
70
|
+
const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;
|
|
71
|
+
const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];
|
|
72
|
+
const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];
|
|
73
|
+
while (selectedEmbeddingsIndexes.length < Math.min(k, embeddingList.length)) {
|
|
74
|
+
let bestScore = -Infinity;
|
|
75
|
+
let bestIndex = -1;
|
|
76
|
+
const similarityToSelected = cosineSimilarity(embeddingList, selectedEmbeddings);
|
|
77
|
+
similarityToQuery.forEach((queryScore, queryScoreIndex) => {
|
|
78
|
+
if (selectedEmbeddingsIndexes.includes(queryScoreIndex)) return;
|
|
79
|
+
const maxSimilarityToSelected = Math.max(...similarityToSelected[queryScoreIndex]);
|
|
80
|
+
const score = lambda * queryScore - (1 - lambda) * maxSimilarityToSelected;
|
|
81
|
+
if (score > bestScore) {
|
|
82
|
+
bestScore = score;
|
|
83
|
+
bestIndex = queryScoreIndex;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
selectedEmbeddings.push(embeddingList[bestIndex]);
|
|
87
|
+
selectedEmbeddingsIndexes.push(bestIndex);
|
|
88
|
+
}
|
|
89
|
+
return selectedEmbeddingsIndexes;
|
|
100
90
|
}
|
|
101
91
|
/**
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
92
|
+
* Finds the index of the maximum value in the given array.
|
|
93
|
+
* @param {number[]} array - The input array.
|
|
94
|
+
*
|
|
95
|
+
* @returns {number} The index of the maximum value in the array. If the array is empty, returns -1.
|
|
96
|
+
*/
|
|
107
97
|
function argMax(array) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
return { maxIndex, maxValue };
|
|
98
|
+
if (array.length === 0) return {
|
|
99
|
+
maxIndex: -1,
|
|
100
|
+
maxValue: NaN
|
|
101
|
+
};
|
|
102
|
+
let maxValue = array[0];
|
|
103
|
+
let maxIndex = 0;
|
|
104
|
+
for (let i = 1; i < array.length; i += 1) if (array[i] > maxValue) {
|
|
105
|
+
maxIndex = i;
|
|
106
|
+
maxValue = array[i];
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
maxIndex,
|
|
110
|
+
maxValue
|
|
111
|
+
};
|
|
123
112
|
}
|
|
124
113
|
function matrixMaxVal(arrays) {
|
|
125
|
-
|
|
114
|
+
return arrays.reduce((acc, array) => Math.max(acc, argMax(array).maxValue), 0);
|
|
126
115
|
}
|
|
116
|
+
|
|
117
|
+
//#endregion
|
|
118
|
+
exports.cosineSimilarity = cosineSimilarity;
|
|
119
|
+
exports.euclideanDistance = euclideanDistance;
|
|
120
|
+
exports.innerProduct = innerProduct$1;
|
|
121
|
+
Object.defineProperty(exports, 'math_exports', {
|
|
122
|
+
enumerable: true,
|
|
123
|
+
get: function () {
|
|
124
|
+
return math_exports;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
exports.matrixFunc = matrixFunc;
|
|
128
|
+
exports.maximalMarginalRelevance = maximalMarginalRelevance;
|
|
129
|
+
exports.normalize = normalize;
|
|
130
|
+
//# sourceMappingURL=math.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.cjs","names":["X: number[][]","Y: number[][]","func: VectorFunction","M: number[][]","cosine","innerProduct","innerProductDistance","euclidean","queryEmbedding: number[] | number[][]","embeddingList: number[][]","array: number[]","arrays: number[][]"],"sources":["../../src/utils/math.ts"],"sourcesContent":["import { cosine } from \"./ml-distance/similarities.js\";\nimport { innerProduct as innerProductDistance } from \"./ml-distance/distances.js\";\nimport { euclidean } from \"./ml-distance-euclidean/euclidean.js\";\n\ntype VectorFunction = (xVector: number[], yVector: number[]) => number;\n\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\n\nexport function matrixFunc(\n X: number[][],\n Y: number[][],\n func: VectorFunction\n): number[][] {\n if (\n X.length === 0 ||\n X[0].length === 0 ||\n Y.length === 0 ||\n Y[0].length === 0\n ) {\n return [[]];\n }\n\n if (X[0].length !== Y[0].length) {\n throw new Error(\n `Number of columns in X and Y must be the same. X has shape ${[\n X.length,\n X[0].length,\n ]} and Y has shape ${[Y.length, Y[0].length]}.`\n );\n }\n\n return X.map((xVector) =>\n Y.map((yVector) => func(xVector, yVector)).map((similarity) =>\n Number.isNaN(similarity) ? 0 : similarity\n )\n );\n}\n\nexport function normalize(M: number[][], similarity = false): number[][] {\n const max = matrixMaxVal(M);\n return M.map((row) =>\n row.map((val) => (similarity ? 1 - val / max : val / max))\n );\n}\n\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport function cosineSimilarity(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, cosine);\n}\n\nexport function innerProduct(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, innerProductDistance);\n}\n\nexport function euclideanDistance(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, euclidean);\n}\n\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport function maximalMarginalRelevance(\n queryEmbedding: number[] | number[][],\n embeddingList: number[][],\n lambda = 0.5,\n k = 4\n): number[] {\n if (Math.min(k, embeddingList.length) <= 0) {\n return [];\n }\n\n const queryEmbeddingExpanded = (\n Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding]\n ) as number[][];\n\n const similarityToQuery = cosineSimilarity(\n queryEmbeddingExpanded,\n embeddingList\n )[0];\n const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;\n\n const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];\n const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];\n\n while (selectedEmbeddingsIndexes.length < Math.min(k, embeddingList.length)) {\n let bestScore = -Infinity;\n let bestIndex = -1;\n\n const similarityToSelected = cosineSimilarity(\n embeddingList,\n selectedEmbeddings\n );\n\n similarityToQuery.forEach((queryScore, queryScoreIndex) => {\n if (selectedEmbeddingsIndexes.includes(queryScoreIndex)) {\n return;\n }\n const maxSimilarityToSelected = Math.max(\n ...similarityToSelected[queryScoreIndex]\n );\n const score =\n lambda * queryScore - (1 - lambda) * maxSimilarityToSelected;\n\n if (score > bestScore) {\n bestScore = score;\n bestIndex = queryScoreIndex;\n }\n });\n selectedEmbeddings.push(embeddingList[bestIndex]);\n selectedEmbeddingsIndexes.push(bestIndex);\n }\n\n return selectedEmbeddingsIndexes;\n}\n\ntype MaxInfo = {\n maxIndex: number;\n maxValue: number;\n};\n\n/**\n * Finds the index of the maximum value in the given array.\n * @param {number[]} array - The input array.\n *\n * @returns {number} The index of the maximum value in the array. If the array is empty, returns -1.\n */\nfunction argMax(array: number[]): MaxInfo {\n if (array.length === 0) {\n return {\n maxIndex: -1,\n maxValue: NaN,\n };\n }\n\n let maxValue = array[0];\n let maxIndex = 0;\n\n for (let i = 1; i < array.length; i += 1) {\n if (array[i] > maxValue) {\n maxIndex = i;\n maxValue = array[i];\n }\n }\n return { maxIndex, maxValue };\n}\n\nfunction matrixMaxVal(arrays: number[][]): number {\n return arrays.reduce(\n (acc, array) => Math.max(acc, argMax(array).maxValue),\n 0\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,WACdA,GACAC,GACAC,MACY;AACZ,KACE,EAAE,WAAW,KACb,EAAE,GAAG,WAAW,KAChB,EAAE,WAAW,KACb,EAAE,GAAG,WAAW,EAEhB,QAAO,CAAC,CAAE,CAAC;AAGb,KAAI,EAAE,GAAG,WAAW,EAAE,GAAG,OACvB,OAAM,IAAI,MACR,CAAC,2DAA2D,EAAE,CAC5D,EAAE,QACF,EAAE,GAAG,MACN,EAAC,iBAAiB,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAO,EAAC,CAAC,CAAC;AAInD,QAAO,EAAE,IAAI,CAAC,YACZ,EAAE,IAAI,CAAC,YAAY,KAAK,SAAS,QAAQ,CAAC,CAAC,IAAI,CAAC,eAC9C,OAAO,MAAM,WAAW,GAAG,IAAI,WAChC,CACF;AACF;AAED,SAAgB,UAAUC,GAAe,aAAa,OAAmB;CACvE,MAAM,MAAM,aAAa,EAAE;AAC3B,QAAO,EAAE,IAAI,CAAC,QACZ,IAAI,IAAI,CAAC,QAAS,aAAa,IAAI,MAAM,MAAM,MAAM,IAAK,CAC3D;AACF;;;;;;;;;;;AAYD,SAAgB,iBAAiBH,GAAeC,GAA2B;AACzE,QAAO,WAAW,GAAG,GAAGG,4BAAO;AAChC;AAED,SAAgBC,eAAaL,GAAeC,GAA2B;AACrE,QAAO,WAAW,GAAG,GAAGK,+BAAqB;AAC9C;AAED,SAAgB,kBAAkBN,GAAeC,GAA2B;AAC1E,QAAO,WAAW,GAAG,GAAGM,4BAAU;AACnC;;;;;;;;;;;;AAaD,SAAgB,yBACdC,gBACAC,eACA,SAAS,IACT,IAAI,GACM;AACV,KAAI,KAAK,IAAI,GAAG,cAAc,OAAO,IAAI,EACvC,QAAO,CAAE;CAGX,MAAM,yBACJ,MAAM,QAAQ,eAAe,GAAG,GAAG,iBAAiB,CAAC,cAAe;CAGtE,MAAM,oBAAoB,iBACxB,wBACA,cACD,CAAC;CACF,MAAM,4BAA4B,OAAO,kBAAkB,CAAC;CAE5D,MAAM,qBAAqB,CAAC,cAAc,0BAA2B;CACrE,MAAM,4BAA4B,CAAC,yBAA0B;AAE7D,QAAO,0BAA0B,SAAS,KAAK,IAAI,GAAG,cAAc,OAAO,EAAE;EAC3E,IAAI,YAAY;EAChB,IAAI,YAAY;EAEhB,MAAM,uBAAuB,iBAC3B,eACA,mBACD;EAED,kBAAkB,QAAQ,CAAC,YAAY,oBAAoB;AACzD,OAAI,0BAA0B,SAAS,gBAAgB,CACrD;GAEF,MAAM,0BAA0B,KAAK,IACnC,GAAG,qBAAqB,iBACzB;GACD,MAAM,QACJ,SAAS,cAAc,IAAI,UAAU;AAEvC,OAAI,QAAQ,WAAW;IACrB,YAAY;IACZ,YAAY;GACb;EACF,EAAC;EACF,mBAAmB,KAAK,cAAc,WAAW;EACjD,0BAA0B,KAAK,UAAU;CAC1C;AAED,QAAO;AACR;;;;;;;AAaD,SAAS,OAAOC,OAA0B;AACxC,KAAI,MAAM,WAAW,EACnB,QAAO;EACL,UAAU;EACV,UAAU;CACX;CAGH,IAAI,WAAW,MAAM;CACrB,IAAI,WAAW;AAEf,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,EACrC,KAAI,MAAM,KAAK,UAAU;EACvB,WAAW;EACX,WAAW,MAAM;CAClB;AAEH,QAAO;EAAE;EAAU;CAAU;AAC9B;AAED,SAAS,aAAaC,QAA4B;AAChD,QAAO,OAAO,OACZ,CAAC,KAAK,UAAU,KAAK,IAAI,KAAK,OAAO,MAAM,CAAC,SAAS,EACrD,EACD;AACF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
//#region src/utils/math.d.ts
|
|
2
|
+
type VectorFunction = (xVector: number[], yVector: number[]) => number;
|
|
3
|
+
/**
|
|
4
|
+
* Apply a row-wise function between two matrices with the same number of columns.
|
|
5
|
+
*
|
|
6
|
+
* @param {number[][]} X - The first matrix.
|
|
7
|
+
* @param {number[][]} Y - The second matrix.
|
|
8
|
+
* @param {VectorFunction} func - The function to apply.
|
|
9
|
+
*
|
|
10
|
+
* @throws {Error} If the number of columns in X and Y are not the same.
|
|
11
|
+
*
|
|
12
|
+
* @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.
|
|
13
|
+
*/
|
|
14
|
+
declare function matrixFunc(X: number[][], Y: number[][], func: VectorFunction): number[][];
|
|
15
|
+
declare function normalize(M: number[][], similarity?: boolean): number[][];
|
|
16
|
+
/**
|
|
17
|
+
* This function calculates the row-wise cosine similarity between two matrices with the same number of columns.
|
|
18
|
+
*
|
|
19
|
+
* @param {number[][]} X - The first matrix.
|
|
20
|
+
* @param {number[][]} Y - The second matrix.
|
|
21
|
+
*
|
|
22
|
+
* @throws {Error} If the number of columns in X and Y are not the same.
|
|
23
|
+
*
|
|
24
|
+
* @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.
|
|
25
|
+
*/
|
|
26
|
+
declare function cosineSimilarity(X: number[][], Y: number[][]): number[][];
|
|
27
|
+
declare function innerProduct(X: number[][], Y: number[][]): number[][];
|
|
28
|
+
declare function euclideanDistance(X: number[][], Y: number[][]): number[][];
|
|
29
|
+
/**
|
|
30
|
+
* This function implements the Maximal Marginal Relevance algorithm
|
|
31
|
+
* to select a set of embeddings that maximizes the diversity and relevance to a query embedding.
|
|
32
|
+
*
|
|
33
|
+
* @param {number[]|number[][]} queryEmbedding - The query embedding.
|
|
34
|
+
* @param {number[][]} embeddingList - The list of embeddings to select from.
|
|
35
|
+
* @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.
|
|
36
|
+
* @param {number} [k=4] - The maximum number of embeddings to select.
|
|
37
|
+
*
|
|
38
|
+
* @returns {number[]} The indexes of the selected embeddings in the embeddingList.
|
|
39
|
+
*/
|
|
40
|
+
declare function maximalMarginalRelevance(queryEmbedding: number[] | number[][], embeddingList: number[][], lambda?: number, k?: number): number[];
|
|
41
|
+
//#endregion
|
|
42
|
+
export { cosineSimilarity, euclideanDistance, innerProduct, matrixFunc, maximalMarginalRelevance, normalize };
|
|
43
|
+
//# sourceMappingURL=math.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.d.cts","names":["VectorFunction","matrixFunc","normalize","cosineSimilarity","innerProduct","euclideanDistance","maximalMarginalRelevance"],"sources":["../../src/utils/math.d.ts"],"sourcesContent":["type VectorFunction = (xVector: number[], yVector: number[]) => number;\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\nexport declare function matrixFunc(X: number[][], Y: number[][], func: VectorFunction): number[][];\nexport declare function normalize(M: number[][], similarity?: boolean): number[][];\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport declare function cosineSimilarity(X: number[][], Y: number[][]): number[][];\nexport declare function innerProduct(X: number[][], Y: number[][]): number[][];\nexport declare function euclideanDistance(X: number[][], Y: number[][]): number[][];\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport declare function maximalMarginalRelevance(queryEmbedding: number[] | number[][], embeddingList: number[][], lambda?: number, k?: number): number[];\nexport {};\n"],"mappings":";KAAKA,cAAAA;;AAYL;AACA;AAWA;AACA;AACA;AAYA;;;;;iBA1BwBC,UAAAA,qCAA+CD;iBAC/CE,SAAAA;;;;;;;;;;;iBAWAC,gBAAAA;iBACAC,YAAAA;iBACAC,iBAAAA;;;;;;;;;;;;iBAYAC,wBAAAA"}
|
package/dist/utils/math.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
//#region src/utils/math.d.ts
|
|
1
2
|
type VectorFunction = (xVector: number[], yVector: number[]) => number;
|
|
2
3
|
/**
|
|
3
4
|
* Apply a row-wise function between two matrices with the same number of columns.
|
|
@@ -10,8 +11,8 @@ type VectorFunction = (xVector: number[], yVector: number[]) => number;
|
|
|
10
11
|
*
|
|
11
12
|
* @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.
|
|
12
13
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
declare function matrixFunc(X: number[][], Y: number[][], func: VectorFunction): number[][];
|
|
15
|
+
declare function normalize(M: number[][], similarity?: boolean): number[][];
|
|
15
16
|
/**
|
|
16
17
|
* This function calculates the row-wise cosine similarity between two matrices with the same number of columns.
|
|
17
18
|
*
|
|
@@ -22,9 +23,9 @@ export declare function normalize(M: number[][], similarity?: boolean): number[]
|
|
|
22
23
|
*
|
|
23
24
|
* @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.
|
|
24
25
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
declare function cosineSimilarity(X: number[][], Y: number[][]): number[][];
|
|
27
|
+
declare function innerProduct(X: number[][], Y: number[][]): number[][];
|
|
28
|
+
declare function euclideanDistance(X: number[][], Y: number[][]): number[][];
|
|
28
29
|
/**
|
|
29
30
|
* This function implements the Maximal Marginal Relevance algorithm
|
|
30
31
|
* to select a set of embeddings that maximizes the diversity and relevance to a query embedding.
|
|
@@ -36,5 +37,7 @@ export declare function euclideanDistance(X: number[][], Y: number[][]): number[
|
|
|
36
37
|
*
|
|
37
38
|
* @returns {number[]} The indexes of the selected embeddings in the embeddingList.
|
|
38
39
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
declare function maximalMarginalRelevance(queryEmbedding: number[] | number[][], embeddingList: number[][], lambda?: number, k?: number): number[];
|
|
41
|
+
//#endregion
|
|
42
|
+
export { cosineSimilarity, euclideanDistance, innerProduct, matrixFunc, maximalMarginalRelevance, normalize };
|
|
43
|
+
//# sourceMappingURL=math.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.d.ts","names":["VectorFunction","matrixFunc","normalize","cosineSimilarity","innerProduct","euclideanDistance","maximalMarginalRelevance"],"sources":["../../src/utils/math.d.ts"],"sourcesContent":["type VectorFunction = (xVector: number[], yVector: number[]) => number;\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\nexport declare function matrixFunc(X: number[][], Y: number[][], func: VectorFunction): number[][];\nexport declare function normalize(M: number[][], similarity?: boolean): number[][];\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport declare function cosineSimilarity(X: number[][], Y: number[][]): number[][];\nexport declare function innerProduct(X: number[][], Y: number[][]): number[][];\nexport declare function euclideanDistance(X: number[][], Y: number[][]): number[][];\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport declare function maximalMarginalRelevance(queryEmbedding: number[] | number[][], embeddingList: number[][], lambda?: number, k?: number): number[];\nexport {};\n"],"mappings":";KAAKA,cAAAA;;AAYL;AACA;AAWA;AACA;AACA;AAYA;;;;;iBA1BwBC,UAAAA,qCAA+CD;iBAC/CE,SAAAA;;;;;;;;;;;iBAWAC,gBAAAA;iBACAC,YAAAA;iBACAC,iBAAAA;;;;;;;;;;;;iBAYAC,wBAAAA"}
|
package/dist/utils/math.js
CHANGED
|
@@ -1,118 +1,119 @@
|
|
|
1
|
+
import { __export } from "../_virtual/rolldown_runtime.js";
|
|
1
2
|
import { cosine } from "./ml-distance/similarities.js";
|
|
2
|
-
import { innerProduct
|
|
3
|
+
import { innerProduct } from "./ml-distance/distances.js";
|
|
3
4
|
import { euclidean } from "./ml-distance-euclidean/euclidean.js";
|
|
5
|
+
|
|
6
|
+
//#region src/utils/math.ts
|
|
7
|
+
var math_exports = {};
|
|
8
|
+
__export(math_exports, {
|
|
9
|
+
cosineSimilarity: () => cosineSimilarity,
|
|
10
|
+
euclideanDistance: () => euclideanDistance,
|
|
11
|
+
innerProduct: () => innerProduct$1,
|
|
12
|
+
matrixFunc: () => matrixFunc,
|
|
13
|
+
maximalMarginalRelevance: () => maximalMarginalRelevance,
|
|
14
|
+
normalize: () => normalize
|
|
15
|
+
});
|
|
4
16
|
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
Y[0].length === 0) {
|
|
20
|
-
return [[]];
|
|
21
|
-
}
|
|
22
|
-
if (X[0].length !== Y[0].length) {
|
|
23
|
-
throw new Error(`Number of columns in X and Y must be the same. X has shape ${[
|
|
24
|
-
X.length,
|
|
25
|
-
X[0].length,
|
|
26
|
-
]} and Y has shape ${[Y.length, Y[0].length]}.`);
|
|
27
|
-
}
|
|
28
|
-
return X.map((xVector) => Y.map((yVector) => func(xVector, yVector)).map((similarity) => Number.isNaN(similarity) ? 0 : similarity));
|
|
17
|
+
* Apply a row-wise function between two matrices with the same number of columns.
|
|
18
|
+
*
|
|
19
|
+
* @param {number[][]} X - The first matrix.
|
|
20
|
+
* @param {number[][]} Y - The second matrix.
|
|
21
|
+
* @param {VectorFunction} func - The function to apply.
|
|
22
|
+
*
|
|
23
|
+
* @throws {Error} If the number of columns in X and Y are not the same.
|
|
24
|
+
*
|
|
25
|
+
* @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.
|
|
26
|
+
*/
|
|
27
|
+
function matrixFunc(X, Y, func) {
|
|
28
|
+
if (X.length === 0 || X[0].length === 0 || Y.length === 0 || Y[0].length === 0) return [[]];
|
|
29
|
+
if (X[0].length !== Y[0].length) throw new Error(`Number of columns in X and Y must be the same. X has shape ${[X.length, X[0].length]} and Y has shape ${[Y.length, Y[0].length]}.`);
|
|
30
|
+
return X.map((xVector) => Y.map((yVector) => func(xVector, yVector)).map((similarity) => Number.isNaN(similarity) ? 0 : similarity));
|
|
29
31
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
function normalize(M, similarity = false) {
|
|
33
|
+
const max = matrixMaxVal(M);
|
|
34
|
+
return M.map((row) => row.map((val) => similarity ? 1 - val / max : val / max));
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
* This function calculates the row-wise cosine similarity between two matrices with the same number of columns.
|
|
38
|
+
*
|
|
39
|
+
* @param {number[][]} X - The first matrix.
|
|
40
|
+
* @param {number[][]} Y - The second matrix.
|
|
41
|
+
*
|
|
42
|
+
* @throws {Error} If the number of columns in X and Y are not the same.
|
|
43
|
+
*
|
|
44
|
+
* @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.
|
|
45
|
+
*/
|
|
46
|
+
function cosineSimilarity(X, Y) {
|
|
47
|
+
return matrixFunc(X, Y, cosine);
|
|
46
48
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
function innerProduct$1(X, Y) {
|
|
50
|
+
return matrixFunc(X, Y, innerProduct);
|
|
49
51
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
+
function euclideanDistance(X, Y) {
|
|
53
|
+
return matrixFunc(X, Y, euclidean);
|
|
52
54
|
}
|
|
53
55
|
/**
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
selectedEmbeddings.push(embeddingList[bestIndex]);
|
|
89
|
-
selectedEmbeddingsIndexes.push(bestIndex);
|
|
90
|
-
}
|
|
91
|
-
return selectedEmbeddingsIndexes;
|
|
56
|
+
* This function implements the Maximal Marginal Relevance algorithm
|
|
57
|
+
* to select a set of embeddings that maximizes the diversity and relevance to a query embedding.
|
|
58
|
+
*
|
|
59
|
+
* @param {number[]|number[][]} queryEmbedding - The query embedding.
|
|
60
|
+
* @param {number[][]} embeddingList - The list of embeddings to select from.
|
|
61
|
+
* @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.
|
|
62
|
+
* @param {number} [k=4] - The maximum number of embeddings to select.
|
|
63
|
+
*
|
|
64
|
+
* @returns {number[]} The indexes of the selected embeddings in the embeddingList.
|
|
65
|
+
*/
|
|
66
|
+
function maximalMarginalRelevance(queryEmbedding, embeddingList, lambda = .5, k = 4) {
|
|
67
|
+
if (Math.min(k, embeddingList.length) <= 0) return [];
|
|
68
|
+
const queryEmbeddingExpanded = Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding];
|
|
69
|
+
const similarityToQuery = cosineSimilarity(queryEmbeddingExpanded, embeddingList)[0];
|
|
70
|
+
const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;
|
|
71
|
+
const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];
|
|
72
|
+
const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];
|
|
73
|
+
while (selectedEmbeddingsIndexes.length < Math.min(k, embeddingList.length)) {
|
|
74
|
+
let bestScore = -Infinity;
|
|
75
|
+
let bestIndex = -1;
|
|
76
|
+
const similarityToSelected = cosineSimilarity(embeddingList, selectedEmbeddings);
|
|
77
|
+
similarityToQuery.forEach((queryScore, queryScoreIndex) => {
|
|
78
|
+
if (selectedEmbeddingsIndexes.includes(queryScoreIndex)) return;
|
|
79
|
+
const maxSimilarityToSelected = Math.max(...similarityToSelected[queryScoreIndex]);
|
|
80
|
+
const score = lambda * queryScore - (1 - lambda) * maxSimilarityToSelected;
|
|
81
|
+
if (score > bestScore) {
|
|
82
|
+
bestScore = score;
|
|
83
|
+
bestIndex = queryScoreIndex;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
selectedEmbeddings.push(embeddingList[bestIndex]);
|
|
87
|
+
selectedEmbeddingsIndexes.push(bestIndex);
|
|
88
|
+
}
|
|
89
|
+
return selectedEmbeddingsIndexes;
|
|
92
90
|
}
|
|
93
91
|
/**
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
92
|
+
* Finds the index of the maximum value in the given array.
|
|
93
|
+
* @param {number[]} array - The input array.
|
|
94
|
+
*
|
|
95
|
+
* @returns {number} The index of the maximum value in the array. If the array is empty, returns -1.
|
|
96
|
+
*/
|
|
99
97
|
function argMax(array) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
return { maxIndex, maxValue };
|
|
98
|
+
if (array.length === 0) return {
|
|
99
|
+
maxIndex: -1,
|
|
100
|
+
maxValue: NaN
|
|
101
|
+
};
|
|
102
|
+
let maxValue = array[0];
|
|
103
|
+
let maxIndex = 0;
|
|
104
|
+
for (let i = 1; i < array.length; i += 1) if (array[i] > maxValue) {
|
|
105
|
+
maxIndex = i;
|
|
106
|
+
maxValue = array[i];
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
maxIndex,
|
|
110
|
+
maxValue
|
|
111
|
+
};
|
|
115
112
|
}
|
|
116
113
|
function matrixMaxVal(arrays) {
|
|
117
|
-
|
|
114
|
+
return arrays.reduce((acc, array) => Math.max(acc, argMax(array).maxValue), 0);
|
|
118
115
|
}
|
|
116
|
+
|
|
117
|
+
//#endregion
|
|
118
|
+
export { cosineSimilarity, euclideanDistance, innerProduct$1 as innerProduct, math_exports, matrixFunc, maximalMarginalRelevance, normalize };
|
|
119
|
+
//# sourceMappingURL=math.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.js","names":["X: number[][]","Y: number[][]","func: VectorFunction","M: number[][]","innerProduct","innerProductDistance","queryEmbedding: number[] | number[][]","embeddingList: number[][]","array: number[]","arrays: number[][]"],"sources":["../../src/utils/math.ts"],"sourcesContent":["import { cosine } from \"./ml-distance/similarities.js\";\nimport { innerProduct as innerProductDistance } from \"./ml-distance/distances.js\";\nimport { euclidean } from \"./ml-distance-euclidean/euclidean.js\";\n\ntype VectorFunction = (xVector: number[], yVector: number[]) => number;\n\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\n\nexport function matrixFunc(\n X: number[][],\n Y: number[][],\n func: VectorFunction\n): number[][] {\n if (\n X.length === 0 ||\n X[0].length === 0 ||\n Y.length === 0 ||\n Y[0].length === 0\n ) {\n return [[]];\n }\n\n if (X[0].length !== Y[0].length) {\n throw new Error(\n `Number of columns in X and Y must be the same. X has shape ${[\n X.length,\n X[0].length,\n ]} and Y has shape ${[Y.length, Y[0].length]}.`\n );\n }\n\n return X.map((xVector) =>\n Y.map((yVector) => func(xVector, yVector)).map((similarity) =>\n Number.isNaN(similarity) ? 0 : similarity\n )\n );\n}\n\nexport function normalize(M: number[][], similarity = false): number[][] {\n const max = matrixMaxVal(M);\n return M.map((row) =>\n row.map((val) => (similarity ? 1 - val / max : val / max))\n );\n}\n\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport function cosineSimilarity(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, cosine);\n}\n\nexport function innerProduct(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, innerProductDistance);\n}\n\nexport function euclideanDistance(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, euclidean);\n}\n\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport function maximalMarginalRelevance(\n queryEmbedding: number[] | number[][],\n embeddingList: number[][],\n lambda = 0.5,\n k = 4\n): number[] {\n if (Math.min(k, embeddingList.length) <= 0) {\n return [];\n }\n\n const queryEmbeddingExpanded = (\n Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding]\n ) as number[][];\n\n const similarityToQuery = cosineSimilarity(\n queryEmbeddingExpanded,\n embeddingList\n )[0];\n const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;\n\n const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];\n const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];\n\n while (selectedEmbeddingsIndexes.length < Math.min(k, embeddingList.length)) {\n let bestScore = -Infinity;\n let bestIndex = -1;\n\n const similarityToSelected = cosineSimilarity(\n embeddingList,\n selectedEmbeddings\n );\n\n similarityToQuery.forEach((queryScore, queryScoreIndex) => {\n if (selectedEmbeddingsIndexes.includes(queryScoreIndex)) {\n return;\n }\n const maxSimilarityToSelected = Math.max(\n ...similarityToSelected[queryScoreIndex]\n );\n const score =\n lambda * queryScore - (1 - lambda) * maxSimilarityToSelected;\n\n if (score > bestScore) {\n bestScore = score;\n bestIndex = queryScoreIndex;\n }\n });\n selectedEmbeddings.push(embeddingList[bestIndex]);\n selectedEmbeddingsIndexes.push(bestIndex);\n }\n\n return selectedEmbeddingsIndexes;\n}\n\ntype MaxInfo = {\n maxIndex: number;\n maxValue: number;\n};\n\n/**\n * Finds the index of the maximum value in the given array.\n * @param {number[]} array - The input array.\n *\n * @returns {number} The index of the maximum value in the array. If the array is empty, returns -1.\n */\nfunction argMax(array: number[]): MaxInfo {\n if (array.length === 0) {\n return {\n maxIndex: -1,\n maxValue: NaN,\n };\n }\n\n let maxValue = array[0];\n let maxIndex = 0;\n\n for (let i = 1; i < array.length; i += 1) {\n if (array[i] > maxValue) {\n maxIndex = i;\n maxValue = array[i];\n }\n }\n return { maxIndex, maxValue };\n}\n\nfunction matrixMaxVal(arrays: number[][]): number {\n return arrays.reduce(\n (acc, array) => Math.max(acc, argMax(array).maxValue),\n 0\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,WACdA,GACAC,GACAC,MACY;AACZ,KACE,EAAE,WAAW,KACb,EAAE,GAAG,WAAW,KAChB,EAAE,WAAW,KACb,EAAE,GAAG,WAAW,EAEhB,QAAO,CAAC,CAAE,CAAC;AAGb,KAAI,EAAE,GAAG,WAAW,EAAE,GAAG,OACvB,OAAM,IAAI,MACR,CAAC,2DAA2D,EAAE,CAC5D,EAAE,QACF,EAAE,GAAG,MACN,EAAC,iBAAiB,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAO,EAAC,CAAC,CAAC;AAInD,QAAO,EAAE,IAAI,CAAC,YACZ,EAAE,IAAI,CAAC,YAAY,KAAK,SAAS,QAAQ,CAAC,CAAC,IAAI,CAAC,eAC9C,OAAO,MAAM,WAAW,GAAG,IAAI,WAChC,CACF;AACF;AAED,SAAgB,UAAUC,GAAe,aAAa,OAAmB;CACvE,MAAM,MAAM,aAAa,EAAE;AAC3B,QAAO,EAAE,IAAI,CAAC,QACZ,IAAI,IAAI,CAAC,QAAS,aAAa,IAAI,MAAM,MAAM,MAAM,IAAK,CAC3D;AACF;;;;;;;;;;;AAYD,SAAgB,iBAAiBH,GAAeC,GAA2B;AACzE,QAAO,WAAW,GAAG,GAAG,OAAO;AAChC;AAED,SAAgBG,eAAaJ,GAAeC,GAA2B;AACrE,QAAO,WAAW,GAAG,GAAGI,aAAqB;AAC9C;AAED,SAAgB,kBAAkBL,GAAeC,GAA2B;AAC1E,QAAO,WAAW,GAAG,GAAG,UAAU;AACnC;;;;;;;;;;;;AAaD,SAAgB,yBACdK,gBACAC,eACA,SAAS,IACT,IAAI,GACM;AACV,KAAI,KAAK,IAAI,GAAG,cAAc,OAAO,IAAI,EACvC,QAAO,CAAE;CAGX,MAAM,yBACJ,MAAM,QAAQ,eAAe,GAAG,GAAG,iBAAiB,CAAC,cAAe;CAGtE,MAAM,oBAAoB,iBACxB,wBACA,cACD,CAAC;CACF,MAAM,4BAA4B,OAAO,kBAAkB,CAAC;CAE5D,MAAM,qBAAqB,CAAC,cAAc,0BAA2B;CACrE,MAAM,4BAA4B,CAAC,yBAA0B;AAE7D,QAAO,0BAA0B,SAAS,KAAK,IAAI,GAAG,cAAc,OAAO,EAAE;EAC3E,IAAI,YAAY;EAChB,IAAI,YAAY;EAEhB,MAAM,uBAAuB,iBAC3B,eACA,mBACD;EAED,kBAAkB,QAAQ,CAAC,YAAY,oBAAoB;AACzD,OAAI,0BAA0B,SAAS,gBAAgB,CACrD;GAEF,MAAM,0BAA0B,KAAK,IACnC,GAAG,qBAAqB,iBACzB;GACD,MAAM,QACJ,SAAS,cAAc,IAAI,UAAU;AAEvC,OAAI,QAAQ,WAAW;IACrB,YAAY;IACZ,YAAY;GACb;EACF,EAAC;EACF,mBAAmB,KAAK,cAAc,WAAW;EACjD,0BAA0B,KAAK,UAAU;CAC1C;AAED,QAAO;AACR;;;;;;;AAaD,SAAS,OAAOC,OAA0B;AACxC,KAAI,MAAM,WAAW,EACnB,QAAO;EACL,UAAU;EACV,UAAU;CACX;CAGH,IAAI,WAAW,MAAM;CACrB,IAAI,WAAW;AAEf,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,EACrC,KAAI,MAAM,KAAK,UAAU;EACvB,WAAW;EACX,WAAW,MAAM;CAClB;AAEH,QAAO;EAAE;EAAU;CAAU;AAC9B;AAED,SAAS,aAAaC,QAA4B;AAChD,QAAO,OAAO,OACZ,CAAC,KAAK,UAAU,KAAK,IAAI,KAAK,OAAO,MAAM,CAAC,SAAS,EACrD,EACD;AACF"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.innerProduct = innerProduct;
|
|
1
|
+
|
|
2
|
+
//#region src/utils/ml-distance/distances.ts
|
|
4
3
|
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
*Returns the Inner Product similarity between vectors a and b
|
|
5
|
+
* @link [Inner Product Similarity algorithm](https://www.naun.org/main/NAUN/ijmmas/mmmas-49.pdf)
|
|
6
|
+
* @param a - first vector
|
|
7
|
+
* @param b - second vector
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
11
10
|
function innerProduct(a, b) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
return ans;
|
|
11
|
+
let ans = 0;
|
|
12
|
+
for (let i = 0; i < a.length; i++) ans += a[i] * b[i];
|
|
13
|
+
return ans;
|
|
17
14
|
}
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
exports.innerProduct = innerProduct;
|
|
18
|
+
//# sourceMappingURL=distances.cjs.map
|