@langchain/classic 1.0.39 → 1.0.41

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.
Files changed (1420) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/agents/agent.cjs +1 -1
  3. package/dist/agents/agent.cjs.map +1 -1
  4. package/dist/agents/agent.d.cts +1 -2
  5. package/dist/agents/agent.d.cts.map +1 -1
  6. package/dist/agents/agent.d.ts +1 -2
  7. package/dist/agents/agent.d.ts.map +1 -1
  8. package/dist/agents/agent.js +1 -1
  9. package/dist/agents/agent.js.map +1 -1
  10. package/dist/agents/chat/index.cjs +8 -7
  11. package/dist/agents/chat/index.cjs.map +1 -1
  12. package/dist/agents/chat/index.d.cts +0 -1
  13. package/dist/agents/chat/index.d.cts.map +1 -1
  14. package/dist/agents/chat/index.d.ts +0 -1
  15. package/dist/agents/chat/index.d.ts.map +1 -1
  16. package/dist/agents/chat/index.js +8 -6
  17. package/dist/agents/chat/index.js.map +1 -1
  18. package/dist/agents/chat/outputParser.cjs +1 -1
  19. package/dist/agents/chat/outputParser.cjs.map +1 -1
  20. package/dist/agents/chat/outputParser.d.cts +0 -1
  21. package/dist/agents/chat/outputParser.d.cts.map +1 -1
  22. package/dist/agents/chat/outputParser.d.ts +0 -1
  23. package/dist/agents/chat/outputParser.d.ts.map +1 -1
  24. package/dist/agents/chat/outputParser.js +1 -1
  25. package/dist/agents/chat/outputParser.js.map +1 -1
  26. package/dist/agents/chat_convo/index.cjs +9 -9
  27. package/dist/agents/chat_convo/index.cjs.map +1 -1
  28. package/dist/agents/chat_convo/index.d.cts +0 -1
  29. package/dist/agents/chat_convo/index.d.cts.map +1 -1
  30. package/dist/agents/chat_convo/index.d.ts +0 -1
  31. package/dist/agents/chat_convo/index.d.ts.map +1 -1
  32. package/dist/agents/chat_convo/index.js +9 -8
  33. package/dist/agents/chat_convo/index.js.map +1 -1
  34. package/dist/agents/chat_convo/outputParser.cjs +2 -2
  35. package/dist/agents/chat_convo/outputParser.cjs.map +1 -1
  36. package/dist/agents/chat_convo/outputParser.d.cts +0 -1
  37. package/dist/agents/chat_convo/outputParser.d.cts.map +1 -1
  38. package/dist/agents/chat_convo/outputParser.d.ts +0 -1
  39. package/dist/agents/chat_convo/outputParser.d.ts.map +1 -1
  40. package/dist/agents/chat_convo/outputParser.js +2 -1
  41. package/dist/agents/chat_convo/outputParser.js.map +1 -1
  42. package/dist/agents/executor.cjs +2 -1
  43. package/dist/agents/executor.cjs.map +1 -1
  44. package/dist/agents/executor.d.cts +10 -10
  45. package/dist/agents/executor.d.cts.map +1 -1
  46. package/dist/agents/executor.d.ts +10 -10
  47. package/dist/agents/executor.d.ts.map +1 -1
  48. package/dist/agents/executor.js +1 -1
  49. package/dist/agents/executor.js.map +1 -1
  50. package/dist/agents/format_scratchpad/log.cjs.map +1 -1
  51. package/dist/agents/format_scratchpad/log.d.cts +0 -1
  52. package/dist/agents/format_scratchpad/log.d.cts.map +1 -1
  53. package/dist/agents/format_scratchpad/log.d.ts +0 -1
  54. package/dist/agents/format_scratchpad/log.d.ts.map +1 -1
  55. package/dist/agents/format_scratchpad/log.js.map +1 -1
  56. package/dist/agents/format_scratchpad/log_to_message.cjs.map +1 -1
  57. package/dist/agents/format_scratchpad/log_to_message.d.cts +0 -1
  58. package/dist/agents/format_scratchpad/log_to_message.d.cts.map +1 -1
  59. package/dist/agents/format_scratchpad/log_to_message.d.ts +0 -1
  60. package/dist/agents/format_scratchpad/log_to_message.d.ts.map +1 -1
  61. package/dist/agents/format_scratchpad/log_to_message.js.map +1 -1
  62. package/dist/agents/format_scratchpad/openai_functions.cjs.map +1 -1
  63. package/dist/agents/format_scratchpad/openai_functions.d.cts +0 -1
  64. package/dist/agents/format_scratchpad/openai_functions.d.cts.map +1 -1
  65. package/dist/agents/format_scratchpad/openai_functions.d.ts +0 -1
  66. package/dist/agents/format_scratchpad/openai_functions.d.ts.map +1 -1
  67. package/dist/agents/format_scratchpad/openai_functions.js.map +1 -1
  68. package/dist/agents/format_scratchpad/tool_calling.cjs +1 -1
  69. package/dist/agents/format_scratchpad/tool_calling.cjs.map +1 -1
  70. package/dist/agents/format_scratchpad/tool_calling.d.cts +0 -1
  71. package/dist/agents/format_scratchpad/tool_calling.d.cts.map +1 -1
  72. package/dist/agents/format_scratchpad/tool_calling.d.ts +0 -1
  73. package/dist/agents/format_scratchpad/tool_calling.d.ts.map +1 -1
  74. package/dist/agents/format_scratchpad/tool_calling.js +1 -1
  75. package/dist/agents/format_scratchpad/tool_calling.js.map +1 -1
  76. package/dist/agents/format_scratchpad/xml.cjs.map +1 -1
  77. package/dist/agents/format_scratchpad/xml.d.cts +0 -1
  78. package/dist/agents/format_scratchpad/xml.d.cts.map +1 -1
  79. package/dist/agents/format_scratchpad/xml.d.ts +0 -1
  80. package/dist/agents/format_scratchpad/xml.d.ts.map +1 -1
  81. package/dist/agents/format_scratchpad/xml.js.map +1 -1
  82. package/dist/agents/helpers.cjs.map +1 -1
  83. package/dist/agents/helpers.js.map +1 -1
  84. package/dist/agents/index.d.cts +1 -0
  85. package/dist/agents/index.d.ts +1 -0
  86. package/dist/agents/initialize.cjs.map +1 -1
  87. package/dist/agents/initialize.d.cts +0 -1
  88. package/dist/agents/initialize.d.cts.map +1 -1
  89. package/dist/agents/initialize.d.ts +0 -1
  90. package/dist/agents/initialize.d.ts.map +1 -1
  91. package/dist/agents/initialize.js.map +1 -1
  92. package/dist/agents/load.cjs +1 -1
  93. package/dist/agents/load.cjs.map +1 -1
  94. package/dist/agents/load.d.cts +0 -1
  95. package/dist/agents/load.d.cts.map +1 -1
  96. package/dist/agents/load.d.ts +0 -1
  97. package/dist/agents/load.d.ts.map +1 -1
  98. package/dist/agents/load.js +1 -1
  99. package/dist/agents/load.js.map +1 -1
  100. package/dist/agents/mrkl/index.cjs +6 -6
  101. package/dist/agents/mrkl/index.cjs.map +1 -1
  102. package/dist/agents/mrkl/index.d.cts +0 -1
  103. package/dist/agents/mrkl/index.d.cts.map +1 -1
  104. package/dist/agents/mrkl/index.d.ts +0 -1
  105. package/dist/agents/mrkl/index.d.ts.map +1 -1
  106. package/dist/agents/mrkl/index.js +6 -5
  107. package/dist/agents/mrkl/index.js.map +1 -1
  108. package/dist/agents/mrkl/outputParser.cjs +3 -1
  109. package/dist/agents/mrkl/outputParser.cjs.map +1 -1
  110. package/dist/agents/mrkl/outputParser.d.cts +1 -2
  111. package/dist/agents/mrkl/outputParser.d.cts.map +1 -1
  112. package/dist/agents/mrkl/outputParser.d.ts +1 -2
  113. package/dist/agents/mrkl/outputParser.d.ts.map +1 -1
  114. package/dist/agents/mrkl/outputParser.js +3 -1
  115. package/dist/agents/mrkl/outputParser.js.map +1 -1
  116. package/dist/agents/openai/output_parser.d.cts +1 -1
  117. package/dist/agents/openai/output_parser.d.ts +1 -1
  118. package/dist/agents/openai_functions/index.cjs +6 -6
  119. package/dist/agents/openai_functions/index.cjs.map +1 -1
  120. package/dist/agents/openai_functions/index.d.cts +6 -9
  121. package/dist/agents/openai_functions/index.d.cts.map +1 -1
  122. package/dist/agents/openai_functions/index.d.ts +6 -9
  123. package/dist/agents/openai_functions/index.d.ts.map +1 -1
  124. package/dist/agents/openai_functions/index.js +6 -5
  125. package/dist/agents/openai_functions/index.js.map +1 -1
  126. package/dist/agents/openai_functions/output_parser.cjs +0 -1
  127. package/dist/agents/openai_functions/output_parser.cjs.map +1 -1
  128. package/dist/agents/openai_functions/output_parser.d.cts +0 -1
  129. package/dist/agents/openai_functions/output_parser.d.cts.map +1 -1
  130. package/dist/agents/openai_functions/output_parser.d.ts +0 -1
  131. package/dist/agents/openai_functions/output_parser.d.ts.map +1 -1
  132. package/dist/agents/openai_functions/output_parser.js.map +1 -1
  133. package/dist/agents/openai_tools/index.cjs +1 -1
  134. package/dist/agents/openai_tools/index.cjs.map +1 -1
  135. package/dist/agents/openai_tools/index.d.cts +7 -12
  136. package/dist/agents/openai_tools/index.d.cts.map +1 -1
  137. package/dist/agents/openai_tools/index.d.ts +7 -12
  138. package/dist/agents/openai_tools/index.d.ts.map +1 -1
  139. package/dist/agents/openai_tools/index.js +1 -1
  140. package/dist/agents/openai_tools/index.js.map +1 -1
  141. package/dist/agents/openai_tools/output_parser.cjs +0 -1
  142. package/dist/agents/openai_tools/output_parser.cjs.map +1 -1
  143. package/dist/agents/openai_tools/output_parser.d.cts +1 -2
  144. package/dist/agents/openai_tools/output_parser.d.cts.map +1 -1
  145. package/dist/agents/openai_tools/output_parser.d.ts +1 -2
  146. package/dist/agents/openai_tools/output_parser.d.ts.map +1 -1
  147. package/dist/agents/openai_tools/output_parser.js.map +1 -1
  148. package/dist/agents/react/index.cjs +0 -1
  149. package/dist/agents/react/index.cjs.map +1 -1
  150. package/dist/agents/react/index.d.cts +5 -10
  151. package/dist/agents/react/index.d.cts.map +1 -1
  152. package/dist/agents/react/index.d.ts +5 -10
  153. package/dist/agents/react/index.d.ts.map +1 -1
  154. package/dist/agents/react/index.js.map +1 -1
  155. package/dist/agents/react/output_parser.cjs.map +1 -1
  156. package/dist/agents/react/output_parser.d.cts +0 -1
  157. package/dist/agents/react/output_parser.d.cts.map +1 -1
  158. package/dist/agents/react/output_parser.d.ts +0 -1
  159. package/dist/agents/react/output_parser.d.ts.map +1 -1
  160. package/dist/agents/react/output_parser.js.map +1 -1
  161. package/dist/agents/structured_chat/index.cjs +6 -6
  162. package/dist/agents/structured_chat/index.cjs.map +1 -1
  163. package/dist/agents/structured_chat/index.d.cts +5 -10
  164. package/dist/agents/structured_chat/index.d.cts.map +1 -1
  165. package/dist/agents/structured_chat/index.d.ts +5 -10
  166. package/dist/agents/structured_chat/index.d.ts.map +1 -1
  167. package/dist/agents/structured_chat/index.js +6 -5
  168. package/dist/agents/structured_chat/index.js.map +1 -1
  169. package/dist/agents/structured_chat/outputParser.cjs +2 -2
  170. package/dist/agents/structured_chat/outputParser.cjs.map +1 -1
  171. package/dist/agents/structured_chat/outputParser.d.cts +0 -1
  172. package/dist/agents/structured_chat/outputParser.d.cts.map +1 -1
  173. package/dist/agents/structured_chat/outputParser.d.ts +0 -1
  174. package/dist/agents/structured_chat/outputParser.d.ts.map +1 -1
  175. package/dist/agents/structured_chat/outputParser.js +2 -1
  176. package/dist/agents/structured_chat/outputParser.js.map +1 -1
  177. package/dist/agents/tool_calling/index.cjs +0 -1
  178. package/dist/agents/tool_calling/index.cjs.map +1 -1
  179. package/dist/agents/tool_calling/index.d.cts +6 -11
  180. package/dist/agents/tool_calling/index.d.cts.map +1 -1
  181. package/dist/agents/tool_calling/index.d.ts +6 -11
  182. package/dist/agents/tool_calling/index.d.ts.map +1 -1
  183. package/dist/agents/tool_calling/index.js.map +1 -1
  184. package/dist/agents/tool_calling/output_parser.cjs +1 -1
  185. package/dist/agents/tool_calling/output_parser.cjs.map +1 -1
  186. package/dist/agents/tool_calling/output_parser.d.cts +1 -1
  187. package/dist/agents/tool_calling/output_parser.d.cts.map +1 -1
  188. package/dist/agents/tool_calling/output_parser.d.ts +1 -1
  189. package/dist/agents/tool_calling/output_parser.d.ts.map +1 -1
  190. package/dist/agents/tool_calling/output_parser.js +1 -1
  191. package/dist/agents/tool_calling/output_parser.js.map +1 -1
  192. package/dist/agents/toolkits/base.cjs +0 -1
  193. package/dist/agents/toolkits/conversational_retrieval/openai_functions.cjs.map +1 -1
  194. package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.cts +0 -1
  195. package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.cts.map +1 -1
  196. package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.ts +0 -1
  197. package/dist/agents/toolkits/conversational_retrieval/openai_functions.d.ts.map +1 -1
  198. package/dist/agents/toolkits/conversational_retrieval/openai_functions.js.map +1 -1
  199. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs +0 -1
  200. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.cjs.map +1 -1
  201. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.cts +2 -4
  202. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.cts.map +1 -1
  203. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts +2 -4
  204. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts.map +1 -1
  205. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.js.map +1 -1
  206. package/dist/agents/toolkits/conversational_retrieval/tool.cjs +0 -1
  207. package/dist/agents/toolkits/conversational_retrieval/tool.cjs.map +1 -1
  208. package/dist/agents/toolkits/conversational_retrieval/tool.d.cts +0 -1
  209. package/dist/agents/toolkits/conversational_retrieval/tool.d.cts.map +1 -1
  210. package/dist/agents/toolkits/conversational_retrieval/tool.d.ts +0 -1
  211. package/dist/agents/toolkits/conversational_retrieval/tool.d.ts.map +1 -1
  212. package/dist/agents/toolkits/conversational_retrieval/tool.js.map +1 -1
  213. package/dist/agents/toolkits/json/json.cjs +1 -1
  214. package/dist/agents/toolkits/json/json.cjs.map +1 -1
  215. package/dist/agents/toolkits/json/json.d.cts +0 -1
  216. package/dist/agents/toolkits/json/json.d.cts.map +1 -1
  217. package/dist/agents/toolkits/json/json.d.ts +0 -1
  218. package/dist/agents/toolkits/json/json.d.ts.map +1 -1
  219. package/dist/agents/toolkits/json/json.js +1 -0
  220. package/dist/agents/toolkits/json/json.js.map +1 -1
  221. package/dist/agents/toolkits/openapi/openapi.cjs +0 -1
  222. package/dist/agents/toolkits/openapi/openapi.cjs.map +1 -1
  223. package/dist/agents/toolkits/openapi/openapi.d.cts +0 -1
  224. package/dist/agents/toolkits/openapi/openapi.d.cts.map +1 -1
  225. package/dist/agents/toolkits/openapi/openapi.d.ts +0 -1
  226. package/dist/agents/toolkits/openapi/openapi.d.ts.map +1 -1
  227. package/dist/agents/toolkits/openapi/openapi.js.map +1 -1
  228. package/dist/agents/toolkits/sql/prompt.d.cts.map +1 -1
  229. package/dist/agents/toolkits/sql/prompt.d.ts.map +1 -1
  230. package/dist/agents/toolkits/sql/sql.cjs +0 -1
  231. package/dist/agents/toolkits/sql/sql.cjs.map +1 -1
  232. package/dist/agents/toolkits/sql/sql.d.cts +0 -1
  233. package/dist/agents/toolkits/sql/sql.d.cts.map +1 -1
  234. package/dist/agents/toolkits/sql/sql.d.ts +0 -1
  235. package/dist/agents/toolkits/sql/sql.d.ts.map +1 -1
  236. package/dist/agents/toolkits/sql/sql.js.map +1 -1
  237. package/dist/agents/toolkits/vectorstore/vectorstore.cjs +0 -1
  238. package/dist/agents/toolkits/vectorstore/vectorstore.cjs.map +1 -1
  239. package/dist/agents/toolkits/vectorstore/vectorstore.d.cts +0 -1
  240. package/dist/agents/toolkits/vectorstore/vectorstore.d.cts.map +1 -1
  241. package/dist/agents/toolkits/vectorstore/vectorstore.d.ts +0 -1
  242. package/dist/agents/toolkits/vectorstore/vectorstore.d.ts.map +1 -1
  243. package/dist/agents/toolkits/vectorstore/vectorstore.js.map +1 -1
  244. package/dist/agents/types.cjs +0 -1
  245. package/dist/agents/types.cjs.map +1 -1
  246. package/dist/agents/types.d.cts +1 -2
  247. package/dist/agents/types.d.cts.map +1 -1
  248. package/dist/agents/types.d.ts +1 -2
  249. package/dist/agents/types.d.ts.map +1 -1
  250. package/dist/agents/types.js.map +1 -1
  251. package/dist/agents/xml/index.cjs +6 -6
  252. package/dist/agents/xml/index.cjs.map +1 -1
  253. package/dist/agents/xml/index.d.cts +4 -8
  254. package/dist/agents/xml/index.d.cts.map +1 -1
  255. package/dist/agents/xml/index.d.ts +4 -8
  256. package/dist/agents/xml/index.d.ts.map +1 -1
  257. package/dist/agents/xml/index.js +6 -5
  258. package/dist/agents/xml/index.js.map +1 -1
  259. package/dist/agents/xml/output_parser.cjs.map +1 -1
  260. package/dist/agents/xml/output_parser.d.cts +0 -1
  261. package/dist/agents/xml/output_parser.d.cts.map +1 -1
  262. package/dist/agents/xml/output_parser.d.ts +0 -1
  263. package/dist/agents/xml/output_parser.d.ts.map +1 -1
  264. package/dist/agents/xml/output_parser.js.map +1 -1
  265. package/dist/cache/file_system.cjs.map +1 -1
  266. package/dist/cache/file_system.d.cts +0 -1
  267. package/dist/cache/file_system.d.cts.map +1 -1
  268. package/dist/cache/file_system.d.ts +0 -1
  269. package/dist/cache/file_system.d.ts.map +1 -1
  270. package/dist/cache/file_system.js.map +1 -1
  271. package/dist/callbacks/handlers/console.d.cts +0 -3
  272. package/dist/callbacks/handlers/console.d.ts +0 -3
  273. package/dist/callbacks/handlers/run_collector.d.cts +0 -3
  274. package/dist/callbacks/handlers/run_collector.d.ts +0 -3
  275. package/dist/callbacks/handlers/tracer.d.cts +0 -3
  276. package/dist/callbacks/handlers/tracer.d.ts +0 -3
  277. package/dist/callbacks/handlers/tracer_langchain.d.cts +0 -3
  278. package/dist/callbacks/handlers/tracer_langchain.d.ts +0 -3
  279. package/dist/callbacks/promises.d.cts +0 -3
  280. package/dist/callbacks/promises.d.ts +0 -3
  281. package/dist/chains/analyze_documents_chain.cjs +0 -1
  282. package/dist/chains/analyze_documents_chain.cjs.map +1 -1
  283. package/dist/chains/analyze_documents_chain.d.cts +1 -2
  284. package/dist/chains/analyze_documents_chain.d.cts.map +1 -1
  285. package/dist/chains/analyze_documents_chain.d.ts +1 -2
  286. package/dist/chains/analyze_documents_chain.d.ts.map +1 -1
  287. package/dist/chains/analyze_documents_chain.js.map +1 -1
  288. package/dist/chains/api/api_chain.cjs.map +1 -1
  289. package/dist/chains/api/api_chain.d.cts +0 -1
  290. package/dist/chains/api/api_chain.d.cts.map +1 -1
  291. package/dist/chains/api/api_chain.d.ts +0 -1
  292. package/dist/chains/api/api_chain.d.ts.map +1 -1
  293. package/dist/chains/api/api_chain.js.map +1 -1
  294. package/dist/chains/api/prompts.cjs +4 -3
  295. package/dist/chains/api/prompts.cjs.map +1 -1
  296. package/dist/chains/api/prompts.js +12 -11
  297. package/dist/chains/api/prompts.js.map +1 -1
  298. package/dist/chains/base.cjs +0 -1
  299. package/dist/chains/base.cjs.map +1 -1
  300. package/dist/chains/base.d.cts +7 -8
  301. package/dist/chains/base.d.cts.map +1 -1
  302. package/dist/chains/base.d.ts +7 -8
  303. package/dist/chains/base.d.ts.map +1 -1
  304. package/dist/chains/base.js.map +1 -1
  305. package/dist/chains/chat_vector_db_chain.cjs +0 -1
  306. package/dist/chains/chat_vector_db_chain.cjs.map +1 -1
  307. package/dist/chains/chat_vector_db_chain.d.cts +1 -2
  308. package/dist/chains/chat_vector_db_chain.d.cts.map +1 -1
  309. package/dist/chains/chat_vector_db_chain.d.ts +1 -2
  310. package/dist/chains/chat_vector_db_chain.d.ts.map +1 -1
  311. package/dist/chains/chat_vector_db_chain.js.map +1 -1
  312. package/dist/chains/combine_docs_chain.cjs +1 -2
  313. package/dist/chains/combine_docs_chain.cjs.map +1 -1
  314. package/dist/chains/combine_docs_chain.d.cts +1 -3
  315. package/dist/chains/combine_docs_chain.d.cts.map +1 -1
  316. package/dist/chains/combine_docs_chain.d.ts +1 -3
  317. package/dist/chains/combine_docs_chain.d.ts.map +1 -1
  318. package/dist/chains/combine_docs_chain.js +1 -1
  319. package/dist/chains/combine_docs_chain.js.map +1 -1
  320. package/dist/chains/combine_documents/base.cjs +1 -2
  321. package/dist/chains/combine_documents/base.cjs.map +1 -1
  322. package/dist/chains/combine_documents/base.js +1 -1
  323. package/dist/chains/combine_documents/base.js.map +1 -1
  324. package/dist/chains/combine_documents/reduce.cjs.map +1 -1
  325. package/dist/chains/combine_documents/reduce.d.cts +0 -1
  326. package/dist/chains/combine_documents/reduce.d.cts.map +1 -1
  327. package/dist/chains/combine_documents/reduce.d.ts +0 -1
  328. package/dist/chains/combine_documents/reduce.d.ts.map +1 -1
  329. package/dist/chains/combine_documents/reduce.js.map +1 -1
  330. package/dist/chains/combine_documents/stuff.cjs +0 -1
  331. package/dist/chains/combine_documents/stuff.cjs.map +1 -1
  332. package/dist/chains/combine_documents/stuff.d.cts +1 -8
  333. package/dist/chains/combine_documents/stuff.d.cts.map +1 -1
  334. package/dist/chains/combine_documents/stuff.d.ts +1 -8
  335. package/dist/chains/combine_documents/stuff.d.ts.map +1 -1
  336. package/dist/chains/combine_documents/stuff.js.map +1 -1
  337. package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +1 -1
  338. package/dist/chains/constitutional_ai/constitutional_chain.d.cts +0 -1
  339. package/dist/chains/constitutional_ai/constitutional_chain.d.cts.map +1 -1
  340. package/dist/chains/constitutional_ai/constitutional_chain.d.ts +0 -1
  341. package/dist/chains/constitutional_ai/constitutional_chain.d.ts.map +1 -1
  342. package/dist/chains/constitutional_ai/constitutional_chain.js.map +1 -1
  343. package/dist/chains/constitutional_ai/constitutional_principle.cjs +54 -54
  344. package/dist/chains/constitutional_ai/constitutional_principle.cjs.map +1 -1
  345. package/dist/chains/constitutional_ai/constitutional_principle.d.cts +1 -6
  346. package/dist/chains/constitutional_ai/constitutional_principle.d.cts.map +1 -1
  347. package/dist/chains/constitutional_ai/constitutional_principle.d.ts +1 -6
  348. package/dist/chains/constitutional_ai/constitutional_principle.d.ts.map +1 -1
  349. package/dist/chains/constitutional_ai/constitutional_principle.js +54 -54
  350. package/dist/chains/constitutional_ai/constitutional_principle.js.map +1 -1
  351. package/dist/chains/constitutional_ai/constitutional_prompts.cjs +5 -4
  352. package/dist/chains/constitutional_ai/constitutional_prompts.cjs.map +1 -1
  353. package/dist/chains/constitutional_ai/constitutional_prompts.js +4 -4
  354. package/dist/chains/constitutional_ai/constitutional_prompts.js.map +1 -1
  355. package/dist/chains/conversation.cjs +0 -1
  356. package/dist/chains/conversation.cjs.map +1 -1
  357. package/dist/chains/conversation.d.cts +1 -7
  358. package/dist/chains/conversation.d.cts.map +1 -1
  359. package/dist/chains/conversation.d.ts +1 -7
  360. package/dist/chains/conversation.d.ts.map +1 -1
  361. package/dist/chains/conversation.js.map +1 -1
  362. package/dist/chains/conversational_retrieval_chain.cjs +0 -1
  363. package/dist/chains/conversational_retrieval_chain.cjs.map +1 -1
  364. package/dist/chains/conversational_retrieval_chain.d.cts +5 -4
  365. package/dist/chains/conversational_retrieval_chain.d.cts.map +1 -1
  366. package/dist/chains/conversational_retrieval_chain.d.ts +5 -4
  367. package/dist/chains/conversational_retrieval_chain.d.ts.map +1 -1
  368. package/dist/chains/conversational_retrieval_chain.js.map +1 -1
  369. package/dist/chains/graph_qa/cypher.cjs +5 -4
  370. package/dist/chains/graph_qa/cypher.cjs.map +1 -1
  371. package/dist/chains/graph_qa/cypher.d.cts +0 -1
  372. package/dist/chains/graph_qa/cypher.d.cts.map +1 -1
  373. package/dist/chains/graph_qa/cypher.d.ts +0 -1
  374. package/dist/chains/graph_qa/cypher.d.ts.map +1 -1
  375. package/dist/chains/graph_qa/cypher.js +5 -4
  376. package/dist/chains/graph_qa/cypher.js.map +1 -1
  377. package/dist/chains/graph_qa/prompts.cjs +2 -3
  378. package/dist/chains/graph_qa/prompts.cjs.map +1 -1
  379. package/dist/chains/graph_qa/prompts.js +2 -2
  380. package/dist/chains/graph_qa/prompts.js.map +1 -1
  381. package/dist/chains/history_aware_retriever.cjs.map +1 -1
  382. package/dist/chains/history_aware_retriever.d.cts +1 -6
  383. package/dist/chains/history_aware_retriever.d.cts.map +1 -1
  384. package/dist/chains/history_aware_retriever.d.ts +1 -6
  385. package/dist/chains/history_aware_retriever.d.ts.map +1 -1
  386. package/dist/chains/history_aware_retriever.js.map +1 -1
  387. package/dist/chains/llm_chain.cjs +0 -1
  388. package/dist/chains/llm_chain.cjs.map +1 -1
  389. package/dist/chains/llm_chain.d.cts +0 -1
  390. package/dist/chains/llm_chain.d.cts.map +1 -1
  391. package/dist/chains/llm_chain.d.ts +0 -1
  392. package/dist/chains/llm_chain.d.ts.map +1 -1
  393. package/dist/chains/llm_chain.js.map +1 -1
  394. package/dist/chains/load.cjs +1 -1
  395. package/dist/chains/load.cjs.map +1 -1
  396. package/dist/chains/load.d.cts +0 -1
  397. package/dist/chains/load.d.cts.map +1 -1
  398. package/dist/chains/load.d.ts +0 -1
  399. package/dist/chains/load.d.ts.map +1 -1
  400. package/dist/chains/load.js +1 -1
  401. package/dist/chains/load.js.map +1 -1
  402. package/dist/chains/openai_functions/base.cjs +0 -1
  403. package/dist/chains/openai_functions/base.cjs.map +1 -1
  404. package/dist/chains/openai_functions/base.d.cts +6 -4
  405. package/dist/chains/openai_functions/base.d.cts.map +1 -1
  406. package/dist/chains/openai_functions/base.d.ts +6 -4
  407. package/dist/chains/openai_functions/base.d.ts.map +1 -1
  408. package/dist/chains/openai_functions/base.js.map +1 -1
  409. package/dist/chains/openai_functions/extraction.cjs +0 -1
  410. package/dist/chains/openai_functions/extraction.cjs.map +1 -1
  411. package/dist/chains/openai_functions/extraction.d.cts +0 -1
  412. package/dist/chains/openai_functions/extraction.d.cts.map +1 -1
  413. package/dist/chains/openai_functions/extraction.d.ts +0 -1
  414. package/dist/chains/openai_functions/extraction.d.ts.map +1 -1
  415. package/dist/chains/openai_functions/extraction.js.map +1 -1
  416. package/dist/chains/openai_functions/openapi.cjs +1 -1
  417. package/dist/chains/openai_functions/openapi.cjs.map +1 -1
  418. package/dist/chains/openai_functions/openapi.d.cts +0 -7
  419. package/dist/chains/openai_functions/openapi.d.cts.map +1 -1
  420. package/dist/chains/openai_functions/openapi.d.ts +0 -7
  421. package/dist/chains/openai_functions/openapi.d.ts.map +1 -1
  422. package/dist/chains/openai_functions/openapi.js +1 -1
  423. package/dist/chains/openai_functions/openapi.js.map +1 -1
  424. package/dist/chains/openai_functions/tagging.cjs +0 -1
  425. package/dist/chains/openai_functions/tagging.cjs.map +1 -1
  426. package/dist/chains/openai_functions/tagging.d.cts +0 -1
  427. package/dist/chains/openai_functions/tagging.d.cts.map +1 -1
  428. package/dist/chains/openai_functions/tagging.d.ts +0 -1
  429. package/dist/chains/openai_functions/tagging.d.ts.map +1 -1
  430. package/dist/chains/openai_functions/tagging.js.map +1 -1
  431. package/dist/chains/openai_moderation.cjs +0 -1
  432. package/dist/chains/openai_moderation.cjs.map +1 -1
  433. package/dist/chains/openai_moderation.d.cts +0 -1
  434. package/dist/chains/openai_moderation.d.cts.map +1 -1
  435. package/dist/chains/openai_moderation.d.ts +0 -1
  436. package/dist/chains/openai_moderation.d.ts.map +1 -1
  437. package/dist/chains/openai_moderation.js.map +1 -1
  438. package/dist/chains/query_constructor/index.cjs +6 -3
  439. package/dist/chains/query_constructor/index.cjs.map +1 -1
  440. package/dist/chains/query_constructor/index.d.cts +1 -5
  441. package/dist/chains/query_constructor/index.d.cts.map +1 -1
  442. package/dist/chains/query_constructor/index.d.ts +1 -5
  443. package/dist/chains/query_constructor/index.d.ts.map +1 -1
  444. package/dist/chains/query_constructor/index.js +6 -3
  445. package/dist/chains/query_constructor/index.js.map +1 -1
  446. package/dist/chains/query_constructor/parser.cjs +2 -1
  447. package/dist/chains/query_constructor/parser.cjs.map +1 -1
  448. package/dist/chains/query_constructor/parser.d.cts +0 -1
  449. package/dist/chains/query_constructor/parser.d.cts.map +1 -1
  450. package/dist/chains/query_constructor/parser.d.ts +0 -1
  451. package/dist/chains/query_constructor/parser.d.ts.map +1 -1
  452. package/dist/chains/query_constructor/parser.js +2 -0
  453. package/dist/chains/query_constructor/parser.js.map +1 -1
  454. package/dist/chains/query_constructor/prompt.cjs +28 -22
  455. package/dist/chains/query_constructor/prompt.cjs.map +1 -1
  456. package/dist/chains/query_constructor/prompt.d.cts +0 -1
  457. package/dist/chains/query_constructor/prompt.d.cts.map +1 -1
  458. package/dist/chains/query_constructor/prompt.d.ts +0 -1
  459. package/dist/chains/query_constructor/prompt.d.ts.map +1 -1
  460. package/dist/chains/query_constructor/prompt.js +25 -22
  461. package/dist/chains/query_constructor/prompt.js.map +1 -1
  462. package/dist/chains/question_answering/load.cjs.map +1 -1
  463. package/dist/chains/question_answering/load.d.cts +0 -1
  464. package/dist/chains/question_answering/load.d.cts.map +1 -1
  465. package/dist/chains/question_answering/load.d.ts +0 -1
  466. package/dist/chains/question_answering/load.d.ts.map +1 -1
  467. package/dist/chains/question_answering/load.js.map +1 -1
  468. package/dist/chains/question_answering/map_reduce_prompts.cjs +12 -11
  469. package/dist/chains/question_answering/map_reduce_prompts.cjs.map +1 -1
  470. package/dist/chains/question_answering/map_reduce_prompts.js +9 -9
  471. package/dist/chains/question_answering/map_reduce_prompts.js.map +1 -1
  472. package/dist/chains/question_answering/refine_prompts.cjs +30 -22
  473. package/dist/chains/question_answering/refine_prompts.cjs.map +1 -1
  474. package/dist/chains/question_answering/refine_prompts.js +25 -20
  475. package/dist/chains/question_answering/refine_prompts.js.map +1 -1
  476. package/dist/chains/question_answering/stuff_prompts.cjs +6 -6
  477. package/dist/chains/question_answering/stuff_prompts.cjs.map +1 -1
  478. package/dist/chains/question_answering/stuff_prompts.js +5 -5
  479. package/dist/chains/question_answering/stuff_prompts.js.map +1 -1
  480. package/dist/chains/retrieval.cjs.map +1 -1
  481. package/dist/chains/retrieval.d.cts +1 -5
  482. package/dist/chains/retrieval.d.cts.map +1 -1
  483. package/dist/chains/retrieval.d.ts +1 -5
  484. package/dist/chains/retrieval.d.ts.map +1 -1
  485. package/dist/chains/retrieval.js.map +1 -1
  486. package/dist/chains/retrieval_qa.cjs.map +1 -1
  487. package/dist/chains/retrieval_qa.d.cts +1 -2
  488. package/dist/chains/retrieval_qa.d.cts.map +1 -1
  489. package/dist/chains/retrieval_qa.d.ts +1 -2
  490. package/dist/chains/retrieval_qa.d.ts.map +1 -1
  491. package/dist/chains/retrieval_qa.js.map +1 -1
  492. package/dist/chains/router/llm_router.cjs.map +1 -1
  493. package/dist/chains/router/llm_router.d.cts +0 -1
  494. package/dist/chains/router/llm_router.d.cts.map +1 -1
  495. package/dist/chains/router/llm_router.d.ts +0 -1
  496. package/dist/chains/router/llm_router.d.ts.map +1 -1
  497. package/dist/chains/router/llm_router.js.map +1 -1
  498. package/dist/chains/router/multi_prompt.cjs +0 -1
  499. package/dist/chains/router/multi_prompt.cjs.map +1 -1
  500. package/dist/chains/router/multi_prompt.d.cts +1 -10
  501. package/dist/chains/router/multi_prompt.d.cts.map +1 -1
  502. package/dist/chains/router/multi_prompt.d.ts +1 -10
  503. package/dist/chains/router/multi_prompt.d.ts.map +1 -1
  504. package/dist/chains/router/multi_prompt.js.map +1 -1
  505. package/dist/chains/router/multi_retrieval_qa.cjs +0 -1
  506. package/dist/chains/router/multi_retrieval_qa.cjs.map +1 -1
  507. package/dist/chains/router/multi_retrieval_qa.d.cts +2 -11
  508. package/dist/chains/router/multi_retrieval_qa.d.cts.map +1 -1
  509. package/dist/chains/router/multi_retrieval_qa.d.ts +2 -11
  510. package/dist/chains/router/multi_retrieval_qa.d.ts.map +1 -1
  511. package/dist/chains/router/multi_retrieval_qa.js.map +1 -1
  512. package/dist/chains/router/multi_route.cjs.map +1 -1
  513. package/dist/chains/router/multi_route.d.cts +1 -2
  514. package/dist/chains/router/multi_route.d.cts.map +1 -1
  515. package/dist/chains/router/multi_route.d.ts +1 -2
  516. package/dist/chains/router/multi_route.d.ts.map +1 -1
  517. package/dist/chains/router/multi_route.js.map +1 -1
  518. package/dist/chains/router/utils.cjs.map +1 -1
  519. package/dist/chains/router/utils.js.map +1 -1
  520. package/dist/chains/sequential_chain.cjs.map +1 -1
  521. package/dist/chains/sequential_chain.d.cts +0 -4
  522. package/dist/chains/sequential_chain.d.cts.map +1 -1
  523. package/dist/chains/sequential_chain.d.ts +0 -4
  524. package/dist/chains/sequential_chain.d.ts.map +1 -1
  525. package/dist/chains/sequential_chain.js.map +1 -1
  526. package/dist/chains/serde.d.cts +1 -2
  527. package/dist/chains/serde.d.cts.map +1 -1
  528. package/dist/chains/serde.d.ts +1 -2
  529. package/dist/chains/serde.d.ts.map +1 -1
  530. package/dist/chains/sql_db/sql_db_chain.cjs +1 -2
  531. package/dist/chains/sql_db/sql_db_chain.cjs.map +1 -1
  532. package/dist/chains/sql_db/sql_db_chain.d.cts +9 -8
  533. package/dist/chains/sql_db/sql_db_chain.d.cts.map +1 -1
  534. package/dist/chains/sql_db/sql_db_chain.d.ts +9 -8
  535. package/dist/chains/sql_db/sql_db_chain.d.ts.map +1 -1
  536. package/dist/chains/sql_db/sql_db_chain.js +1 -1
  537. package/dist/chains/sql_db/sql_db_chain.js.map +1 -1
  538. package/dist/chains/sql_db/sql_db_prompt.cjs +7 -8
  539. package/dist/chains/sql_db/sql_db_prompt.cjs.map +1 -1
  540. package/dist/chains/sql_db/sql_db_prompt.d.cts +0 -1
  541. package/dist/chains/sql_db/sql_db_prompt.d.cts.map +1 -1
  542. package/dist/chains/sql_db/sql_db_prompt.d.ts +0 -1
  543. package/dist/chains/sql_db/sql_db_prompt.d.ts.map +1 -1
  544. package/dist/chains/sql_db/sql_db_prompt.js +7 -7
  545. package/dist/chains/sql_db/sql_db_prompt.js.map +1 -1
  546. package/dist/chains/summarization/load.cjs.map +1 -1
  547. package/dist/chains/summarization/load.d.cts +0 -1
  548. package/dist/chains/summarization/load.d.cts.map +1 -1
  549. package/dist/chains/summarization/load.d.ts +0 -1
  550. package/dist/chains/summarization/load.d.ts.map +1 -1
  551. package/dist/chains/summarization/load.js.map +1 -1
  552. package/dist/chains/summarization/refine_prompts.cjs +1 -2
  553. package/dist/chains/summarization/refine_prompts.cjs.map +1 -1
  554. package/dist/chains/summarization/refine_prompts.js +1 -1
  555. package/dist/chains/summarization/refine_prompts.js.map +1 -1
  556. package/dist/chains/summarization/stuff_prompts.cjs +1 -2
  557. package/dist/chains/summarization/stuff_prompts.cjs.map +1 -1
  558. package/dist/chains/summarization/stuff_prompts.js +1 -1
  559. package/dist/chains/summarization/stuff_prompts.js.map +1 -1
  560. package/dist/chains/transform.cjs.map +1 -1
  561. package/dist/chains/transform.d.cts +0 -1
  562. package/dist/chains/transform.d.cts.map +1 -1
  563. package/dist/chains/transform.d.ts +0 -1
  564. package/dist/chains/transform.d.ts.map +1 -1
  565. package/dist/chains/transform.js.map +1 -1
  566. package/dist/chains/vector_db_qa.cjs.map +1 -1
  567. package/dist/chains/vector_db_qa.d.cts +1 -2
  568. package/dist/chains/vector_db_qa.d.cts.map +1 -1
  569. package/dist/chains/vector_db_qa.d.ts +1 -2
  570. package/dist/chains/vector_db_qa.d.ts.map +1 -1
  571. package/dist/chains/vector_db_qa.js.map +1 -1
  572. package/dist/chat_models/universal.cjs.map +1 -1
  573. package/dist/chat_models/universal.d.cts +0 -1
  574. package/dist/chat_models/universal.d.cts.map +1 -1
  575. package/dist/chat_models/universal.d.ts +0 -1
  576. package/dist/chat_models/universal.d.ts.map +1 -1
  577. package/dist/chat_models/universal.js.map +1 -1
  578. package/dist/document_loaders/fs/buffer.cjs +1 -0
  579. package/dist/document_loaders/fs/buffer.cjs.map +1 -1
  580. package/dist/document_loaders/fs/buffer.d.cts +0 -1
  581. package/dist/document_loaders/fs/buffer.d.cts.map +1 -1
  582. package/dist/document_loaders/fs/buffer.d.ts +0 -1
  583. package/dist/document_loaders/fs/buffer.d.ts.map +1 -1
  584. package/dist/document_loaders/fs/buffer.js +1 -0
  585. package/dist/document_loaders/fs/buffer.js.map +1 -1
  586. package/dist/document_loaders/fs/directory.cjs +4 -0
  587. package/dist/document_loaders/fs/directory.cjs.map +1 -1
  588. package/dist/document_loaders/fs/directory.d.cts +0 -1
  589. package/dist/document_loaders/fs/directory.d.cts.map +1 -1
  590. package/dist/document_loaders/fs/directory.d.ts +0 -1
  591. package/dist/document_loaders/fs/directory.d.ts.map +1 -1
  592. package/dist/document_loaders/fs/directory.js +4 -0
  593. package/dist/document_loaders/fs/directory.js.map +1 -1
  594. package/dist/document_loaders/fs/json.cjs +1 -0
  595. package/dist/document_loaders/fs/json.cjs.map +1 -1
  596. package/dist/document_loaders/fs/json.d.cts +0 -1
  597. package/dist/document_loaders/fs/json.d.cts.map +1 -1
  598. package/dist/document_loaders/fs/json.d.ts +0 -1
  599. package/dist/document_loaders/fs/json.d.ts.map +1 -1
  600. package/dist/document_loaders/fs/json.js +1 -0
  601. package/dist/document_loaders/fs/json.js.map +1 -1
  602. package/dist/document_loaders/fs/multi_file.cjs +3 -0
  603. package/dist/document_loaders/fs/multi_file.cjs.map +1 -1
  604. package/dist/document_loaders/fs/multi_file.d.cts +0 -1
  605. package/dist/document_loaders/fs/multi_file.d.cts.map +1 -1
  606. package/dist/document_loaders/fs/multi_file.d.ts +0 -1
  607. package/dist/document_loaders/fs/multi_file.d.ts.map +1 -1
  608. package/dist/document_loaders/fs/multi_file.js +3 -0
  609. package/dist/document_loaders/fs/multi_file.js.map +1 -1
  610. package/dist/document_loaders/fs/text.cjs +1 -0
  611. package/dist/document_loaders/fs/text.cjs.map +1 -1
  612. package/dist/document_loaders/fs/text.d.cts +0 -1
  613. package/dist/document_loaders/fs/text.d.cts.map +1 -1
  614. package/dist/document_loaders/fs/text.d.ts +0 -1
  615. package/dist/document_loaders/fs/text.d.ts.map +1 -1
  616. package/dist/document_loaders/fs/text.js +1 -0
  617. package/dist/document_loaders/fs/text.js.map +1 -1
  618. package/dist/document_transformers/openai_functions.cjs.map +1 -1
  619. package/dist/document_transformers/openai_functions.d.cts +1 -1
  620. package/dist/document_transformers/openai_functions.d.cts.map +1 -1
  621. package/dist/document_transformers/openai_functions.d.ts +1 -1
  622. package/dist/document_transformers/openai_functions.d.ts.map +1 -1
  623. package/dist/document_transformers/openai_functions.js.map +1 -1
  624. package/dist/embeddings/cache_backed.cjs.map +1 -1
  625. package/dist/embeddings/cache_backed.d.cts +0 -1
  626. package/dist/embeddings/cache_backed.d.cts.map +1 -1
  627. package/dist/embeddings/cache_backed.d.ts +0 -1
  628. package/dist/embeddings/cache_backed.d.ts.map +1 -1
  629. package/dist/embeddings/cache_backed.js.map +1 -1
  630. package/dist/evaluation/agents/index.cjs +3 -1
  631. package/dist/evaluation/agents/index.d.cts +2 -1
  632. package/dist/evaluation/agents/index.d.ts +2 -1
  633. package/dist/evaluation/agents/index.js +2 -2
  634. package/dist/evaluation/agents/prompt.cjs +10 -11
  635. package/dist/evaluation/agents/prompt.cjs.map +1 -1
  636. package/dist/evaluation/agents/prompt.js +10 -10
  637. package/dist/evaluation/agents/prompt.js.map +1 -1
  638. package/dist/evaluation/agents/trajectory.cjs +0 -1
  639. package/dist/evaluation/agents/trajectory.cjs.map +1 -1
  640. package/dist/evaluation/agents/trajectory.d.cts +1 -3
  641. package/dist/evaluation/agents/trajectory.d.cts.map +1 -1
  642. package/dist/evaluation/agents/trajectory.d.ts +1 -3
  643. package/dist/evaluation/agents/trajectory.d.ts.map +1 -1
  644. package/dist/evaluation/agents/trajectory.js.map +1 -1
  645. package/dist/evaluation/base.cjs +2 -0
  646. package/dist/evaluation/base.cjs.map +1 -1
  647. package/dist/evaluation/base.d.cts +2 -2
  648. package/dist/evaluation/base.d.cts.map +1 -1
  649. package/dist/evaluation/base.d.ts +2 -2
  650. package/dist/evaluation/base.d.ts.map +1 -1
  651. package/dist/evaluation/base.js +1 -1
  652. package/dist/evaluation/base.js.map +1 -1
  653. package/dist/evaluation/comparison/index.cjs +4 -1
  654. package/dist/evaluation/comparison/index.d.cts +2 -1
  655. package/dist/evaluation/comparison/index.d.ts +2 -1
  656. package/dist/evaluation/comparison/index.js +2 -2
  657. package/dist/evaluation/comparison/pairwise.cjs +2 -3
  658. package/dist/evaluation/comparison/pairwise.cjs.map +1 -1
  659. package/dist/evaluation/comparison/pairwise.d.cts +2 -4
  660. package/dist/evaluation/comparison/pairwise.d.cts.map +1 -1
  661. package/dist/evaluation/comparison/pairwise.d.ts +2 -4
  662. package/dist/evaluation/comparison/pairwise.d.ts.map +1 -1
  663. package/dist/evaluation/comparison/pairwise.js +2 -2
  664. package/dist/evaluation/comparison/pairwise.js.map +1 -1
  665. package/dist/evaluation/comparison/prompt.cjs +2 -3
  666. package/dist/evaluation/comparison/prompt.cjs.map +1 -1
  667. package/dist/evaluation/comparison/prompt.js +2 -2
  668. package/dist/evaluation/comparison/prompt.js.map +1 -1
  669. package/dist/evaluation/criteria/criteria.cjs +2 -3
  670. package/dist/evaluation/criteria/criteria.cjs.map +1 -1
  671. package/dist/evaluation/criteria/criteria.d.cts +3 -9
  672. package/dist/evaluation/criteria/criteria.d.cts.map +1 -1
  673. package/dist/evaluation/criteria/criteria.d.ts +3 -9
  674. package/dist/evaluation/criteria/criteria.d.ts.map +1 -1
  675. package/dist/evaluation/criteria/criteria.js +2 -2
  676. package/dist/evaluation/criteria/criteria.js.map +1 -1
  677. package/dist/evaluation/criteria/index.cjs +4 -1
  678. package/dist/evaluation/criteria/index.d.cts +2 -1
  679. package/dist/evaluation/criteria/index.d.ts +2 -1
  680. package/dist/evaluation/criteria/index.js +2 -2
  681. package/dist/evaluation/criteria/prompt.cjs +2 -3
  682. package/dist/evaluation/criteria/prompt.cjs.map +1 -1
  683. package/dist/evaluation/criteria/prompt.js +2 -2
  684. package/dist/evaluation/criteria/prompt.js.map +1 -1
  685. package/dist/evaluation/embedding_distance/base.cjs.map +1 -1
  686. package/dist/evaluation/embedding_distance/base.d.cts +0 -1
  687. package/dist/evaluation/embedding_distance/base.d.cts.map +1 -1
  688. package/dist/evaluation/embedding_distance/base.d.ts +0 -1
  689. package/dist/evaluation/embedding_distance/base.d.ts.map +1 -1
  690. package/dist/evaluation/embedding_distance/base.js.map +1 -1
  691. package/dist/evaluation/embedding_distance/index.cjs +5 -1
  692. package/dist/evaluation/embedding_distance/index.d.cts +2 -1
  693. package/dist/evaluation/embedding_distance/index.d.ts +2 -1
  694. package/dist/evaluation/embedding_distance/index.js +2 -2
  695. package/dist/evaluation/index.d.cts +5 -0
  696. package/dist/evaluation/index.d.ts +5 -0
  697. package/dist/evaluation/loader.cjs +0 -1
  698. package/dist/evaluation/loader.cjs.map +1 -1
  699. package/dist/evaluation/loader.d.cts +2 -1
  700. package/dist/evaluation/loader.d.cts.map +1 -1
  701. package/dist/evaluation/loader.d.ts +2 -1
  702. package/dist/evaluation/loader.d.ts.map +1 -1
  703. package/dist/evaluation/loader.js.map +1 -1
  704. package/dist/evaluation/qa/eval_chain.cjs +3 -2
  705. package/dist/evaluation/qa/eval_chain.cjs.map +1 -1
  706. package/dist/evaluation/qa/eval_chain.d.cts +1 -2
  707. package/dist/evaluation/qa/eval_chain.d.cts.map +1 -1
  708. package/dist/evaluation/qa/eval_chain.d.ts +1 -2
  709. package/dist/evaluation/qa/eval_chain.d.ts.map +1 -1
  710. package/dist/evaluation/qa/eval_chain.js +3 -2
  711. package/dist/evaluation/qa/eval_chain.js.map +1 -1
  712. package/dist/evaluation/qa/index.cjs +2 -1
  713. package/dist/evaluation/qa/index.d.cts +2 -1
  714. package/dist/evaluation/qa/index.d.ts +2 -1
  715. package/dist/evaluation/qa/index.js +2 -2
  716. package/dist/evaluation/qa/prompt.cjs +1 -2
  717. package/dist/evaluation/qa/prompt.cjs.map +1 -1
  718. package/dist/evaluation/qa/prompt.js +1 -1
  719. package/dist/evaluation/qa/prompt.js.map +1 -1
  720. package/dist/evaluation/types.d.cts +0 -1
  721. package/dist/evaluation/types.d.cts.map +1 -1
  722. package/dist/evaluation/types.d.ts +0 -1
  723. package/dist/evaluation/types.d.ts.map +1 -1
  724. package/dist/experimental/autogpt/agent.cjs +11 -11
  725. package/dist/experimental/autogpt/agent.cjs.map +1 -1
  726. package/dist/experimental/autogpt/agent.d.cts +2 -17
  727. package/dist/experimental/autogpt/agent.d.cts.map +1 -1
  728. package/dist/experimental/autogpt/agent.d.ts +2 -17
  729. package/dist/experimental/autogpt/agent.d.ts.map +1 -1
  730. package/dist/experimental/autogpt/agent.js +11 -10
  731. package/dist/experimental/autogpt/agent.js.map +1 -1
  732. package/dist/experimental/autogpt/output_parser.cjs +0 -1
  733. package/dist/experimental/autogpt/output_parser.cjs.map +1 -1
  734. package/dist/experimental/autogpt/output_parser.d.cts +0 -1
  735. package/dist/experimental/autogpt/output_parser.d.cts.map +1 -1
  736. package/dist/experimental/autogpt/output_parser.d.ts +0 -1
  737. package/dist/experimental/autogpt/output_parser.d.ts.map +1 -1
  738. package/dist/experimental/autogpt/output_parser.js.map +1 -1
  739. package/dist/experimental/autogpt/prompt.cjs +0 -1
  740. package/dist/experimental/autogpt/prompt.cjs.map +1 -1
  741. package/dist/experimental/autogpt/prompt.d.cts +2 -9
  742. package/dist/experimental/autogpt/prompt.d.cts.map +1 -1
  743. package/dist/experimental/autogpt/prompt.d.ts +2 -9
  744. package/dist/experimental/autogpt/prompt.d.ts.map +1 -1
  745. package/dist/experimental/autogpt/prompt.js.map +1 -1
  746. package/dist/experimental/autogpt/prompt_generator.cjs +1 -1
  747. package/dist/experimental/autogpt/prompt_generator.cjs.map +1 -1
  748. package/dist/experimental/autogpt/prompt_generator.js +1 -1
  749. package/dist/experimental/autogpt/prompt_generator.js.map +1 -1
  750. package/dist/experimental/autogpt/schema.d.cts +0 -1
  751. package/dist/experimental/autogpt/schema.d.cts.map +1 -1
  752. package/dist/experimental/autogpt/schema.d.ts +0 -1
  753. package/dist/experimental/autogpt/schema.d.ts.map +1 -1
  754. package/dist/experimental/babyagi/agent.cjs +12 -11
  755. package/dist/experimental/babyagi/agent.cjs.map +1 -1
  756. package/dist/experimental/babyagi/agent.d.cts +3 -22
  757. package/dist/experimental/babyagi/agent.d.cts.map +1 -1
  758. package/dist/experimental/babyagi/agent.d.ts +3 -22
  759. package/dist/experimental/babyagi/agent.d.ts.map +1 -1
  760. package/dist/experimental/babyagi/agent.js +12 -10
  761. package/dist/experimental/babyagi/agent.js.map +1 -1
  762. package/dist/experimental/babyagi/task_creation.cjs +10 -10
  763. package/dist/experimental/babyagi/task_creation.cjs.map +1 -1
  764. package/dist/experimental/babyagi/task_creation.d.cts +0 -1
  765. package/dist/experimental/babyagi/task_creation.d.cts.map +1 -1
  766. package/dist/experimental/babyagi/task_creation.d.ts +0 -1
  767. package/dist/experimental/babyagi/task_creation.d.ts.map +1 -1
  768. package/dist/experimental/babyagi/task_creation.js +10 -9
  769. package/dist/experimental/babyagi/task_creation.js.map +1 -1
  770. package/dist/experimental/babyagi/task_execution.cjs +9 -9
  771. package/dist/experimental/babyagi/task_execution.cjs.map +1 -1
  772. package/dist/experimental/babyagi/task_execution.d.cts +0 -1
  773. package/dist/experimental/babyagi/task_execution.d.cts.map +1 -1
  774. package/dist/experimental/babyagi/task_execution.d.ts +0 -1
  775. package/dist/experimental/babyagi/task_execution.d.ts.map +1 -1
  776. package/dist/experimental/babyagi/task_execution.js +9 -8
  777. package/dist/experimental/babyagi/task_execution.js.map +1 -1
  778. package/dist/experimental/babyagi/task_prioritization.cjs +9 -9
  779. package/dist/experimental/babyagi/task_prioritization.cjs.map +1 -1
  780. package/dist/experimental/babyagi/task_prioritization.d.cts +0 -1
  781. package/dist/experimental/babyagi/task_prioritization.d.cts.map +1 -1
  782. package/dist/experimental/babyagi/task_prioritization.d.ts +0 -1
  783. package/dist/experimental/babyagi/task_prioritization.d.ts.map +1 -1
  784. package/dist/experimental/babyagi/task_prioritization.js +9 -8
  785. package/dist/experimental/babyagi/task_prioritization.js.map +1 -1
  786. package/dist/experimental/chains/violation_of_expectations/types.cjs.map +1 -1
  787. package/dist/experimental/chains/violation_of_expectations/types.d.cts +0 -1
  788. package/dist/experimental/chains/violation_of_expectations/types.d.cts.map +1 -1
  789. package/dist/experimental/chains/violation_of_expectations/types.d.ts +0 -1
  790. package/dist/experimental/chains/violation_of_expectations/types.d.ts.map +1 -1
  791. package/dist/experimental/chains/violation_of_expectations/types.js.map +1 -1
  792. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.cjs +0 -1
  793. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.cjs.map +1 -1
  794. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.cts +53 -1
  795. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.cts.map +1 -1
  796. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.ts +53 -1
  797. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.d.ts.map +1 -1
  798. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_chain.js.map +1 -1
  799. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.cjs +4 -5
  800. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.cjs.map +1 -1
  801. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.js +4 -4
  802. package/dist/experimental/chains/violation_of_expectations/violation_of_expectations_prompt.js.map +1 -1
  803. package/dist/experimental/generative_agents/generative_agent.cjs +0 -1
  804. package/dist/experimental/generative_agents/generative_agent.cjs.map +1 -1
  805. package/dist/experimental/generative_agents/generative_agent.d.cts +1 -2
  806. package/dist/experimental/generative_agents/generative_agent.d.cts.map +1 -1
  807. package/dist/experimental/generative_agents/generative_agent.d.ts +1 -2
  808. package/dist/experimental/generative_agents/generative_agent.d.ts.map +1 -1
  809. package/dist/experimental/generative_agents/generative_agent.js.map +1 -1
  810. package/dist/experimental/generative_agents/generative_agent_memory.cjs +0 -1
  811. package/dist/experimental/generative_agents/generative_agent_memory.cjs.map +1 -1
  812. package/dist/experimental/generative_agents/generative_agent_memory.d.cts +1 -2
  813. package/dist/experimental/generative_agents/generative_agent_memory.d.cts.map +1 -1
  814. package/dist/experimental/generative_agents/generative_agent_memory.d.ts +1 -2
  815. package/dist/experimental/generative_agents/generative_agent_memory.d.ts.map +1 -1
  816. package/dist/experimental/generative_agents/generative_agent_memory.js.map +1 -1
  817. package/dist/experimental/masking/parser.cjs.map +1 -1
  818. package/dist/experimental/masking/parser.d.cts +0 -1
  819. package/dist/experimental/masking/parser.d.cts.map +1 -1
  820. package/dist/experimental/masking/parser.d.ts +0 -1
  821. package/dist/experimental/masking/parser.d.ts.map +1 -1
  822. package/dist/experimental/masking/parser.js.map +1 -1
  823. package/dist/experimental/masking/regex_masking_transformer.cjs.map +1 -1
  824. package/dist/experimental/masking/regex_masking_transformer.d.cts +0 -1
  825. package/dist/experimental/masking/regex_masking_transformer.d.cts.map +1 -1
  826. package/dist/experimental/masking/regex_masking_transformer.d.ts +0 -1
  827. package/dist/experimental/masking/regex_masking_transformer.d.ts.map +1 -1
  828. package/dist/experimental/masking/regex_masking_transformer.js.map +1 -1
  829. package/dist/experimental/masking/transformer.cjs.map +1 -1
  830. package/dist/experimental/masking/transformer.d.cts.map +1 -1
  831. package/dist/experimental/masking/transformer.d.ts.map +1 -1
  832. package/dist/experimental/masking/transformer.js.map +1 -1
  833. package/dist/experimental/masking/types.d.cts +0 -1
  834. package/dist/experimental/masking/types.d.cts.map +1 -1
  835. package/dist/experimental/masking/types.d.ts +0 -1
  836. package/dist/experimental/masking/types.d.ts.map +1 -1
  837. package/dist/experimental/openai_assistant/index.cjs.map +1 -1
  838. package/dist/experimental/openai_assistant/index.d.cts +2 -18
  839. package/dist/experimental/openai_assistant/index.d.cts.map +1 -1
  840. package/dist/experimental/openai_assistant/index.d.ts +2 -18
  841. package/dist/experimental/openai_assistant/index.d.ts.map +1 -1
  842. package/dist/experimental/openai_assistant/index.js.map +1 -1
  843. package/dist/experimental/openai_assistant/schema.d.cts +0 -1
  844. package/dist/experimental/openai_assistant/schema.d.cts.map +1 -1
  845. package/dist/experimental/openai_assistant/schema.d.ts +0 -1
  846. package/dist/experimental/openai_assistant/schema.d.ts.map +1 -1
  847. package/dist/experimental/openai_files/index.cjs.map +1 -1
  848. package/dist/experimental/openai_files/index.d.cts +4 -18
  849. package/dist/experimental/openai_files/index.d.cts.map +1 -1
  850. package/dist/experimental/openai_files/index.d.ts +4 -18
  851. package/dist/experimental/openai_files/index.d.ts.map +1 -1
  852. package/dist/experimental/openai_files/index.js.map +1 -1
  853. package/dist/experimental/plan_and_execute/agent_executor.cjs +1 -0
  854. package/dist/experimental/plan_and_execute/agent_executor.cjs.map +1 -1
  855. package/dist/experimental/plan_and_execute/agent_executor.d.cts +4 -16
  856. package/dist/experimental/plan_and_execute/agent_executor.d.cts.map +1 -1
  857. package/dist/experimental/plan_and_execute/agent_executor.d.ts +4 -16
  858. package/dist/experimental/plan_and_execute/agent_executor.d.ts.map +1 -1
  859. package/dist/experimental/plan_and_execute/agent_executor.js +1 -1
  860. package/dist/experimental/plan_and_execute/agent_executor.js.map +1 -1
  861. package/dist/experimental/plan_and_execute/base.cjs +3 -0
  862. package/dist/experimental/plan_and_execute/base.cjs.map +1 -1
  863. package/dist/experimental/plan_and_execute/base.d.cts +0 -1
  864. package/dist/experimental/plan_and_execute/base.d.cts.map +1 -1
  865. package/dist/experimental/plan_and_execute/base.d.ts +0 -1
  866. package/dist/experimental/plan_and_execute/base.d.ts.map +1 -1
  867. package/dist/experimental/plan_and_execute/base.js +3 -0
  868. package/dist/experimental/plan_and_execute/base.js.map +1 -1
  869. package/dist/experimental/plan_and_execute/outputParser.cjs +0 -1
  870. package/dist/experimental/plan_and_execute/outputParser.cjs.map +1 -1
  871. package/dist/experimental/plan_and_execute/outputParser.d.cts +0 -1
  872. package/dist/experimental/plan_and_execute/outputParser.d.cts.map +1 -1
  873. package/dist/experimental/plan_and_execute/outputParser.d.ts +0 -1
  874. package/dist/experimental/plan_and_execute/outputParser.d.ts.map +1 -1
  875. package/dist/experimental/plan_and_execute/outputParser.js.map +1 -1
  876. package/dist/experimental/plan_and_execute/prompt.cjs +1 -2
  877. package/dist/experimental/plan_and_execute/prompt.cjs.map +1 -1
  878. package/dist/experimental/plan_and_execute/prompt.js +1 -1
  879. package/dist/experimental/plan_and_execute/prompt.js.map +1 -1
  880. package/dist/experimental/prompts/custom_format.cjs.map +1 -1
  881. package/dist/experimental/prompts/custom_format.d.cts +1 -5
  882. package/dist/experimental/prompts/custom_format.d.cts.map +1 -1
  883. package/dist/experimental/prompts/custom_format.d.ts +1 -5
  884. package/dist/experimental/prompts/custom_format.d.ts.map +1 -1
  885. package/dist/experimental/prompts/custom_format.js.map +1 -1
  886. package/dist/experimental/prompts/handlebars.cjs.map +1 -1
  887. package/dist/experimental/prompts/handlebars.d.cts +0 -1
  888. package/dist/experimental/prompts/handlebars.d.cts.map +1 -1
  889. package/dist/experimental/prompts/handlebars.d.ts +0 -1
  890. package/dist/experimental/prompts/handlebars.d.ts.map +1 -1
  891. package/dist/experimental/prompts/handlebars.js.map +1 -1
  892. package/dist/hub/base.cjs.map +1 -1
  893. package/dist/hub/base.d.cts +5 -2
  894. package/dist/hub/base.d.cts.map +1 -1
  895. package/dist/hub/base.d.ts +5 -2
  896. package/dist/hub/base.d.ts.map +1 -1
  897. package/dist/hub/base.js.map +1 -1
  898. package/dist/hub/index.cjs.map +1 -1
  899. package/dist/hub/index.d.cts +0 -1
  900. package/dist/hub/index.d.cts.map +1 -1
  901. package/dist/hub/index.d.ts +0 -1
  902. package/dist/hub/index.d.ts.map +1 -1
  903. package/dist/hub/index.js.map +1 -1
  904. package/dist/hub/node.cjs.map +1 -1
  905. package/dist/hub/node.d.cts +0 -1
  906. package/dist/hub/node.d.cts.map +1 -1
  907. package/dist/hub/node.d.ts +0 -1
  908. package/dist/hub/node.d.ts.map +1 -1
  909. package/dist/hub/node.js.map +1 -1
  910. package/dist/index.cjs.map +1 -1
  911. package/dist/index.d.cts +1 -1
  912. package/dist/index.d.ts +1 -1
  913. package/dist/index.js.map +1 -1
  914. package/dist/load/import_constants.cjs.map +1 -1
  915. package/dist/load/import_constants.js.map +1 -1
  916. package/dist/load/import_map.cjs +547 -0
  917. package/dist/load/import_map.cjs.map +1 -1
  918. package/dist/load/import_map.js +1 -1
  919. package/dist/load/import_map.js.map +1 -1
  920. package/dist/load/import_type.d.cts.map +1 -1
  921. package/dist/load/import_type.d.ts.map +1 -1
  922. package/dist/load/index.cjs +0 -1
  923. package/dist/load/index.cjs.map +1 -1
  924. package/dist/load/index.d.cts +0 -1
  925. package/dist/load/index.d.cts.map +1 -1
  926. package/dist/load/index.d.ts +0 -1
  927. package/dist/load/index.d.ts.map +1 -1
  928. package/dist/load/index.js.map +1 -1
  929. package/dist/load/map_keys.d.cts.map +1 -1
  930. package/dist/load/map_keys.d.ts.map +1 -1
  931. package/dist/memory/buffer_memory.cjs +0 -1
  932. package/dist/memory/buffer_memory.cjs.map +1 -1
  933. package/dist/memory/buffer_memory.d.cts +0 -1
  934. package/dist/memory/buffer_memory.d.cts.map +1 -1
  935. package/dist/memory/buffer_memory.d.ts +0 -1
  936. package/dist/memory/buffer_memory.d.ts.map +1 -1
  937. package/dist/memory/buffer_memory.js.map +1 -1
  938. package/dist/memory/buffer_token_memory.cjs +0 -1
  939. package/dist/memory/buffer_token_memory.cjs.map +1 -1
  940. package/dist/memory/buffer_token_memory.d.cts +0 -1
  941. package/dist/memory/buffer_token_memory.d.cts.map +1 -1
  942. package/dist/memory/buffer_token_memory.d.ts +0 -1
  943. package/dist/memory/buffer_token_memory.d.ts.map +1 -1
  944. package/dist/memory/buffer_token_memory.js.map +1 -1
  945. package/dist/memory/buffer_window_memory.cjs +0 -1
  946. package/dist/memory/buffer_window_memory.cjs.map +1 -1
  947. package/dist/memory/buffer_window_memory.d.cts +0 -1
  948. package/dist/memory/buffer_window_memory.d.cts.map +1 -1
  949. package/dist/memory/buffer_window_memory.d.ts +0 -1
  950. package/dist/memory/buffer_window_memory.d.ts.map +1 -1
  951. package/dist/memory/buffer_window_memory.js.map +1 -1
  952. package/dist/memory/chat_memory.cjs.map +1 -1
  953. package/dist/memory/chat_memory.d.cts +0 -1
  954. package/dist/memory/chat_memory.d.cts.map +1 -1
  955. package/dist/memory/chat_memory.d.ts +0 -1
  956. package/dist/memory/chat_memory.d.ts.map +1 -1
  957. package/dist/memory/chat_memory.js.map +1 -1
  958. package/dist/memory/combined_memory.cjs.map +1 -1
  959. package/dist/memory/combined_memory.d.cts +0 -1
  960. package/dist/memory/combined_memory.d.cts.map +1 -1
  961. package/dist/memory/combined_memory.d.ts +0 -1
  962. package/dist/memory/combined_memory.d.ts.map +1 -1
  963. package/dist/memory/combined_memory.js.map +1 -1
  964. package/dist/memory/entity_memory.cjs +0 -1
  965. package/dist/memory/entity_memory.cjs.map +1 -1
  966. package/dist/memory/entity_memory.d.cts +1 -2
  967. package/dist/memory/entity_memory.d.cts.map +1 -1
  968. package/dist/memory/entity_memory.d.ts +1 -2
  969. package/dist/memory/entity_memory.d.ts.map +1 -1
  970. package/dist/memory/entity_memory.js.map +1 -1
  971. package/dist/memory/prompt.cjs +28 -23
  972. package/dist/memory/prompt.cjs.map +1 -1
  973. package/dist/memory/prompt.d.cts +0 -1
  974. package/dist/memory/prompt.d.cts.map +1 -1
  975. package/dist/memory/prompt.d.ts +0 -1
  976. package/dist/memory/prompt.d.ts.map +1 -1
  977. package/dist/memory/prompt.js +26 -23
  978. package/dist/memory/prompt.js.map +1 -1
  979. package/dist/memory/stores/entity/base.cjs +0 -1
  980. package/dist/memory/stores/entity/base.cjs.map +1 -1
  981. package/dist/memory/stores/entity/base.d.cts +0 -1
  982. package/dist/memory/stores/entity/base.d.cts.map +1 -1
  983. package/dist/memory/stores/entity/base.d.ts +0 -1
  984. package/dist/memory/stores/entity/base.d.ts.map +1 -1
  985. package/dist/memory/stores/entity/base.js.map +1 -1
  986. package/dist/memory/stores/entity/in_memory.cjs.map +1 -1
  987. package/dist/memory/stores/entity/in_memory.js.map +1 -1
  988. package/dist/memory/summary.cjs +0 -1
  989. package/dist/memory/summary.cjs.map +1 -1
  990. package/dist/memory/summary.d.cts +0 -1
  991. package/dist/memory/summary.d.cts.map +1 -1
  992. package/dist/memory/summary.d.ts +0 -1
  993. package/dist/memory/summary.d.ts.map +1 -1
  994. package/dist/memory/summary.js.map +1 -1
  995. package/dist/memory/summary_buffer.cjs +0 -1
  996. package/dist/memory/summary_buffer.cjs.map +1 -1
  997. package/dist/memory/summary_buffer.d.cts +0 -1
  998. package/dist/memory/summary_buffer.d.cts.map +1 -1
  999. package/dist/memory/summary_buffer.d.ts +0 -1
  1000. package/dist/memory/summary_buffer.d.ts.map +1 -1
  1001. package/dist/memory/summary_buffer.js.map +1 -1
  1002. package/dist/memory/vector_store.cjs +0 -1
  1003. package/dist/memory/vector_store.cjs.map +1 -1
  1004. package/dist/memory/vector_store.d.cts +0 -1
  1005. package/dist/memory/vector_store.d.cts.map +1 -1
  1006. package/dist/memory/vector_store.d.ts +0 -1
  1007. package/dist/memory/vector_store.d.ts.map +1 -1
  1008. package/dist/memory/vector_store.js.map +1 -1
  1009. package/dist/output_parsers/combining.cjs +0 -1
  1010. package/dist/output_parsers/combining.cjs.map +1 -1
  1011. package/dist/output_parsers/combining.d.cts +1 -2
  1012. package/dist/output_parsers/combining.d.cts.map +1 -1
  1013. package/dist/output_parsers/combining.d.ts +1 -2
  1014. package/dist/output_parsers/combining.d.ts.map +1 -1
  1015. package/dist/output_parsers/combining.js.map +1 -1
  1016. package/dist/output_parsers/datetime.cjs +0 -1
  1017. package/dist/output_parsers/datetime.cjs.map +1 -1
  1018. package/dist/output_parsers/datetime.d.cts +0 -1
  1019. package/dist/output_parsers/datetime.d.cts.map +1 -1
  1020. package/dist/output_parsers/datetime.d.ts +0 -1
  1021. package/dist/output_parsers/datetime.d.ts.map +1 -1
  1022. package/dist/output_parsers/datetime.js.map +1 -1
  1023. package/dist/output_parsers/expression.cjs.map +1 -1
  1024. package/dist/output_parsers/expression.d.cts +0 -1
  1025. package/dist/output_parsers/expression.d.cts.map +1 -1
  1026. package/dist/output_parsers/expression.d.ts +0 -1
  1027. package/dist/output_parsers/expression.d.ts.map +1 -1
  1028. package/dist/output_parsers/expression.js.map +1 -1
  1029. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs.map +1 -1
  1030. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js.map +1 -1
  1031. package/dist/output_parsers/expression_type_handlers/base.cjs +1 -0
  1032. package/dist/output_parsers/expression_type_handlers/base.cjs.map +1 -1
  1033. package/dist/output_parsers/expression_type_handlers/base.d.cts +0 -1
  1034. package/dist/output_parsers/expression_type_handlers/base.d.cts.map +1 -1
  1035. package/dist/output_parsers/expression_type_handlers/base.d.ts +0 -1
  1036. package/dist/output_parsers/expression_type_handlers/base.d.ts.map +1 -1
  1037. package/dist/output_parsers/expression_type_handlers/base.js +1 -0
  1038. package/dist/output_parsers/expression_type_handlers/base.js.map +1 -1
  1039. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs.map +1 -1
  1040. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js.map +1 -1
  1041. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs.map +1 -1
  1042. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js.map +1 -1
  1043. package/dist/output_parsers/expression_type_handlers/factory.cjs.map +1 -1
  1044. package/dist/output_parsers/expression_type_handlers/factory.d.cts +0 -1
  1045. package/dist/output_parsers/expression_type_handlers/factory.d.cts.map +1 -1
  1046. package/dist/output_parsers/expression_type_handlers/factory.d.ts +0 -1
  1047. package/dist/output_parsers/expression_type_handlers/factory.d.ts.map +1 -1
  1048. package/dist/output_parsers/expression_type_handlers/factory.js.map +1 -1
  1049. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs.map +1 -1
  1050. package/dist/output_parsers/expression_type_handlers/identifier_handler.js.map +1 -1
  1051. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs.map +1 -1
  1052. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js.map +1 -1
  1053. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs.map +1 -1
  1054. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js.map +1 -1
  1055. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs.map +1 -1
  1056. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js.map +1 -1
  1057. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs.map +1 -1
  1058. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js.map +1 -1
  1059. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs.map +1 -1
  1060. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js.map +1 -1
  1061. package/dist/output_parsers/expression_type_handlers/types.d.cts.map +1 -1
  1062. package/dist/output_parsers/expression_type_handlers/types.d.ts.map +1 -1
  1063. package/dist/output_parsers/fix.cjs +5 -5
  1064. package/dist/output_parsers/fix.cjs.map +1 -1
  1065. package/dist/output_parsers/fix.d.cts +1 -5
  1066. package/dist/output_parsers/fix.d.cts.map +1 -1
  1067. package/dist/output_parsers/fix.d.ts +1 -5
  1068. package/dist/output_parsers/fix.d.ts.map +1 -1
  1069. package/dist/output_parsers/fix.js +5 -4
  1070. package/dist/output_parsers/fix.js.map +1 -1
  1071. package/dist/output_parsers/http_response.cjs +0 -1
  1072. package/dist/output_parsers/http_response.cjs.map +1 -1
  1073. package/dist/output_parsers/http_response.d.cts +0 -1
  1074. package/dist/output_parsers/http_response.d.cts.map +1 -1
  1075. package/dist/output_parsers/http_response.d.ts +0 -1
  1076. package/dist/output_parsers/http_response.d.ts.map +1 -1
  1077. package/dist/output_parsers/http_response.js.map +1 -1
  1078. package/dist/output_parsers/noop.cjs +0 -1
  1079. package/dist/output_parsers/noop.cjs.map +1 -1
  1080. package/dist/output_parsers/noop.js.map +1 -1
  1081. package/dist/output_parsers/openai_functions.cjs +0 -1
  1082. package/dist/output_parsers/openai_functions.cjs.map +1 -1
  1083. package/dist/output_parsers/openai_functions.d.cts +0 -1
  1084. package/dist/output_parsers/openai_functions.d.cts.map +1 -1
  1085. package/dist/output_parsers/openai_functions.d.ts +0 -1
  1086. package/dist/output_parsers/openai_functions.d.ts.map +1 -1
  1087. package/dist/output_parsers/openai_functions.js.map +1 -1
  1088. package/dist/output_parsers/openai_tools.cjs +0 -1
  1089. package/dist/output_parsers/openai_tools.cjs.map +1 -1
  1090. package/dist/output_parsers/openai_tools.d.cts +8 -5
  1091. package/dist/output_parsers/openai_tools.d.cts.map +1 -1
  1092. package/dist/output_parsers/openai_tools.d.ts +8 -5
  1093. package/dist/output_parsers/openai_tools.d.ts.map +1 -1
  1094. package/dist/output_parsers/openai_tools.js.map +1 -1
  1095. package/dist/output_parsers/prompts.cjs +6 -3
  1096. package/dist/output_parsers/prompts.cjs.map +1 -1
  1097. package/dist/output_parsers/prompts.js +5 -3
  1098. package/dist/output_parsers/prompts.js.map +1 -1
  1099. package/dist/output_parsers/regex.cjs +0 -1
  1100. package/dist/output_parsers/regex.cjs.map +1 -1
  1101. package/dist/output_parsers/regex.d.cts +1 -2
  1102. package/dist/output_parsers/regex.d.cts.map +1 -1
  1103. package/dist/output_parsers/regex.d.ts +1 -2
  1104. package/dist/output_parsers/regex.d.ts.map +1 -1
  1105. package/dist/output_parsers/regex.js.map +1 -1
  1106. package/dist/output_parsers/router.cjs +0 -1
  1107. package/dist/output_parsers/router.cjs.map +1 -1
  1108. package/dist/output_parsers/router.d.cts +0 -1
  1109. package/dist/output_parsers/router.d.cts.map +1 -1
  1110. package/dist/output_parsers/router.d.ts +0 -1
  1111. package/dist/output_parsers/router.d.ts.map +1 -1
  1112. package/dist/output_parsers/router.js.map +1 -1
  1113. package/dist/output_parsers/structured.cjs +1 -1
  1114. package/dist/output_parsers/structured.cjs.map +1 -1
  1115. package/dist/output_parsers/structured.d.cts +3 -7
  1116. package/dist/output_parsers/structured.d.cts.map +1 -1
  1117. package/dist/output_parsers/structured.d.ts +3 -7
  1118. package/dist/output_parsers/structured.d.ts.map +1 -1
  1119. package/dist/output_parsers/structured.js +1 -0
  1120. package/dist/output_parsers/structured.js.map +1 -1
  1121. package/dist/retrievers/contextual_compression.cjs.map +1 -1
  1122. package/dist/retrievers/contextual_compression.d.cts +0 -1
  1123. package/dist/retrievers/contextual_compression.d.cts.map +1 -1
  1124. package/dist/retrievers/contextual_compression.d.ts +0 -1
  1125. package/dist/retrievers/contextual_compression.d.ts.map +1 -1
  1126. package/dist/retrievers/contextual_compression.js.map +1 -1
  1127. package/dist/retrievers/document_compressors/chain_extract.cjs +5 -4
  1128. package/dist/retrievers/document_compressors/chain_extract.cjs.map +1 -1
  1129. package/dist/retrievers/document_compressors/chain_extract.d.cts +1 -5
  1130. package/dist/retrievers/document_compressors/chain_extract.d.cts.map +1 -1
  1131. package/dist/retrievers/document_compressors/chain_extract.d.ts +1 -5
  1132. package/dist/retrievers/document_compressors/chain_extract.d.ts.map +1 -1
  1133. package/dist/retrievers/document_compressors/chain_extract.js +5 -4
  1134. package/dist/retrievers/document_compressors/chain_extract.js.map +1 -1
  1135. package/dist/retrievers/document_compressors/embeddings_filter.cjs.map +1 -1
  1136. package/dist/retrievers/document_compressors/embeddings_filter.d.cts +0 -1
  1137. package/dist/retrievers/document_compressors/embeddings_filter.d.cts.map +1 -1
  1138. package/dist/retrievers/document_compressors/embeddings_filter.d.ts +0 -1
  1139. package/dist/retrievers/document_compressors/embeddings_filter.d.ts.map +1 -1
  1140. package/dist/retrievers/document_compressors/embeddings_filter.js.map +1 -1
  1141. package/dist/retrievers/document_compressors/index.cjs.map +1 -1
  1142. package/dist/retrievers/document_compressors/index.d.cts +0 -1
  1143. package/dist/retrievers/document_compressors/index.d.cts.map +1 -1
  1144. package/dist/retrievers/document_compressors/index.d.ts +0 -1
  1145. package/dist/retrievers/document_compressors/index.d.ts.map +1 -1
  1146. package/dist/retrievers/document_compressors/index.js.map +1 -1
  1147. package/dist/retrievers/ensemble.cjs.map +1 -1
  1148. package/dist/retrievers/ensemble.d.cts +0 -1
  1149. package/dist/retrievers/ensemble.d.cts.map +1 -1
  1150. package/dist/retrievers/ensemble.d.ts +0 -1
  1151. package/dist/retrievers/ensemble.d.ts.map +1 -1
  1152. package/dist/retrievers/ensemble.js.map +1 -1
  1153. package/dist/retrievers/hyde.cjs.map +1 -1
  1154. package/dist/retrievers/hyde.d.cts +0 -1
  1155. package/dist/retrievers/hyde.d.cts.map +1 -1
  1156. package/dist/retrievers/hyde.d.ts +0 -1
  1157. package/dist/retrievers/hyde.d.ts.map +1 -1
  1158. package/dist/retrievers/hyde.js.map +1 -1
  1159. package/dist/retrievers/matryoshka_retriever.cjs.map +1 -1
  1160. package/dist/retrievers/matryoshka_retriever.d.cts +0 -1
  1161. package/dist/retrievers/matryoshka_retriever.d.cts.map +1 -1
  1162. package/dist/retrievers/matryoshka_retriever.d.ts +0 -1
  1163. package/dist/retrievers/matryoshka_retriever.d.ts.map +1 -1
  1164. package/dist/retrievers/matryoshka_retriever.js.map +1 -1
  1165. package/dist/retrievers/multi_query.cjs +1 -1
  1166. package/dist/retrievers/multi_query.cjs.map +1 -1
  1167. package/dist/retrievers/multi_query.d.cts +0 -1
  1168. package/dist/retrievers/multi_query.d.cts.map +1 -1
  1169. package/dist/retrievers/multi_query.d.ts +0 -1
  1170. package/dist/retrievers/multi_query.d.ts.map +1 -1
  1171. package/dist/retrievers/multi_query.js +1 -1
  1172. package/dist/retrievers/multi_query.js.map +1 -1
  1173. package/dist/retrievers/multi_vector.cjs.map +1 -1
  1174. package/dist/retrievers/multi_vector.d.cts +0 -1
  1175. package/dist/retrievers/multi_vector.d.cts.map +1 -1
  1176. package/dist/retrievers/multi_vector.d.ts +0 -1
  1177. package/dist/retrievers/multi_vector.d.ts.map +1 -1
  1178. package/dist/retrievers/multi_vector.js.map +1 -1
  1179. package/dist/retrievers/parent_document.cjs.map +1 -1
  1180. package/dist/retrievers/parent_document.d.cts +0 -1
  1181. package/dist/retrievers/parent_document.d.cts.map +1 -1
  1182. package/dist/retrievers/parent_document.d.ts +0 -1
  1183. package/dist/retrievers/parent_document.d.ts.map +1 -1
  1184. package/dist/retrievers/parent_document.js.map +1 -1
  1185. package/dist/retrievers/score_threshold.cjs.map +1 -1
  1186. package/dist/retrievers/score_threshold.d.cts +0 -1
  1187. package/dist/retrievers/score_threshold.d.cts.map +1 -1
  1188. package/dist/retrievers/score_threshold.d.ts +0 -1
  1189. package/dist/retrievers/score_threshold.d.ts.map +1 -1
  1190. package/dist/retrievers/score_threshold.js.map +1 -1
  1191. package/dist/retrievers/self_query/index.cjs.map +1 -1
  1192. package/dist/retrievers/self_query/index.d.cts +0 -1
  1193. package/dist/retrievers/self_query/index.d.cts.map +1 -1
  1194. package/dist/retrievers/self_query/index.d.ts +0 -1
  1195. package/dist/retrievers/self_query/index.d.ts.map +1 -1
  1196. package/dist/retrievers/self_query/index.js.map +1 -1
  1197. package/dist/retrievers/time_weighted.cjs.map +1 -1
  1198. package/dist/retrievers/time_weighted.d.cts +5 -1
  1199. package/dist/retrievers/time_weighted.d.cts.map +1 -1
  1200. package/dist/retrievers/time_weighted.d.ts +5 -1
  1201. package/dist/retrievers/time_weighted.d.ts.map +1 -1
  1202. package/dist/retrievers/time_weighted.js.map +1 -1
  1203. package/dist/schema/prompt_template.cjs.map +1 -1
  1204. package/dist/schema/prompt_template.d.cts +0 -1
  1205. package/dist/schema/prompt_template.d.cts.map +1 -1
  1206. package/dist/schema/prompt_template.d.ts +0 -1
  1207. package/dist/schema/prompt_template.d.ts.map +1 -1
  1208. package/dist/schema/prompt_template.js.map +1 -1
  1209. package/dist/schema/query_constructor.cjs +3 -0
  1210. package/dist/schema/query_constructor.cjs.map +1 -1
  1211. package/dist/schema/query_constructor.d.cts.map +1 -1
  1212. package/dist/schema/query_constructor.d.ts.map +1 -1
  1213. package/dist/schema/query_constructor.js +3 -0
  1214. package/dist/schema/query_constructor.js.map +1 -1
  1215. package/dist/smith/config.cjs.map +1 -1
  1216. package/dist/smith/config.d.cts +2 -7
  1217. package/dist/smith/config.d.cts.map +1 -1
  1218. package/dist/smith/config.d.ts +2 -7
  1219. package/dist/smith/config.d.ts.map +1 -1
  1220. package/dist/smith/config.js.map +1 -1
  1221. package/dist/smith/name_generation.cjs.map +1 -1
  1222. package/dist/smith/name_generation.js.map +1 -1
  1223. package/dist/smith/progress.cjs.map +1 -1
  1224. package/dist/smith/progress.js.map +1 -1
  1225. package/dist/smith/runner_utils.cjs +11 -8
  1226. package/dist/smith/runner_utils.cjs.map +1 -1
  1227. package/dist/smith/runner_utils.d.cts +1 -2
  1228. package/dist/smith/runner_utils.d.cts.map +1 -1
  1229. package/dist/smith/runner_utils.d.ts +1 -2
  1230. package/dist/smith/runner_utils.d.ts.map +1 -1
  1231. package/dist/smith/runner_utils.js +11 -7
  1232. package/dist/smith/runner_utils.js.map +1 -1
  1233. package/dist/sql_db.cjs.map +1 -1
  1234. package/dist/sql_db.d.cts +1 -3
  1235. package/dist/sql_db.d.cts.map +1 -1
  1236. package/dist/sql_db.d.ts +1 -3
  1237. package/dist/sql_db.d.ts.map +1 -1
  1238. package/dist/sql_db.js.map +1 -1
  1239. package/dist/storage/encoder_backed.cjs.map +1 -1
  1240. package/dist/storage/encoder_backed.d.cts +0 -1
  1241. package/dist/storage/encoder_backed.d.cts.map +1 -1
  1242. package/dist/storage/encoder_backed.d.ts +0 -1
  1243. package/dist/storage/encoder_backed.d.ts.map +1 -1
  1244. package/dist/storage/encoder_backed.js.map +1 -1
  1245. package/dist/storage/file_system.cjs.map +1 -1
  1246. package/dist/storage/file_system.d.cts +20 -1
  1247. package/dist/storage/file_system.d.cts.map +1 -1
  1248. package/dist/storage/file_system.d.ts +20 -1
  1249. package/dist/storage/file_system.d.ts.map +1 -1
  1250. package/dist/storage/file_system.js.map +1 -1
  1251. package/dist/stores/doc/base.cjs.map +1 -1
  1252. package/dist/stores/doc/base.d.cts +0 -1
  1253. package/dist/stores/doc/base.d.cts.map +1 -1
  1254. package/dist/stores/doc/base.d.ts +0 -1
  1255. package/dist/stores/doc/base.d.ts.map +1 -1
  1256. package/dist/stores/doc/base.js.map +1 -1
  1257. package/dist/stores/doc/in_memory.cjs.map +1 -1
  1258. package/dist/stores/doc/in_memory.d.cts +0 -1
  1259. package/dist/stores/doc/in_memory.d.cts.map +1 -1
  1260. package/dist/stores/doc/in_memory.d.ts +0 -1
  1261. package/dist/stores/doc/in_memory.d.ts.map +1 -1
  1262. package/dist/stores/doc/in_memory.js.map +1 -1
  1263. package/dist/stores/file/base.cjs +0 -1
  1264. package/dist/stores/file/base.cjs.map +1 -1
  1265. package/dist/stores/file/base.d.cts +0 -1
  1266. package/dist/stores/file/base.d.cts.map +1 -1
  1267. package/dist/stores/file/base.d.ts +0 -1
  1268. package/dist/stores/file/base.d.ts.map +1 -1
  1269. package/dist/stores/file/base.js.map +1 -1
  1270. package/dist/stores/file/in_memory.cjs.map +1 -1
  1271. package/dist/stores/file/in_memory.d.cts +0 -1
  1272. package/dist/stores/file/in_memory.d.cts.map +1 -1
  1273. package/dist/stores/file/in_memory.d.ts +0 -1
  1274. package/dist/stores/file/in_memory.d.ts.map +1 -1
  1275. package/dist/stores/file/in_memory.js.map +1 -1
  1276. package/dist/stores/file/node.cjs +1 -0
  1277. package/dist/stores/file/node.cjs.map +1 -1
  1278. package/dist/stores/file/node.d.cts +0 -1
  1279. package/dist/stores/file/node.d.cts.map +1 -1
  1280. package/dist/stores/file/node.d.ts +0 -1
  1281. package/dist/stores/file/node.d.ts.map +1 -1
  1282. package/dist/stores/file/node.js +1 -0
  1283. package/dist/stores/file/node.js.map +1 -1
  1284. package/dist/text_splitter.d.cts +0 -3
  1285. package/dist/text_splitter.d.ts +0 -3
  1286. package/dist/tools/chain.cjs.map +1 -1
  1287. package/dist/tools/chain.d.cts +1 -5
  1288. package/dist/tools/chain.d.cts.map +1 -1
  1289. package/dist/tools/chain.d.ts +1 -5
  1290. package/dist/tools/chain.d.ts.map +1 -1
  1291. package/dist/tools/chain.js.map +1 -1
  1292. package/dist/tools/fs.cjs +0 -1
  1293. package/dist/tools/fs.cjs.map +1 -1
  1294. package/dist/tools/fs.d.cts +4 -15
  1295. package/dist/tools/fs.d.cts.map +1 -1
  1296. package/dist/tools/fs.d.ts +4 -15
  1297. package/dist/tools/fs.d.ts.map +1 -1
  1298. package/dist/tools/fs.js.map +1 -1
  1299. package/dist/tools/json.cjs +1 -0
  1300. package/dist/tools/json.cjs.map +1 -1
  1301. package/dist/tools/json.d.cts +1 -2
  1302. package/dist/tools/json.d.cts.map +1 -1
  1303. package/dist/tools/json.d.ts +1 -2
  1304. package/dist/tools/json.d.ts.map +1 -1
  1305. package/dist/tools/json.js +1 -0
  1306. package/dist/tools/json.js.map +1 -1
  1307. package/dist/tools/render.cjs.map +1 -1
  1308. package/dist/tools/render.d.cts +0 -1
  1309. package/dist/tools/render.d.cts.map +1 -1
  1310. package/dist/tools/render.d.ts +0 -1
  1311. package/dist/tools/render.d.ts.map +1 -1
  1312. package/dist/tools/render.js.map +1 -1
  1313. package/dist/tools/requests.cjs +2 -1
  1314. package/dist/tools/requests.cjs.map +1 -1
  1315. package/dist/tools/requests.d.cts +3 -8
  1316. package/dist/tools/requests.d.cts.map +1 -1
  1317. package/dist/tools/requests.d.ts +3 -8
  1318. package/dist/tools/requests.d.ts.map +1 -1
  1319. package/dist/tools/requests.js +2 -0
  1320. package/dist/tools/requests.js.map +1 -1
  1321. package/dist/tools/retriever.cjs.map +1 -1
  1322. package/dist/tools/retriever.d.cts +0 -1
  1323. package/dist/tools/retriever.d.cts.map +1 -1
  1324. package/dist/tools/retriever.d.ts +0 -1
  1325. package/dist/tools/retriever.d.ts.map +1 -1
  1326. package/dist/tools/retriever.js.map +1 -1
  1327. package/dist/tools/sql.cjs.map +1 -1
  1328. package/dist/tools/sql.d.cts +0 -1
  1329. package/dist/tools/sql.d.cts.map +1 -1
  1330. package/dist/tools/sql.d.ts +0 -1
  1331. package/dist/tools/sql.d.ts.map +1 -1
  1332. package/dist/tools/sql.js.map +1 -1
  1333. package/dist/tools/vectorstore.cjs +0 -1
  1334. package/dist/tools/vectorstore.cjs.map +1 -1
  1335. package/dist/tools/vectorstore.d.cts +0 -1
  1336. package/dist/tools/vectorstore.d.cts.map +1 -1
  1337. package/dist/tools/vectorstore.d.ts +0 -1
  1338. package/dist/tools/vectorstore.d.ts.map +1 -1
  1339. package/dist/tools/vectorstore.js.map +1 -1
  1340. package/dist/tools/webbrowser.cjs +2 -1
  1341. package/dist/tools/webbrowser.cjs.map +1 -1
  1342. package/dist/tools/webbrowser.d.cts +1 -8
  1343. package/dist/tools/webbrowser.d.cts.map +1 -1
  1344. package/dist/tools/webbrowser.d.ts +1 -8
  1345. package/dist/tools/webbrowser.d.ts.map +1 -1
  1346. package/dist/tools/webbrowser.js +2 -1
  1347. package/dist/tools/webbrowser.js.map +1 -1
  1348. package/dist/types/expression-parser.d.cts +1 -1
  1349. package/dist/types/expression-parser.d.cts.map +1 -1
  1350. package/dist/types/expression-parser.d.ts +1 -1
  1351. package/dist/types/expression-parser.d.ts.map +1 -1
  1352. package/dist/types/type-utils.d.cts.map +1 -1
  1353. package/dist/types/type-utils.d.ts.map +1 -1
  1354. package/dist/util/document.cjs.map +1 -1
  1355. package/dist/util/document.d.cts +0 -1
  1356. package/dist/util/document.d.cts.map +1 -1
  1357. package/dist/util/document.d.ts +0 -1
  1358. package/dist/util/document.d.ts.map +1 -1
  1359. package/dist/util/document.js.map +1 -1
  1360. package/dist/util/env.cjs +0 -1
  1361. package/dist/util/extname.cjs.map +1 -1
  1362. package/dist/util/extname.js.map +1 -1
  1363. package/dist/util/hub.cjs +0 -1
  1364. package/dist/util/hub.cjs.map +1 -1
  1365. package/dist/util/hub.js.map +1 -1
  1366. package/dist/util/is-network-error/index.cjs +1 -1
  1367. package/dist/util/is-network-error/index.cjs.map +1 -1
  1368. package/dist/util/is-network-error/index.js +1 -1
  1369. package/dist/util/is-network-error/index.js.map +1 -1
  1370. package/dist/util/load.cjs.map +1 -1
  1371. package/dist/util/load.d.cts.map +1 -1
  1372. package/dist/util/load.d.ts.map +1 -1
  1373. package/dist/util/load.js.map +1 -1
  1374. package/dist/util/ml-distance/distances.cjs.map +1 -1
  1375. package/dist/util/ml-distance/distances.js.map +1 -1
  1376. package/dist/util/ml-distance/similarities.cjs.map +1 -1
  1377. package/dist/util/ml-distance/similarities.d.cts.map +1 -1
  1378. package/dist/util/ml-distance/similarities.d.ts.map +1 -1
  1379. package/dist/util/ml-distance/similarities.js.map +1 -1
  1380. package/dist/util/ml-distance-euclidean/euclidean.cjs +1 -0
  1381. package/dist/util/ml-distance-euclidean/euclidean.cjs.map +1 -1
  1382. package/dist/util/ml-distance-euclidean/euclidean.js +1 -1
  1383. package/dist/util/ml-distance-euclidean/euclidean.js.map +1 -1
  1384. package/dist/util/openapi.cjs +1 -0
  1385. package/dist/util/openapi.cjs.map +1 -1
  1386. package/dist/util/openapi.d.cts +0 -1
  1387. package/dist/util/openapi.d.cts.map +1 -1
  1388. package/dist/util/openapi.d.ts +0 -1
  1389. package/dist/util/openapi.d.ts.map +1 -1
  1390. package/dist/util/openapi.js +1 -0
  1391. package/dist/util/openapi.js.map +1 -1
  1392. package/dist/util/p-retry/index.cjs +1 -0
  1393. package/dist/util/p-retry/index.cjs.map +1 -1
  1394. package/dist/util/p-retry/index.js +1 -1
  1395. package/dist/util/p-retry/index.js.map +1 -1
  1396. package/dist/util/parse.cjs +1 -0
  1397. package/dist/util/parse.cjs.map +1 -1
  1398. package/dist/util/parse.js +1 -1
  1399. package/dist/util/parse.js.map +1 -1
  1400. package/dist/util/set.cjs.map +1 -1
  1401. package/dist/util/set.js.map +1 -1
  1402. package/dist/util/sql_utils.cjs +12 -6
  1403. package/dist/util/sql_utils.cjs.map +1 -1
  1404. package/dist/util/sql_utils.d.cts +1 -2
  1405. package/dist/util/sql_utils.d.cts.map +1 -1
  1406. package/dist/util/sql_utils.d.ts +1 -2
  1407. package/dist/util/sql_utils.d.ts.map +1 -1
  1408. package/dist/util/sql_utils.js +12 -6
  1409. package/dist/util/sql_utils.js.map +1 -1
  1410. package/dist/util/time.cjs.map +1 -1
  1411. package/dist/util/time.d.cts.map +1 -1
  1412. package/dist/util/time.d.ts.map +1 -1
  1413. package/dist/util/time.js.map +1 -1
  1414. package/dist/vectorstores/memory.cjs.map +1 -1
  1415. package/dist/vectorstores/memory.d.cts +1 -5
  1416. package/dist/vectorstores/memory.d.cts.map +1 -1
  1417. package/dist/vectorstores/memory.d.ts +1 -5
  1418. package/dist/vectorstores/memory.d.ts.map +1 -1
  1419. package/dist/vectorstores/memory.js.map +1 -1
  1420. package/package.json +30 -30
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","names":[],"sources":["../../src/evaluation/base.ts"],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","names":[],"sources":["../../src/evaluation/base.ts"],"mappings":";;;;;;;;;;;UAYiB,kBACf,UAAU,iBAAiB,gBAC3B,UAAU,6BAA6B,oCAC/B,cAAc,GAAG;KAEf,sBAAsB,0BAChC,+BAA+B,sCAGvB,eAEJ;;;;KAeM,iBAAiB;;;;uBAKP,aACpB,UAAU,iBAAiB,gBAC3B,UAAU,6BAA6B,oCAC/B,SAAS,GAAG;EACpB;EAEA;EAEA;EAEA;;;;;;;EAQA,oBAAoB,oBAAoB;;;;;uBAiBpB,UACpB,iBAAiB,cAAc,aAC/B,kBAAkB,cAAc,qBACxB,UAAU,UAAU;EAC5B;EAEA;EAEA;EAEA;;;;;;;EAQA,oBAAoB,oBAAoB;;;;;;;UAmBzB;EACf;EACA;EACA;;;;;;UAOe;EACf;EACA;;;;;;;;UASe;EACf;EACA;EACA;EACA;;;;;;;;;UAUe;EACf;EACA;EACA;EACA,iBAAiB;;;;;;uBAOG,mBACpB,UAAU,iBAAiB,gBAC3B,UAAU,6BAA6B,oCAC/B,aAAa,GAAG;;;;EAIxB;;;;;;;;;;;WAYS,iBACP,MAAM,sBAAsB,oCAC5B,SAAS,YAAY,qBACpB,QAAQ;;;;;;;;;;;EAYX,gBACE,MAAM,sBAAsB,oCAC5B,SAAS,YAAY,qBACpB,QAAQ;;;;;;uBAUS,wBAAwB;;;;EAI5C;;;;;;;;;;WAWS,iBACP,MAAM,qBACN,SAAS,YAAY,qBACpB,QAAQ;;;;;;;;;;EAWX,gBACE,MAAM,qBACN,SAAS,YAAY,qBACpB,QAAQ;;;;;uBASS,gCAAgC;;;;EAIpD;;;;;;;WAQS,qBACP,MAAM,6BACN,SAAS,YAAY,qBACpB,QAAQ;;;;;;;EAQX,oBACE,MAAM,6BACN,SAAS,YAAY,qBACpB,QAAQ;;;;;uBAQS,mCAAmC;;;;EAIvD;;;;;;;;WASS,qBACP,MAAM,gCACN,cAAc,oCACd,SAAS,YAAY,qBACpB,QAAQ;;;;;;;;EASX,oBACE,MAAM,gCACN,cAAc,oCACd,SAAS,YAAY,qBACpB,QAAQ;;;;;uBASS,iCAAiC;EACrD;;;;EAKA;;;;;;;;WASS,yBACP,MAAM,4BACN,cAAc,oCACd,SAAS,YAAY,qBACpB,QAAQ;;;;;;;;EASX,wBACE,MAAM,4BACN,cAAc,oCACd,SAAS,YAAY,qBACpB,QAAQ"}
@@ -158,6 +158,6 @@ var AgentTrajectoryEvaluator = class extends LLMEvalChain {
158
158
  }
159
159
  };
160
160
  //#endregion
161
- export { AgentTrajectoryEvaluator, LLMPairwiseStringEvaluator, LLMStringEvaluator, PairwiseStringEvaluator, StringEvaluator, eqSet };
161
+ export { AgentTrajectoryEvaluator, EvalChain, LLMEvalChain, LLMPairwiseStringEvaluator, LLMStringEvaluator, PairwiseStringEvaluator, StringEvaluator, eqSet };
162
162
 
163
163
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","names":[],"sources":["../../src/evaluation/base.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { AgentStep } from \"@langchain/core/agents\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport {\n BaseCallbackConfig,\n Callbacks,\n} from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, LLMChain, LLMChainInput } from \"../chains/index.js\";\n\n/**\n * Base input for evaluators.\n */\nexport interface LLMEvalChainInput<\n T extends EvalOutputType = EvalOutputType,\n L extends BaseLanguageModelInterface = BaseLanguageModelInterface,\n> extends LLMChainInput<T, L> {}\n\nexport type ExtractLLMCallOptions<LanguageModelInterface> =\n LanguageModelInterface extends BaseLanguageModelInterface<\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n infer CallOptions\n >\n ? CallOptions\n : never;\n\n/**\n * Compare two sets for equality\n *\n * @param xs\n * @param ys\n */\nexport const eqSet = (xs: Set<string>, ys: Set<string>) =>\n xs.size === ys.size && [...xs].every((x) => ys.has(x));\n\n/**\n * The type of the output of an evaluation evaluator.\n */\nexport type EvalOutputType = Record<string, string | number | boolean>;\n\n/**\n * Base llm chain class for evaluators.\n */\nexport abstract class LLMEvalChain<\n T extends EvalOutputType = EvalOutputType,\n L extends BaseLanguageModelInterface = BaseLanguageModelInterface,\n> extends LLMChain<T, L> {\n requiresInput?: boolean = false;\n\n requiresReference?: boolean = false;\n\n skipInputWarning?: string = `Ignoring input in ${this.constructor.name}, as it is not expected.`;\n\n skipReferenceWarning?: string = `Ignoring reference in ${this.constructor.name}, as it is not expected.`;\n\n /**\n * Check if the evaluation arguments are valid.\n * @param reference The reference label.\n * @param input The input string.\n * @throws {Error} If the evaluator requires an input string but none is provided, or if the evaluator requires a reference label but none is provided.\n */\n checkEvaluationArgs(reference?: string, input?: string): void {\n if (this.requiresInput && input == null) {\n throw new Error(`${this.constructor.name} requires an input string.`);\n } else if (input != null && !this.requiresInput) {\n console.warn(this.skipInputWarning);\n }\n if (this.requiresReference && reference == null) {\n throw new Error(`${this.constructor.name} requires a reference string.`);\n } else if (reference != null && !this.requiresReference) {\n console.warn(this.skipReferenceWarning);\n }\n }\n}\n\n/**\n * Base chain class for evaluators.\n */\nexport abstract class EvalChain<\n RunInput extends ChainValues = ChainValues,\n RunOutput extends ChainValues = ChainValues,\n> extends BaseChain<RunInput, RunOutput> {\n requiresInput?: boolean = false;\n\n requiresReference?: boolean = false;\n\n skipInputWarning?: string = `Ignoring input in ${this.constructor.name}, as it is not expected.`;\n\n skipReferenceWarning?: string = `Ignoring reference in ${this.constructor.name}, as it is not expected.`;\n\n /**\n * Check if the evaluation arguments are valid.\n * @param reference The reference label.\n * @param input The input string.\n * @throws {Error} If the evaluator requires an input string but none is provided, or if the evaluator requires a reference label but none is provided.\n */\n checkEvaluationArgs(reference?: string, input?: string): void {\n if (this.requiresInput && input == null) {\n throw new Error(`${this.constructor.name} requires an input string.`);\n } else if (input != null && !this.requiresInput) {\n console.warn(this.skipInputWarning);\n }\n if (this.requiresReference && reference == null) {\n throw new Error(`${this.constructor.name} requires a reference string.`);\n } else if (reference != null && !this.requiresReference) {\n console.warn(this.skipReferenceWarning);\n }\n }\n}\n\n/**\n * @field prediction The output string from the model.\n * @field reference The expected output / reference string.\n * @field input The input string.\n */\nexport interface StringEvaluatorArgs {\n prediction: string;\n reference?: string;\n input?: string;\n}\n\n/**\n * @field prediction The output string from the first model.\n * @field predictionB The output string from the second model.\n */\nexport interface PairwiseStringEvaluatorArgs {\n prediction: string;\n predictionB: string;\n}\n\n/**\n * @field The input string.\n * @field prediction The output string from the first model.\n * @field predictionB The output string from the second model.\n * @field reference The expected output / reference string.\n */\nexport interface LLMPairwiseStringEvaluatorArgs {\n input: string;\n prediction: string;\n predictionB: string;\n reference?: string;\n}\n\n/**\n * Args for AgentTrajectoryEvaluator\n * @field input The input to the agent.\n * @field prediction The final predicted response.\n * @field reference The reference answer.\n * @field agentTrajectory The intermediate steps forming the agent trajectory.\n */\nexport interface LLMTrajectoryEvaluatorArgs {\n input: string;\n prediction: string;\n reference?: string;\n agentTrajectory: AgentStep[];\n}\n\n/**\n * Grade, tag, or otherwise evaluate predictions relative to their inputs\n * and/or reference labels\n */\nexport abstract class LLMStringEvaluator<\n T extends EvalOutputType = EvalOutputType,\n L extends BaseLanguageModelInterface = BaseLanguageModelInterface,\n> extends LLMEvalChain<T, L> {\n /**\n * The name of the evaluation.\n */\n evaluationName?: string = this.constructor.name;\n\n /**\n * Evaluate Chain or LLM output, based on optional input and label.\n * @returns The evaluation results containing the score or value. It is recommended that the dictionary contain the following keys:\n * - score: the score of the evaluation, if applicable.\n * - value: the string value of the evaluation, if applicable.\n * - reasoning: the reasoning for the evaluation, if applicable.\n * @param args\n * @param callOptions\n * @param config\n */\n abstract _evaluateStrings(\n args: StringEvaluatorArgs & ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues>;\n\n /**\n * Evaluate Chain or LLM output, based on optional input and label.\n * @returns The evaluation results containing the score or value. It is recommended that the dictionary contain the following keys:\n * - score: the score of the evaluation, if applicable.\n * - value: the string value of the evaluation, if applicable.\n * - reasoning: the reasoning for the evaluation, if applicable.\n * @param args\n * @param callOptions\n * @param config\n */\n evaluateStrings(\n args: StringEvaluatorArgs & ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n this.checkEvaluationArgs(args.reference, args.input);\n return this._evaluateStrings(args, config);\n }\n}\n\n/**\n * Grade, tag, or otherwise evaluate predictions relative to their inputs\n * and/or reference labels\n */\nexport abstract class StringEvaluator extends EvalChain {\n /**\n * The name of the evaluation.\n */\n evaluationName?: string = this.constructor.name;\n\n /**\n * Evaluate Chain or LLM output, based on optional input and label.\n * @returns The evaluation results containing the score or value. It is recommended that the dictionary contain the following keys:\n * - score: the score of the evaluation, if applicable.\n * - value: the string value of the evaluation, if applicable.\n * - reasoning: the reasoning for the evaluation, if applicable.\n * @param args\n * @param config\n */\n abstract _evaluateStrings(\n args: StringEvaluatorArgs,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues>;\n\n /**\n * Evaluate Chain or LLM output, based on optional input and label.\n * @returns The evaluation results containing the score or value. It is recommended that the dictionary contain the following keys:\n * - score: the score of the evaluation, if applicable.\n * - value: the string value of the evaluation, if applicable.\n * - reasoning: the reasoning for the evaluation, if applicable.\n * @param args\n * @param config\n */\n evaluateStrings(\n args: StringEvaluatorArgs,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n this.checkEvaluationArgs(args.reference, args.input);\n return this._evaluateStrings(args, config);\n }\n}\n\n/**\n * Compare the output of two models (or two outputs of the same model).\n */\nexport abstract class PairwiseStringEvaluator extends EvalChain {\n /**\n * The name of the evaluation.\n */\n evaluationName?: string = this.constructor.name;\n\n /**\n * Evaluate the output string pairs.\n * @param args\n * @param config\n * @return A dictionary containing the preference, scores, and/or other information.\n */\n abstract _evaluateStringPairs(\n args: PairwiseStringEvaluatorArgs,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues>;\n\n /**\n * Evaluate the output string pairs.\n * @param args\n * @param config\n * @return A dictionary containing the preference, scores, and/or other information.\n */\n evaluateStringPairs(\n args: PairwiseStringEvaluatorArgs,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n return this._evaluateStringPairs(args, config);\n }\n}\n\n/**\n * Compare the output of two models (or two outputs of the same model).\n */\nexport abstract class LLMPairwiseStringEvaluator extends LLMEvalChain {\n /**\n * The name of the evaluation.\n */\n evaluationName?: string = this.constructor.name;\n\n /**\n * Evaluate the output string pairs.\n * @param args\n * @param callOptions\n * @param config\n * @return A dictionary containing the preference, scores, and/or other information.\n */\n abstract _evaluateStringPairs(\n args: LLMPairwiseStringEvaluatorArgs,\n callOptions?: ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues>;\n\n /**\n * Evaluate the output string pairs.\n * @param args\n * @param callOptions\n * @param config\n * @return A dictionary containing the preference, scores, and/or other information.\n */\n evaluateStringPairs(\n args: LLMPairwiseStringEvaluatorArgs,\n callOptions?: ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n this.checkEvaluationArgs(args.reference, args.input);\n return this._evaluateStringPairs(args, callOptions, config);\n }\n}\n\n/**\n * Interface for evaluating agent trajectories.\n */\nexport abstract class AgentTrajectoryEvaluator extends LLMEvalChain {\n requiresInput = true;\n\n /**\n * The name of the evaluation.\n */\n evaluationName?: string = this.constructor.name;\n\n /**\n * Evaluate a trajectory.\n * @return The evaluation result.\n * @param args\n * @param callOptions\n * @param config\n */\n abstract _evaluateAgentTrajectory(\n args: LLMTrajectoryEvaluatorArgs,\n callOptions?: ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues>;\n\n /**\n * Evaluate a trajectory.\n * @return The evaluation result.\n * @param args\n * @param callOptions\n * @param config\n */\n evaluateAgentTrajectory(\n args: LLMTrajectoryEvaluatorArgs,\n callOptions?: ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n this.checkEvaluationArgs(args.reference, args.input);\n return this._evaluateAgentTrajectory(args, callOptions, config);\n }\n}\n"],"mappings":";;;;;;;;;;AAgCA,MAAa,SAAS,IAAiB,OACrC,GAAG,SAAS,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,OAAO,MAAM,GAAG,IAAI,EAAE,CAAC;;;;AAUxD,IAAsB,eAAtB,cAGU,SAAe;CACvB,gBAA0B;CAE1B,oBAA8B;CAE9B,mBAA4B,qBAAqB,KAAK,YAAY,KAAK;CAEvE,uBAAgC,yBAAyB,KAAK,YAAY,KAAK;;;;;;;CAQ/E,oBAAoB,WAAoB,OAAsB;AAC5D,MAAI,KAAK,iBAAiB,SAAS,KACjC,OAAM,IAAI,MAAM,GAAG,KAAK,YAAY,KAAK,4BAA4B;WAC5D,SAAS,QAAQ,CAAC,KAAK,cAChC,SAAQ,KAAK,KAAK,iBAAiB;AAErC,MAAI,KAAK,qBAAqB,aAAa,KACzC,OAAM,IAAI,MAAM,GAAG,KAAK,YAAY,KAAK,+BAA+B;WAC/D,aAAa,QAAQ,CAAC,KAAK,kBACpC,SAAQ,KAAK,KAAK,qBAAqB;;;;;;AAQ7C,IAAsB,YAAtB,cAGU,UAA+B;CACvC,gBAA0B;CAE1B,oBAA8B;CAE9B,mBAA4B,qBAAqB,KAAK,YAAY,KAAK;CAEvE,uBAAgC,yBAAyB,KAAK,YAAY,KAAK;;;;;;;CAQ/E,oBAAoB,WAAoB,OAAsB;AAC5D,MAAI,KAAK,iBAAiB,SAAS,KACjC,OAAM,IAAI,MAAM,GAAG,KAAK,YAAY,KAAK,4BAA4B;WAC5D,SAAS,QAAQ,CAAC,KAAK,cAChC,SAAQ,KAAK,KAAK,iBAAiB;AAErC,MAAI,KAAK,qBAAqB,aAAa,KACzC,OAAM,IAAI,MAAM,GAAG,KAAK,YAAY,KAAK,+BAA+B;WAC/D,aAAa,QAAQ,CAAC,KAAK,kBACpC,SAAQ,KAAK,KAAK,qBAAqB;;;;;;;AAwD7C,IAAsB,qBAAtB,cAGU,aAAmB;;;;CAI3B,iBAA0B,KAAK,YAAY;;;;;;;;;;;CA2B3C,gBACE,MACA,QACsB;AACtB,OAAK,oBAAoB,KAAK,WAAW,KAAK,MAAM;AACpD,SAAO,KAAK,iBAAiB,MAAM,OAAO;;;;;;;AAQ9C,IAAsB,kBAAtB,cAA8C,UAAU;;;;CAItD,iBAA0B,KAAK,YAAY;;;;;;;;;;CAyB3C,gBACE,MACA,QACsB;AACtB,OAAK,oBAAoB,KAAK,WAAW,KAAK,MAAM;AACpD,SAAO,KAAK,iBAAiB,MAAM,OAAO;;;;;;AAO9C,IAAsB,0BAAtB,cAAsD,UAAU;;;;CAI9D,iBAA0B,KAAK,YAAY;;;;;;;CAmB3C,oBACE,MACA,QACsB;AACtB,SAAO,KAAK,qBAAqB,MAAM,OAAO;;;;;;AAOlD,IAAsB,6BAAtB,cAAyD,aAAa;;;;CAIpE,iBAA0B,KAAK,YAAY;;;;;;;;CAsB3C,oBACE,MACA,aACA,QACsB;AACtB,OAAK,oBAAoB,KAAK,WAAW,KAAK,MAAM;AACpD,SAAO,KAAK,qBAAqB,MAAM,aAAa,OAAO;;;;;;AAO/D,IAAsB,2BAAtB,cAAuD,aAAa;CAClE,gBAAgB;;;;CAKhB,iBAA0B,KAAK,YAAY;;;;;;;;CAsB3C,wBACE,MACA,aACA,QACsB;AACtB,OAAK,oBAAoB,KAAK,WAAW,KAAK,MAAM;AACpD,SAAO,KAAK,yBAAyB,MAAM,aAAa,OAAO"}
1
+ {"version":3,"file":"base.js","names":[],"sources":["../../src/evaluation/base.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { AgentStep } from \"@langchain/core/agents\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport {\n BaseCallbackConfig,\n Callbacks,\n} from \"@langchain/core/callbacks/manager\";\nimport { BaseChain, LLMChain, LLMChainInput } from \"../chains/index.js\";\n\n/**\n * Base input for evaluators.\n */\nexport interface LLMEvalChainInput<\n T extends EvalOutputType = EvalOutputType,\n L extends BaseLanguageModelInterface = BaseLanguageModelInterface,\n> extends LLMChainInput<T, L> {}\n\nexport type ExtractLLMCallOptions<LanguageModelInterface> =\n LanguageModelInterface extends BaseLanguageModelInterface<\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n any,\n infer CallOptions\n >\n ? CallOptions\n : never;\n\n/**\n * Compare two sets for equality\n *\n * @param xs\n * @param ys\n */\nexport const eqSet = (xs: Set<string>, ys: Set<string>) =>\n xs.size === ys.size && [...xs].every((x) => ys.has(x));\n\n/**\n * The type of the output of an evaluation evaluator.\n */\nexport type EvalOutputType = Record<string, string | number | boolean>;\n\n/**\n * Base llm chain class for evaluators.\n */\nexport abstract class LLMEvalChain<\n T extends EvalOutputType = EvalOutputType,\n L extends BaseLanguageModelInterface = BaseLanguageModelInterface,\n> extends LLMChain<T, L> {\n requiresInput?: boolean = false;\n\n requiresReference?: boolean = false;\n\n skipInputWarning?: string = `Ignoring input in ${this.constructor.name}, as it is not expected.`;\n\n skipReferenceWarning?: string = `Ignoring reference in ${this.constructor.name}, as it is not expected.`;\n\n /**\n * Check if the evaluation arguments are valid.\n * @param reference The reference label.\n * @param input The input string.\n * @throws {Error} If the evaluator requires an input string but none is provided, or if the evaluator requires a reference label but none is provided.\n */\n checkEvaluationArgs(reference?: string, input?: string): void {\n if (this.requiresInput && input == null) {\n throw new Error(`${this.constructor.name} requires an input string.`);\n } else if (input != null && !this.requiresInput) {\n console.warn(this.skipInputWarning);\n }\n if (this.requiresReference && reference == null) {\n throw new Error(`${this.constructor.name} requires a reference string.`);\n } else if (reference != null && !this.requiresReference) {\n console.warn(this.skipReferenceWarning);\n }\n }\n}\n\n/**\n * Base chain class for evaluators.\n */\nexport abstract class EvalChain<\n RunInput extends ChainValues = ChainValues,\n RunOutput extends ChainValues = ChainValues,\n> extends BaseChain<RunInput, RunOutput> {\n requiresInput?: boolean = false;\n\n requiresReference?: boolean = false;\n\n skipInputWarning?: string = `Ignoring input in ${this.constructor.name}, as it is not expected.`;\n\n skipReferenceWarning?: string = `Ignoring reference in ${this.constructor.name}, as it is not expected.`;\n\n /**\n * Check if the evaluation arguments are valid.\n * @param reference The reference label.\n * @param input The input string.\n * @throws {Error} If the evaluator requires an input string but none is provided, or if the evaluator requires a reference label but none is provided.\n */\n checkEvaluationArgs(reference?: string, input?: string): void {\n if (this.requiresInput && input == null) {\n throw new Error(`${this.constructor.name} requires an input string.`);\n } else if (input != null && !this.requiresInput) {\n console.warn(this.skipInputWarning);\n }\n if (this.requiresReference && reference == null) {\n throw new Error(`${this.constructor.name} requires a reference string.`);\n } else if (reference != null && !this.requiresReference) {\n console.warn(this.skipReferenceWarning);\n }\n }\n}\n\n/**\n * @field prediction The output string from the model.\n * @field reference The expected output / reference string.\n * @field input The input string.\n */\nexport interface StringEvaluatorArgs {\n prediction: string;\n reference?: string;\n input?: string;\n}\n\n/**\n * @field prediction The output string from the first model.\n * @field predictionB The output string from the second model.\n */\nexport interface PairwiseStringEvaluatorArgs {\n prediction: string;\n predictionB: string;\n}\n\n/**\n * @field The input string.\n * @field prediction The output string from the first model.\n * @field predictionB The output string from the second model.\n * @field reference The expected output / reference string.\n */\nexport interface LLMPairwiseStringEvaluatorArgs {\n input: string;\n prediction: string;\n predictionB: string;\n reference?: string;\n}\n\n/**\n * Args for AgentTrajectoryEvaluator\n * @field input The input to the agent.\n * @field prediction The final predicted response.\n * @field reference The reference answer.\n * @field agentTrajectory The intermediate steps forming the agent trajectory.\n */\nexport interface LLMTrajectoryEvaluatorArgs {\n input: string;\n prediction: string;\n reference?: string;\n agentTrajectory: AgentStep[];\n}\n\n/**\n * Grade, tag, or otherwise evaluate predictions relative to their inputs\n * and/or reference labels\n */\nexport abstract class LLMStringEvaluator<\n T extends EvalOutputType = EvalOutputType,\n L extends BaseLanguageModelInterface = BaseLanguageModelInterface,\n> extends LLMEvalChain<T, L> {\n /**\n * The name of the evaluation.\n */\n evaluationName?: string = this.constructor.name;\n\n /**\n * Evaluate Chain or LLM output, based on optional input and label.\n * @returns The evaluation results containing the score or value. It is recommended that the dictionary contain the following keys:\n * - score: the score of the evaluation, if applicable.\n * - value: the string value of the evaluation, if applicable.\n * - reasoning: the reasoning for the evaluation, if applicable.\n * @param args\n * @param callOptions\n * @param config\n */\n abstract _evaluateStrings(\n args: StringEvaluatorArgs & ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues>;\n\n /**\n * Evaluate Chain or LLM output, based on optional input and label.\n * @returns The evaluation results containing the score or value. It is recommended that the dictionary contain the following keys:\n * - score: the score of the evaluation, if applicable.\n * - value: the string value of the evaluation, if applicable.\n * - reasoning: the reasoning for the evaluation, if applicable.\n * @param args\n * @param callOptions\n * @param config\n */\n evaluateStrings(\n args: StringEvaluatorArgs & ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n this.checkEvaluationArgs(args.reference, args.input);\n return this._evaluateStrings(args, config);\n }\n}\n\n/**\n * Grade, tag, or otherwise evaluate predictions relative to their inputs\n * and/or reference labels\n */\nexport abstract class StringEvaluator extends EvalChain {\n /**\n * The name of the evaluation.\n */\n evaluationName?: string = this.constructor.name;\n\n /**\n * Evaluate Chain or LLM output, based on optional input and label.\n * @returns The evaluation results containing the score or value. It is recommended that the dictionary contain the following keys:\n * - score: the score of the evaluation, if applicable.\n * - value: the string value of the evaluation, if applicable.\n * - reasoning: the reasoning for the evaluation, if applicable.\n * @param args\n * @param config\n */\n abstract _evaluateStrings(\n args: StringEvaluatorArgs,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues>;\n\n /**\n * Evaluate Chain or LLM output, based on optional input and label.\n * @returns The evaluation results containing the score or value. It is recommended that the dictionary contain the following keys:\n * - score: the score of the evaluation, if applicable.\n * - value: the string value of the evaluation, if applicable.\n * - reasoning: the reasoning for the evaluation, if applicable.\n * @param args\n * @param config\n */\n evaluateStrings(\n args: StringEvaluatorArgs,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n this.checkEvaluationArgs(args.reference, args.input);\n return this._evaluateStrings(args, config);\n }\n}\n\n/**\n * Compare the output of two models (or two outputs of the same model).\n */\nexport abstract class PairwiseStringEvaluator extends EvalChain {\n /**\n * The name of the evaluation.\n */\n evaluationName?: string = this.constructor.name;\n\n /**\n * Evaluate the output string pairs.\n * @param args\n * @param config\n * @return A dictionary containing the preference, scores, and/or other information.\n */\n abstract _evaluateStringPairs(\n args: PairwiseStringEvaluatorArgs,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues>;\n\n /**\n * Evaluate the output string pairs.\n * @param args\n * @param config\n * @return A dictionary containing the preference, scores, and/or other information.\n */\n evaluateStringPairs(\n args: PairwiseStringEvaluatorArgs,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n return this._evaluateStringPairs(args, config);\n }\n}\n\n/**\n * Compare the output of two models (or two outputs of the same model).\n */\nexport abstract class LLMPairwiseStringEvaluator extends LLMEvalChain {\n /**\n * The name of the evaluation.\n */\n evaluationName?: string = this.constructor.name;\n\n /**\n * Evaluate the output string pairs.\n * @param args\n * @param callOptions\n * @param config\n * @return A dictionary containing the preference, scores, and/or other information.\n */\n abstract _evaluateStringPairs(\n args: LLMPairwiseStringEvaluatorArgs,\n callOptions?: ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues>;\n\n /**\n * Evaluate the output string pairs.\n * @param args\n * @param callOptions\n * @param config\n * @return A dictionary containing the preference, scores, and/or other information.\n */\n evaluateStringPairs(\n args: LLMPairwiseStringEvaluatorArgs,\n callOptions?: ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n this.checkEvaluationArgs(args.reference, args.input);\n return this._evaluateStringPairs(args, callOptions, config);\n }\n}\n\n/**\n * Interface for evaluating agent trajectories.\n */\nexport abstract class AgentTrajectoryEvaluator extends LLMEvalChain {\n requiresInput = true;\n\n /**\n * The name of the evaluation.\n */\n evaluationName?: string = this.constructor.name;\n\n /**\n * Evaluate a trajectory.\n * @return The evaluation result.\n * @param args\n * @param callOptions\n * @param config\n */\n abstract _evaluateAgentTrajectory(\n args: LLMTrajectoryEvaluatorArgs,\n callOptions?: ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues>;\n\n /**\n * Evaluate a trajectory.\n * @return The evaluation result.\n * @param args\n * @param callOptions\n * @param config\n */\n evaluateAgentTrajectory(\n args: LLMTrajectoryEvaluatorArgs,\n callOptions?: ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n this.checkEvaluationArgs(args.reference, args.input);\n return this._evaluateAgentTrajectory(args, callOptions, config);\n }\n}\n"],"mappings":";;;;;;;;;;AAgCA,MAAa,SAAS,IAAiB,OACrC,GAAG,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,MAAM,GAAG,IAAI,CAAC,CAAC;;;;AAUvD,IAAsB,eAAtB,cAGU,SAAe;CACvB,gBAA0B;CAE1B,oBAA8B;CAE9B,mBAA4B,qBAAqB,KAAK,YAAY,KAAK;CAEvE,uBAAgC,yBAAyB,KAAK,YAAY,KAAK;;;;;;;CAQ/E,oBAAoB,WAAoB,OAAsB;EAC5D,IAAI,KAAK,iBAAiB,SAAS,MACjC,MAAM,IAAI,MAAM,GAAG,KAAK,YAAY,KAAK,2BAA2B;OAC/D,IAAI,SAAS,QAAQ,CAAC,KAAK,eAChC,QAAQ,KAAK,KAAK,gBAAgB;EAEpC,IAAI,KAAK,qBAAqB,aAAa,MACzC,MAAM,IAAI,MAAM,GAAG,KAAK,YAAY,KAAK,8BAA8B;OAClE,IAAI,aAAa,QAAQ,CAAC,KAAK,mBACpC,QAAQ,KAAK,KAAK,oBAAoB;CAE1C;AACF;;;;AAKA,IAAsB,YAAtB,cAGU,UAA+B;CACvC,gBAA0B;CAE1B,oBAA8B;CAE9B,mBAA4B,qBAAqB,KAAK,YAAY,KAAK;CAEvE,uBAAgC,yBAAyB,KAAK,YAAY,KAAK;;;;;;;CAQ/E,oBAAoB,WAAoB,OAAsB;EAC5D,IAAI,KAAK,iBAAiB,SAAS,MACjC,MAAM,IAAI,MAAM,GAAG,KAAK,YAAY,KAAK,2BAA2B;OAC/D,IAAI,SAAS,QAAQ,CAAC,KAAK,eAChC,QAAQ,KAAK,KAAK,gBAAgB;EAEpC,IAAI,KAAK,qBAAqB,aAAa,MACzC,MAAM,IAAI,MAAM,GAAG,KAAK,YAAY,KAAK,8BAA8B;OAClE,IAAI,aAAa,QAAQ,CAAC,KAAK,mBACpC,QAAQ,KAAK,KAAK,oBAAoB;CAE1C;AACF;;;;;AAqDA,IAAsB,qBAAtB,cAGU,aAAmB;;;;CAI3B,iBAA0B,KAAK,YAAY;;;;;;;;;;;CA2B3C,gBACE,MACA,QACsB;EACtB,KAAK,oBAAoB,KAAK,WAAW,KAAK,KAAK;EACnD,OAAO,KAAK,iBAAiB,MAAM,MAAM;CAC3C;AACF;;;;;AAMA,IAAsB,kBAAtB,cAA8C,UAAU;;;;CAItD,iBAA0B,KAAK,YAAY;;;;;;;;;;CAyB3C,gBACE,MACA,QACsB;EACtB,KAAK,oBAAoB,KAAK,WAAW,KAAK,KAAK;EACnD,OAAO,KAAK,iBAAiB,MAAM,MAAM;CAC3C;AACF;;;;AAKA,IAAsB,0BAAtB,cAAsD,UAAU;;;;CAI9D,iBAA0B,KAAK,YAAY;;;;;;;CAmB3C,oBACE,MACA,QACsB;EACtB,OAAO,KAAK,qBAAqB,MAAM,MAAM;CAC/C;AACF;;;;AAKA,IAAsB,6BAAtB,cAAyD,aAAa;;;;CAIpE,iBAA0B,KAAK,YAAY;;;;;;;;CAsB3C,oBACE,MACA,aACA,QACsB;EACtB,KAAK,oBAAoB,KAAK,WAAW,KAAK,KAAK;EACnD,OAAO,KAAK,qBAAqB,MAAM,aAAa,MAAM;CAC5D;AACF;;;;AAKA,IAAsB,2BAAtB,cAAuD,aAAa;CAClE,gBAAgB;;;;CAKhB,iBAA0B,KAAK,YAAY;;;;;;;;CAsB3C,wBACE,MACA,aACA,QACsB;EACtB,KAAK,oBAAoB,KAAK,WAAW,KAAK,KAAK;EACnD,OAAO,KAAK,yBAAyB,MAAM,aAAa,MAAM;CAChE;AACF"}
@@ -1 +1,4 @@
1
- require("./pairwise.cjs");
1
+ const require_pairwise = require("./pairwise.cjs");
2
+ exports.LabeledPairwiseStringEvalChain = require_pairwise.LabeledPairwiseStringEvalChain;
3
+ exports.PairwiseStringEvalChain = require_pairwise.PairwiseStringEvalChain;
4
+ exports.PairwiseStringResultOutputParser = require_pairwise.PairwiseStringResultOutputParser;
@@ -1 +1,2 @@
1
- import { LabeledPairwiseStringEvalChain, PairwiseStringEvalChain, PairwiseStringResultOutputParser } from "./pairwise.cjs";
1
+ import { LabeledPairwiseStringEvalChain, PairwiseStringEvalChain, PairwiseStringResultOutputParser } from "./pairwise.cjs";
2
+ export { LabeledPairwiseStringEvalChain, PairwiseStringEvalChain, PairwiseStringResultOutputParser };
@@ -1 +1,2 @@
1
- import { LabeledPairwiseStringEvalChain, PairwiseStringEvalChain, PairwiseStringResultOutputParser } from "./pairwise.js";
1
+ import { LabeledPairwiseStringEvalChain, PairwiseStringEvalChain, PairwiseStringResultOutputParser } from "./pairwise.js";
2
+ export { LabeledPairwiseStringEvalChain, PairwiseStringEvalChain, PairwiseStringResultOutputParser };
@@ -1,2 +1,2 @@
1
- import "./pairwise.js";
2
- export {};
1
+ import { LabeledPairwiseStringEvalChain, PairwiseStringEvalChain, PairwiseStringResultOutputParser } from "./pairwise.js";
2
+ export { LabeledPairwiseStringEvalChain, PairwiseStringEvalChain, PairwiseStringResultOutputParser };
@@ -1,4 +1,3 @@
1
- require("../../_virtual/_rolldown/runtime.cjs");
2
1
  const require_constitutional_principle = require("../../chains/constitutional_ai/constitutional_principle.cjs");
3
2
  require("../../chains/index.cjs");
4
3
  const require_base = require("../base.cjs");
@@ -100,7 +99,7 @@ To use references, use the LabeledPairwiseStringEvalChain instead.`;
100
99
  }
101
100
  static resolvePairwisePrompt(prompt) {
102
101
  const _prompt = prompt || require_prompt.PROMPT;
103
- const expectedInputVars = new Set([
102
+ const expectedInputVars = /* @__PURE__ */ new Set([
104
103
  "prediction",
105
104
  "predictionB",
106
105
  "input",
@@ -153,7 +152,7 @@ var LabeledPairwiseStringEvalChain = class extends PairwiseStringEvalChain {
153
152
  requiresReference = true;
154
153
  static resolvePairwisePrompt(prompt) {
155
154
  const _prompt = prompt || require_prompt.PROMPT_WITH_REFERENCES;
156
- const expectedInputVars = new Set([
155
+ const expectedInputVars = /* @__PURE__ */ new Set([
157
156
  "input",
158
157
  "prediction",
159
158
  "predictionB",
@@ -1 +1 @@
1
- {"version":3,"file":"pairwise.cjs","names":["BaseLLMOutputParser","LLMPairwiseStringEvaluator","ConstitutionalPrinciple","PROMPT","eqSet","RUN_KEY","PROMPT_WITH_REFERENCES"],"sources":["../../../src/evaluation/comparison/pairwise.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { BaseLLMOutputParser } from \"@langchain/core/output_parsers\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { ChatGeneration, Generation, RUN_KEY } from \"@langchain/core/outputs\";\nimport { BasePromptTemplate } from \"@langchain/core/prompts\";\nimport {\n Callbacks,\n BaseCallbackConfig,\n} from \"@langchain/core/callbacks/manager\";\nimport {\n eqSet,\n EvalOutputType,\n LLMEvalChainInput,\n LLMPairwiseStringEvaluator,\n LLMPairwiseStringEvaluatorArgs,\n type ExtractLLMCallOptions,\n} from \"../base.js\";\n\nimport { PROMPT, PROMPT_WITH_REFERENCES } from \"./prompt.js\";\nimport { ConstitutionalPrinciple } from \"../../chains/index.js\";\nimport { Criteria, CriteriaLike } from \"../criteria/criteria.js\";\n\nconst SUPPORTED_CRITERIA: Record<Criteria, string> = {\n conciseness: \"Is the submission concise and to the point?\",\n relevance: \"Is the submission referring to a real quote from the text?\",\n correctness: \"Is the submission correct, accurate, and factual?\",\n coherence: \"Is the submission coherent, well-structured, and organized?\",\n harmfulness: \"Is the submission harmful, offensive, or inappropriate?\",\n maliciousness: \"Is the submission malicious in any way?\",\n helpfulness: \"Is the submission helpful, insightful, and appropriate?\",\n controversiality: \"Is the submission controversial or debatable?\",\n misogyny: \"Is the submission misogynistic? If so, response Y.\",\n criminality: \"Is the submission criminal in any way?\",\n insensitivity: \"Is the submission insensitive to any group of people?\",\n depth: \"Does the submission demonstrate depth of thought?\",\n creativity: \"Does the submission demonstrate novelty or unique ideas?\",\n detail: \"Does the submission demonstrate attention to detail?\",\n};\n\n/**\n * A parser for the output of the PairwiseStringEvalChain.\n */\nexport class PairwiseStringResultOutputParser extends BaseLLMOutputParser<EvalOutputType> {\n static lc_name(): string {\n return \"PairwiseStringResultOutputParser\";\n }\n\n lc_namespace = [\"langchain\", \"evaluation\", \"comparison\"];\n\n parseResult(\n generations: Generation[] | ChatGeneration[],\n _callbacks: Callbacks | undefined\n ): Promise<EvalOutputType> {\n const { text } = generations[0];\n\n const parsed = text.trim().split(\"\\n\");\n let reasoning;\n let verdict;\n\n if (parsed.length === 1) {\n [verdict] = parsed;\n } else {\n // The last one is the verdict, the preceding one is the reasoning.\n reasoning = parsed.slice(0, parsed.length - 1).join(\"\");\n verdict = parsed[parsed.length - 1];\n }\n\n verdict = verdict.replace(/\\[+/, \"\").replace(/]+/, \"\");\n if (![\"A\", \"B\", \"C\"].includes(verdict)) {\n throw new Error(\n `Invalid verdict: ${verdict}. ` +\n \"Verdict must be one of 'A', 'B', or 'C'.\"\n );\n }\n // C means the models are tied. Return 'None' meaning no preference\n const score = {\n A: 1,\n B: 0,\n C: 0.5,\n }[verdict];\n\n if (score === undefined) {\n throw new Error(\"Could not parse score from evaluator output.\");\n }\n\n return Promise.resolve({\n reasoning: reasoning || \"\",\n value: verdict,\n score,\n });\n }\n}\n\n/**\n * A chain for comparing two outputs, such as the outputs\n * of two models, prompts, or outputs of a single model on similar inputs.\n */\nexport class PairwiseStringEvalChain extends LLMPairwiseStringEvaluator {\n static lc_name(): string {\n return \"PairwiseStringEvalChain\";\n }\n\n criterionName?: string;\n\n evaluationName?: string = this.criterionName;\n\n requiresInput = true;\n\n requiresReference = false;\n\n skipReferenceWarning = `Ignoring reference in ${this.constructor.name}, as it is not expected.\nTo use references, use the LabeledPairwiseStringEvalChain instead.`;\n\n outputParser = new PairwiseStringResultOutputParser();\n\n static resolvePairwiseCriteria(\n criteria?: CriteriaLike\n ): Record<string, string> {\n if (criteria === undefined) {\n const defaultCriteria: Criteria[] = [\n \"helpfulness\",\n \"relevance\",\n \"correctness\",\n \"depth\",\n ];\n\n return defaultCriteria.reduce(\n (accumulator: Record<string, string>, currentValue) => {\n accumulator[currentValue] = SUPPORTED_CRITERIA[currentValue];\n return accumulator;\n },\n {}\n );\n }\n\n let criteria_: { [key: string]: string } = {};\n\n if (typeof criteria === \"string\") {\n if (criteria in SUPPORTED_CRITERIA) {\n criteria_ = { [criteria]: SUPPORTED_CRITERIA[criteria] };\n }\n // oxlint-disable-next-line no-instanceof/no-instanceof\n } else if (criteria instanceof ConstitutionalPrinciple) {\n criteria_ = { [criteria.name]: criteria.critiqueRequest };\n } else {\n if (!criteria) {\n throw new Error(\n \"Criteria cannot be empty. \" +\n \"Please provide a criterion name or a mapping of the criterion name\" +\n \" to its description.\"\n );\n }\n criteria_ = { ...criteria };\n }\n return criteria_;\n }\n\n static resolvePairwisePrompt(prompt?: BasePromptTemplate) {\n const _prompt = prompt || PROMPT;\n const expectedInputVars: Set<string> = new Set([\n \"prediction\",\n \"predictionB\",\n \"input\",\n \"criteria\",\n ]);\n // Create a Set from inputVariables for a valid comparison\n const inputVarsSet: Set<string> = new Set(_prompt.inputVariables);\n\n if (!eqSet(expectedInputVars, inputVarsSet)) {\n throw new Error(\n `Input variables should be ${[...expectedInputVars]}, but got ${\n _prompt.inputVariables\n }`\n );\n }\n return _prompt;\n }\n\n /**\n * Create a new instance of the PairwiseStringEvalChain.\n * @param llm\n * @param criteria The criteria to use for evaluation.\n * @param chainOptions Options to pass to the chain.\n */\n static async fromLLM(\n llm: BaseLanguageModelInterface,\n criteria?: CriteriaLike,\n chainOptions?: Partial<Omit<LLMEvalChainInput, \"llm\">>\n ) {\n let prompt = this.resolvePairwisePrompt(chainOptions?.prompt);\n\n const criteria_ = this.resolvePairwiseCriteria(criteria);\n const criteriaStr = Object.entries(criteria_)\n .map(([k, v]) => `${k}: ${v}`)\n .join(\"\\n\");\n prompt = await prompt.partial({ criteria: criteriaStr });\n\n const options = chainOptions;\n if (options) {\n // remove prompt from chainOptions\n delete options.prompt;\n }\n\n return new this({\n llm,\n prompt,\n ...options,\n });\n }\n\n _prepareOutput(result: ChainValues) {\n const parsed = result[this.outputKey];\n if (RUN_KEY in result && result[RUN_KEY]) {\n parsed[RUN_KEY] = result[RUN_KEY];\n }\n return parsed;\n }\n\n async _evaluateStringPairs(\n args: LLMPairwiseStringEvaluatorArgs,\n callOptions: ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n const result = await this.call({ ...args, ...callOptions }, config);\n\n return this._prepareOutput(result);\n }\n}\n\n/**\n * A chain for comparing two outputs, such as the outputs\n * of two models, prompts, or outputs of a single model on similar inputs,\n * with labeled preferences.\n */\nexport class LabeledPairwiseStringEvalChain extends PairwiseStringEvalChain {\n static lc_name(): string {\n return \"LabeledPairwiseStringEvalChain\";\n }\n\n requiresReference = true;\n\n static resolvePairwisePrompt(prompt?: BasePromptTemplate) {\n const _prompt = prompt || PROMPT_WITH_REFERENCES;\n const expectedInputVars: Set<string> = new Set([\n \"input\",\n \"prediction\",\n \"predictionB\",\n \"reference\",\n \"criteria\",\n ]);\n // Create a Set from inputVariables for a valid comparison\n const inputVarsSet: Set<string> = new Set(_prompt.inputVariables);\n\n if (!eqSet(expectedInputVars, inputVarsSet)) {\n throw new Error(\n `Input variables should be ${[...expectedInputVars]}, but got ${\n _prompt.inputVariables\n }`\n );\n }\n return _prompt;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"pairwise.cjs","names":["BaseLLMOutputParser","LLMPairwiseStringEvaluator","ConstitutionalPrinciple","PROMPT","eqSet","RUN_KEY","PROMPT_WITH_REFERENCES"],"sources":["../../../src/evaluation/comparison/pairwise.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { BaseLLMOutputParser } from \"@langchain/core/output_parsers\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { ChatGeneration, Generation, RUN_KEY } from \"@langchain/core/outputs\";\nimport { BasePromptTemplate } from \"@langchain/core/prompts\";\nimport {\n Callbacks,\n BaseCallbackConfig,\n} from \"@langchain/core/callbacks/manager\";\nimport {\n eqSet,\n EvalOutputType,\n LLMEvalChainInput,\n LLMPairwiseStringEvaluator,\n LLMPairwiseStringEvaluatorArgs,\n type ExtractLLMCallOptions,\n} from \"../base.js\";\n\nimport { PROMPT, PROMPT_WITH_REFERENCES } from \"./prompt.js\";\nimport { ConstitutionalPrinciple } from \"../../chains/index.js\";\nimport { Criteria, CriteriaLike } from \"../criteria/criteria.js\";\n\nconst SUPPORTED_CRITERIA: Record<Criteria, string> = {\n conciseness: \"Is the submission concise and to the point?\",\n relevance: \"Is the submission referring to a real quote from the text?\",\n correctness: \"Is the submission correct, accurate, and factual?\",\n coherence: \"Is the submission coherent, well-structured, and organized?\",\n harmfulness: \"Is the submission harmful, offensive, or inappropriate?\",\n maliciousness: \"Is the submission malicious in any way?\",\n helpfulness: \"Is the submission helpful, insightful, and appropriate?\",\n controversiality: \"Is the submission controversial or debatable?\",\n misogyny: \"Is the submission misogynistic? If so, response Y.\",\n criminality: \"Is the submission criminal in any way?\",\n insensitivity: \"Is the submission insensitive to any group of people?\",\n depth: \"Does the submission demonstrate depth of thought?\",\n creativity: \"Does the submission demonstrate novelty or unique ideas?\",\n detail: \"Does the submission demonstrate attention to detail?\",\n};\n\n/**\n * A parser for the output of the PairwiseStringEvalChain.\n */\nexport class PairwiseStringResultOutputParser extends BaseLLMOutputParser<EvalOutputType> {\n static lc_name(): string {\n return \"PairwiseStringResultOutputParser\";\n }\n\n lc_namespace = [\"langchain\", \"evaluation\", \"comparison\"];\n\n parseResult(\n generations: Generation[] | ChatGeneration[],\n _callbacks: Callbacks | undefined\n ): Promise<EvalOutputType> {\n const { text } = generations[0];\n\n const parsed = text.trim().split(\"\\n\");\n let reasoning;\n let verdict;\n\n if (parsed.length === 1) {\n [verdict] = parsed;\n } else {\n // The last one is the verdict, the preceding one is the reasoning.\n reasoning = parsed.slice(0, parsed.length - 1).join(\"\");\n verdict = parsed[parsed.length - 1];\n }\n\n verdict = verdict.replace(/\\[+/, \"\").replace(/]+/, \"\");\n if (![\"A\", \"B\", \"C\"].includes(verdict)) {\n throw new Error(\n `Invalid verdict: ${verdict}. ` +\n \"Verdict must be one of 'A', 'B', or 'C'.\"\n );\n }\n // C means the models are tied. Return 'None' meaning no preference\n const score = {\n A: 1,\n B: 0,\n C: 0.5,\n }[verdict];\n\n if (score === undefined) {\n throw new Error(\"Could not parse score from evaluator output.\");\n }\n\n return Promise.resolve({\n reasoning: reasoning || \"\",\n value: verdict,\n score,\n });\n }\n}\n\n/**\n * A chain for comparing two outputs, such as the outputs\n * of two models, prompts, or outputs of a single model on similar inputs.\n */\nexport class PairwiseStringEvalChain extends LLMPairwiseStringEvaluator {\n static lc_name(): string {\n return \"PairwiseStringEvalChain\";\n }\n\n criterionName?: string;\n\n evaluationName?: string = this.criterionName;\n\n requiresInput = true;\n\n requiresReference = false;\n\n skipReferenceWarning = `Ignoring reference in ${this.constructor.name}, as it is not expected.\nTo use references, use the LabeledPairwiseStringEvalChain instead.`;\n\n outputParser = new PairwiseStringResultOutputParser();\n\n static resolvePairwiseCriteria(\n criteria?: CriteriaLike\n ): Record<string, string> {\n if (criteria === undefined) {\n const defaultCriteria: Criteria[] = [\n \"helpfulness\",\n \"relevance\",\n \"correctness\",\n \"depth\",\n ];\n\n return defaultCriteria.reduce(\n (accumulator: Record<string, string>, currentValue) => {\n accumulator[currentValue] = SUPPORTED_CRITERIA[currentValue];\n return accumulator;\n },\n {}\n );\n }\n\n let criteria_: { [key: string]: string } = {};\n\n if (typeof criteria === \"string\") {\n if (criteria in SUPPORTED_CRITERIA) {\n criteria_ = { [criteria]: SUPPORTED_CRITERIA[criteria] };\n }\n // oxlint-disable-next-line no-instanceof/no-instanceof\n } else if (criteria instanceof ConstitutionalPrinciple) {\n criteria_ = { [criteria.name]: criteria.critiqueRequest };\n } else {\n if (!criteria) {\n throw new Error(\n \"Criteria cannot be empty. \" +\n \"Please provide a criterion name or a mapping of the criterion name\" +\n \" to its description.\"\n );\n }\n criteria_ = { ...criteria };\n }\n return criteria_;\n }\n\n static resolvePairwisePrompt(prompt?: BasePromptTemplate) {\n const _prompt = prompt || PROMPT;\n const expectedInputVars: Set<string> = new Set([\n \"prediction\",\n \"predictionB\",\n \"input\",\n \"criteria\",\n ]);\n // Create a Set from inputVariables for a valid comparison\n const inputVarsSet: Set<string> = new Set(_prompt.inputVariables);\n\n if (!eqSet(expectedInputVars, inputVarsSet)) {\n throw new Error(\n `Input variables should be ${[...expectedInputVars]}, but got ${\n _prompt.inputVariables\n }`\n );\n }\n return _prompt;\n }\n\n /**\n * Create a new instance of the PairwiseStringEvalChain.\n * @param llm\n * @param criteria The criteria to use for evaluation.\n * @param chainOptions Options to pass to the chain.\n */\n static async fromLLM(\n llm: BaseLanguageModelInterface,\n criteria?: CriteriaLike,\n chainOptions?: Partial<Omit<LLMEvalChainInput, \"llm\">>\n ) {\n let prompt = this.resolvePairwisePrompt(chainOptions?.prompt);\n\n const criteria_ = this.resolvePairwiseCriteria(criteria);\n const criteriaStr = Object.entries(criteria_)\n .map(([k, v]) => `${k}: ${v}`)\n .join(\"\\n\");\n prompt = await prompt.partial({ criteria: criteriaStr });\n\n const options = chainOptions;\n if (options) {\n // remove prompt from chainOptions\n delete options.prompt;\n }\n\n return new this({\n llm,\n prompt,\n ...options,\n });\n }\n\n _prepareOutput(result: ChainValues) {\n const parsed = result[this.outputKey];\n if (RUN_KEY in result && result[RUN_KEY]) {\n parsed[RUN_KEY] = result[RUN_KEY];\n }\n return parsed;\n }\n\n async _evaluateStringPairs(\n args: LLMPairwiseStringEvaluatorArgs,\n callOptions: ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n const result = await this.call({ ...args, ...callOptions }, config);\n\n return this._prepareOutput(result);\n }\n}\n\n/**\n * A chain for comparing two outputs, such as the outputs\n * of two models, prompts, or outputs of a single model on similar inputs,\n * with labeled preferences.\n */\nexport class LabeledPairwiseStringEvalChain extends PairwiseStringEvalChain {\n static lc_name(): string {\n return \"LabeledPairwiseStringEvalChain\";\n }\n\n requiresReference = true;\n\n static resolvePairwisePrompt(prompt?: BasePromptTemplate) {\n const _prompt = prompt || PROMPT_WITH_REFERENCES;\n const expectedInputVars: Set<string> = new Set([\n \"input\",\n \"prediction\",\n \"predictionB\",\n \"reference\",\n \"criteria\",\n ]);\n // Create a Set from inputVariables for a valid comparison\n const inputVarsSet: Set<string> = new Set(_prompt.inputVariables);\n\n if (!eqSet(expectedInputVars, inputVarsSet)) {\n throw new Error(\n `Input variables should be ${[...expectedInputVars]}, but got ${\n _prompt.inputVariables\n }`\n );\n }\n return _prompt;\n }\n}\n"],"mappings":"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"}
@@ -5,9 +5,7 @@ import { BaseLLMOutputParser } from "@langchain/core/output_parsers";
5
5
  import { ChainValues } from "@langchain/core/utils/types";
6
6
  import { BasePromptTemplate } from "@langchain/core/prompts";
7
7
  import { BaseLanguageModelInterface } from "@langchain/core/language_models/base";
8
- import * as _$_langchain_core_prompt_values0 from "@langchain/core/prompt_values";
9
8
  import { BaseCallbackConfig, Callbacks } from "@langchain/core/callbacks/manager";
10
-
11
9
  //#region src/evaluation/comparison/pairwise.d.ts
12
10
  /**
13
11
  * A parser for the output of the PairwiseStringEvalChain.
@@ -30,7 +28,7 @@ declare class PairwiseStringEvalChain extends LLMPairwiseStringEvaluator {
30
28
  skipReferenceWarning: string;
31
29
  outputParser: PairwiseStringResultOutputParser;
32
30
  static resolvePairwiseCriteria(criteria?: CriteriaLike): Record<string, string>;
33
- static resolvePairwisePrompt(prompt?: BasePromptTemplate): BasePromptTemplate<any, _$_langchain_core_prompt_values0.BasePromptValueInterface, any>;
31
+ static resolvePairwisePrompt(prompt?: BasePromptTemplate): BasePromptTemplate<any, import("@langchain/core/prompt_values").BasePromptValueInterface, any>;
34
32
  /**
35
33
  * Create a new instance of the PairwiseStringEvalChain.
36
34
  * @param llm
@@ -49,7 +47,7 @@ declare class PairwiseStringEvalChain extends LLMPairwiseStringEvaluator {
49
47
  declare class LabeledPairwiseStringEvalChain extends PairwiseStringEvalChain {
50
48
  static lc_name(): string;
51
49
  requiresReference: boolean;
52
- static resolvePairwisePrompt(prompt?: BasePromptTemplate): BasePromptTemplate<any, _$_langchain_core_prompt_values0.BasePromptValueInterface, any>;
50
+ static resolvePairwisePrompt(prompt?: BasePromptTemplate): BasePromptTemplate<any, import("@langchain/core/prompt_values").BasePromptValueInterface, any>;
53
51
  }
54
52
  //#endregion
55
53
  export { LabeledPairwiseStringEvalChain, PairwiseStringEvalChain, PairwiseStringResultOutputParser };
@@ -1 +1 @@
1
- {"version":3,"file":"pairwise.d.cts","names":[],"sources":["../../../src/evaluation/comparison/pairwise.ts"],"mappings":";;;;;;;;;;;;;;cA0Ca,gCAAA,SAAyC,mBAAA,CAAoB,cAAA;EAAA,OACjE,OAAA,CAAA;EAIP,YAAA;EAEA,WAAA,CACE,WAAA,EAAa,UAAA,KAAe,cAAA,IAC5B,UAAA,EAAY,SAAA,eACX,OAAA,CAAQ,cAAA;AAAA;;;;;cA6CA,uBAAA,SAAgC,0BAAA;EAAA,OACpC,OAAA,CAAA;EAIP,aAAA;EAEA,cAAA;EAEA,aAAA;EAEA,iBAAA;EAEA,oBAAA;EAGA,YAAA,EAAY,gCAAA;EAAA,OAEL,uBAAA,CACL,QAAA,GAAW,YAAA,GACV,MAAA;EAAA,OAwCI,qBAAA,CAAsB,MAAA,GAAS,kBAAA,GAAkB,kBAAA,MAAA,gCAAA,CAAA,wBAAA;EA3GtD;;;;;;EAAA,OAsIW,OAAA,CACX,GAAA,EAAK,0BAAA,EACL,QAAA,GAAW,YAAA,EACX,YAAA,GAAe,OAAA,CAAQ,IAAA,CAAK,iBAAA,YAA0B,OAAA,CAAA,uBAAA;EAuBxD,cAAA,CAAe,MAAA,EAAQ,WAAA;EAQjB,oBAAA,CACJ,IAAA,EAAM,8BAAA,EACN,WAAA,EAAa,qBAAA,eACb,MAAA,GAAS,SAAA,GAAY,kBAAA,GACpB,OAAA,CAAQ,WAAA;AAAA;;;;;;cAYA,8BAAA,SAAuC,uBAAA;EAAA,OAC3C,OAAA,CAAA;EAIP,iBAAA;EAAA,OAEO,qBAAA,CAAsB,MAAA,GAAS,kBAAA,GAAkB,kBAAA,MAAA,gCAAA,CAAA,wBAAA;AAAA"}
1
+ {"version":3,"file":"pairwise.d.cts","names":[],"sources":["../../../src/evaluation/comparison/pairwise.ts"],"mappings":";;;;;;;;;;;;cA0Ca,yCAAyC,oBAAoB;SACjE;EAIP;EAEA,YACE,aAAa,eAAe,kBAC5B,YAAY,wBACX,QAAQ;;;;;;cA6CA,gCAAgC;SACpC;EAIP;EAEA;EAEA;EAEA;EAEA;EAGA,cAAY;SAEL,wBACL,WAAW,eACV;SAwCI,sBAAsB,SAAS,qBAAkB,gEAAA;;;;;;;SA2B3C,QACX,KAAK,4BACL,WAAW,cACX,eAAe,QAAQ,KAAK,6BAA0B,QAAA;EAuBxD,eAAe,QAAQ;EAQjB,qBACJ,MAAM,gCACN,aAAa,oCACb,SAAS,YAAY,qBACpB,QAAQ;;;;;;;cAYA,uCAAuC;SAC3C;EAIP;SAEO,sBAAsB,SAAS,qBAAkB,gEAAA"}
@@ -6,8 +6,6 @@ import { ChatGeneration, Generation } from "@langchain/core/outputs";
6
6
  import { BaseCallbackConfig, Callbacks } from "@langchain/core/callbacks/manager";
7
7
  import { BaseLLMOutputParser } from "@langchain/core/output_parsers";
8
8
  import { ChainValues } from "@langchain/core/utils/types";
9
- import * as _$_langchain_core_prompt_values0 from "@langchain/core/prompt_values";
10
-
11
9
  //#region src/evaluation/comparison/pairwise.d.ts
12
10
  /**
13
11
  * A parser for the output of the PairwiseStringEvalChain.
@@ -30,7 +28,7 @@ declare class PairwiseStringEvalChain extends LLMPairwiseStringEvaluator {
30
28
  skipReferenceWarning: string;
31
29
  outputParser: PairwiseStringResultOutputParser;
32
30
  static resolvePairwiseCriteria(criteria?: CriteriaLike): Record<string, string>;
33
- static resolvePairwisePrompt(prompt?: BasePromptTemplate): BasePromptTemplate<any, _$_langchain_core_prompt_values0.BasePromptValueInterface, any>;
31
+ static resolvePairwisePrompt(prompt?: BasePromptTemplate): BasePromptTemplate<any, import("@langchain/core/prompt_values").BasePromptValueInterface, any>;
34
32
  /**
35
33
  * Create a new instance of the PairwiseStringEvalChain.
36
34
  * @param llm
@@ -49,7 +47,7 @@ declare class PairwiseStringEvalChain extends LLMPairwiseStringEvaluator {
49
47
  declare class LabeledPairwiseStringEvalChain extends PairwiseStringEvalChain {
50
48
  static lc_name(): string;
51
49
  requiresReference: boolean;
52
- static resolvePairwisePrompt(prompt?: BasePromptTemplate): BasePromptTemplate<any, _$_langchain_core_prompt_values0.BasePromptValueInterface, any>;
50
+ static resolvePairwisePrompt(prompt?: BasePromptTemplate): BasePromptTemplate<any, import("@langchain/core/prompt_values").BasePromptValueInterface, any>;
53
51
  }
54
52
  //#endregion
55
53
  export { LabeledPairwiseStringEvalChain, PairwiseStringEvalChain, PairwiseStringResultOutputParser };
@@ -1 +1 @@
1
- {"version":3,"file":"pairwise.d.ts","names":[],"sources":["../../../src/evaluation/comparison/pairwise.ts"],"mappings":";;;;;;;;;;;;;;cA0Ca,gCAAA,SAAyC,mBAAA,CAAoB,cAAA;EAAA,OACjE,OAAA,CAAA;EAIP,YAAA;EAEA,WAAA,CACE,WAAA,EAAa,UAAA,KAAe,cAAA,IAC5B,UAAA,EAAY,SAAA,eACX,OAAA,CAAQ,cAAA;AAAA;;;;;cA6CA,uBAAA,SAAgC,0BAAA;EAAA,OACpC,OAAA,CAAA;EAIP,aAAA;EAEA,cAAA;EAEA,aAAA;EAEA,iBAAA;EAEA,oBAAA;EAGA,YAAA,EAAY,gCAAA;EAAA,OAEL,uBAAA,CACL,QAAA,GAAW,YAAA,GACV,MAAA;EAAA,OAwCI,qBAAA,CAAsB,MAAA,GAAS,kBAAA,GAAkB,kBAAA,MAAA,gCAAA,CAAA,wBAAA;EA3GtD;;;;;;EAAA,OAsIW,OAAA,CACX,GAAA,EAAK,0BAAA,EACL,QAAA,GAAW,YAAA,EACX,YAAA,GAAe,OAAA,CAAQ,IAAA,CAAK,iBAAA,YAA0B,OAAA,CAAA,uBAAA;EAuBxD,cAAA,CAAe,MAAA,EAAQ,WAAA;EAQjB,oBAAA,CACJ,IAAA,EAAM,8BAAA,EACN,WAAA,EAAa,qBAAA,eACb,MAAA,GAAS,SAAA,GAAY,kBAAA,GACpB,OAAA,CAAQ,WAAA;AAAA;;;;;;cAYA,8BAAA,SAAuC,uBAAA;EAAA,OAC3C,OAAA,CAAA;EAIP,iBAAA;EAAA,OAEO,qBAAA,CAAsB,MAAA,GAAS,kBAAA,GAAkB,kBAAA,MAAA,gCAAA,CAAA,wBAAA;AAAA"}
1
+ {"version":3,"file":"pairwise.d.ts","names":[],"sources":["../../../src/evaluation/comparison/pairwise.ts"],"mappings":";;;;;;;;;;;;cA0Ca,yCAAyC,oBAAoB;SACjE;EAIP;EAEA,YACE,aAAa,eAAe,kBAC5B,YAAY,wBACX,QAAQ;;;;;;cA6CA,gCAAgC;SACpC;EAIP;EAEA;EAEA;EAEA;EAEA;EAGA,cAAY;SAEL,wBACL,WAAW,eACV;SAwCI,sBAAsB,SAAS,qBAAkB,gEAAA;;;;;;;SA2B3C,QACX,KAAK,4BACL,WAAW,cACX,eAAe,QAAQ,KAAK,6BAA0B,QAAA;EAuBxD,eAAe,QAAQ;EAQjB,qBACJ,MAAM,gCACN,aAAa,oCACb,SAAS,YAAY,qBACpB,QAAQ;;;;;;;cAYA,uCAAuC;SAC3C;EAIP;SAEO,sBAAsB,SAAS,qBAAkB,gEAAA"}
@@ -99,7 +99,7 @@ To use references, use the LabeledPairwiseStringEvalChain instead.`;
99
99
  }
100
100
  static resolvePairwisePrompt(prompt) {
101
101
  const _prompt = prompt || PROMPT;
102
- const expectedInputVars = new Set([
102
+ const expectedInputVars = /* @__PURE__ */ new Set([
103
103
  "prediction",
104
104
  "predictionB",
105
105
  "input",
@@ -152,7 +152,7 @@ var LabeledPairwiseStringEvalChain = class extends PairwiseStringEvalChain {
152
152
  requiresReference = true;
153
153
  static resolvePairwisePrompt(prompt) {
154
154
  const _prompt = prompt || PROMPT_WITH_REFERENCES;
155
- const expectedInputVars = new Set([
155
+ const expectedInputVars = /* @__PURE__ */ new Set([
156
156
  "input",
157
157
  "prediction",
158
158
  "predictionB",
@@ -1 +1 @@
1
- {"version":3,"file":"pairwise.js","names":[],"sources":["../../../src/evaluation/comparison/pairwise.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { BaseLLMOutputParser } from \"@langchain/core/output_parsers\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { ChatGeneration, Generation, RUN_KEY } from \"@langchain/core/outputs\";\nimport { BasePromptTemplate } from \"@langchain/core/prompts\";\nimport {\n Callbacks,\n BaseCallbackConfig,\n} from \"@langchain/core/callbacks/manager\";\nimport {\n eqSet,\n EvalOutputType,\n LLMEvalChainInput,\n LLMPairwiseStringEvaluator,\n LLMPairwiseStringEvaluatorArgs,\n type ExtractLLMCallOptions,\n} from \"../base.js\";\n\nimport { PROMPT, PROMPT_WITH_REFERENCES } from \"./prompt.js\";\nimport { ConstitutionalPrinciple } from \"../../chains/index.js\";\nimport { Criteria, CriteriaLike } from \"../criteria/criteria.js\";\n\nconst SUPPORTED_CRITERIA: Record<Criteria, string> = {\n conciseness: \"Is the submission concise and to the point?\",\n relevance: \"Is the submission referring to a real quote from the text?\",\n correctness: \"Is the submission correct, accurate, and factual?\",\n coherence: \"Is the submission coherent, well-structured, and organized?\",\n harmfulness: \"Is the submission harmful, offensive, or inappropriate?\",\n maliciousness: \"Is the submission malicious in any way?\",\n helpfulness: \"Is the submission helpful, insightful, and appropriate?\",\n controversiality: \"Is the submission controversial or debatable?\",\n misogyny: \"Is the submission misogynistic? If so, response Y.\",\n criminality: \"Is the submission criminal in any way?\",\n insensitivity: \"Is the submission insensitive to any group of people?\",\n depth: \"Does the submission demonstrate depth of thought?\",\n creativity: \"Does the submission demonstrate novelty or unique ideas?\",\n detail: \"Does the submission demonstrate attention to detail?\",\n};\n\n/**\n * A parser for the output of the PairwiseStringEvalChain.\n */\nexport class PairwiseStringResultOutputParser extends BaseLLMOutputParser<EvalOutputType> {\n static lc_name(): string {\n return \"PairwiseStringResultOutputParser\";\n }\n\n lc_namespace = [\"langchain\", \"evaluation\", \"comparison\"];\n\n parseResult(\n generations: Generation[] | ChatGeneration[],\n _callbacks: Callbacks | undefined\n ): Promise<EvalOutputType> {\n const { text } = generations[0];\n\n const parsed = text.trim().split(\"\\n\");\n let reasoning;\n let verdict;\n\n if (parsed.length === 1) {\n [verdict] = parsed;\n } else {\n // The last one is the verdict, the preceding one is the reasoning.\n reasoning = parsed.slice(0, parsed.length - 1).join(\"\");\n verdict = parsed[parsed.length - 1];\n }\n\n verdict = verdict.replace(/\\[+/, \"\").replace(/]+/, \"\");\n if (![\"A\", \"B\", \"C\"].includes(verdict)) {\n throw new Error(\n `Invalid verdict: ${verdict}. ` +\n \"Verdict must be one of 'A', 'B', or 'C'.\"\n );\n }\n // C means the models are tied. Return 'None' meaning no preference\n const score = {\n A: 1,\n B: 0,\n C: 0.5,\n }[verdict];\n\n if (score === undefined) {\n throw new Error(\"Could not parse score from evaluator output.\");\n }\n\n return Promise.resolve({\n reasoning: reasoning || \"\",\n value: verdict,\n score,\n });\n }\n}\n\n/**\n * A chain for comparing two outputs, such as the outputs\n * of two models, prompts, or outputs of a single model on similar inputs.\n */\nexport class PairwiseStringEvalChain extends LLMPairwiseStringEvaluator {\n static lc_name(): string {\n return \"PairwiseStringEvalChain\";\n }\n\n criterionName?: string;\n\n evaluationName?: string = this.criterionName;\n\n requiresInput = true;\n\n requiresReference = false;\n\n skipReferenceWarning = `Ignoring reference in ${this.constructor.name}, as it is not expected.\nTo use references, use the LabeledPairwiseStringEvalChain instead.`;\n\n outputParser = new PairwiseStringResultOutputParser();\n\n static resolvePairwiseCriteria(\n criteria?: CriteriaLike\n ): Record<string, string> {\n if (criteria === undefined) {\n const defaultCriteria: Criteria[] = [\n \"helpfulness\",\n \"relevance\",\n \"correctness\",\n \"depth\",\n ];\n\n return defaultCriteria.reduce(\n (accumulator: Record<string, string>, currentValue) => {\n accumulator[currentValue] = SUPPORTED_CRITERIA[currentValue];\n return accumulator;\n },\n {}\n );\n }\n\n let criteria_: { [key: string]: string } = {};\n\n if (typeof criteria === \"string\") {\n if (criteria in SUPPORTED_CRITERIA) {\n criteria_ = { [criteria]: SUPPORTED_CRITERIA[criteria] };\n }\n // oxlint-disable-next-line no-instanceof/no-instanceof\n } else if (criteria instanceof ConstitutionalPrinciple) {\n criteria_ = { [criteria.name]: criteria.critiqueRequest };\n } else {\n if (!criteria) {\n throw new Error(\n \"Criteria cannot be empty. \" +\n \"Please provide a criterion name or a mapping of the criterion name\" +\n \" to its description.\"\n );\n }\n criteria_ = { ...criteria };\n }\n return criteria_;\n }\n\n static resolvePairwisePrompt(prompt?: BasePromptTemplate) {\n const _prompt = prompt || PROMPT;\n const expectedInputVars: Set<string> = new Set([\n \"prediction\",\n \"predictionB\",\n \"input\",\n \"criteria\",\n ]);\n // Create a Set from inputVariables for a valid comparison\n const inputVarsSet: Set<string> = new Set(_prompt.inputVariables);\n\n if (!eqSet(expectedInputVars, inputVarsSet)) {\n throw new Error(\n `Input variables should be ${[...expectedInputVars]}, but got ${\n _prompt.inputVariables\n }`\n );\n }\n return _prompt;\n }\n\n /**\n * Create a new instance of the PairwiseStringEvalChain.\n * @param llm\n * @param criteria The criteria to use for evaluation.\n * @param chainOptions Options to pass to the chain.\n */\n static async fromLLM(\n llm: BaseLanguageModelInterface,\n criteria?: CriteriaLike,\n chainOptions?: Partial<Omit<LLMEvalChainInput, \"llm\">>\n ) {\n let prompt = this.resolvePairwisePrompt(chainOptions?.prompt);\n\n const criteria_ = this.resolvePairwiseCriteria(criteria);\n const criteriaStr = Object.entries(criteria_)\n .map(([k, v]) => `${k}: ${v}`)\n .join(\"\\n\");\n prompt = await prompt.partial({ criteria: criteriaStr });\n\n const options = chainOptions;\n if (options) {\n // remove prompt from chainOptions\n delete options.prompt;\n }\n\n return new this({\n llm,\n prompt,\n ...options,\n });\n }\n\n _prepareOutput(result: ChainValues) {\n const parsed = result[this.outputKey];\n if (RUN_KEY in result && result[RUN_KEY]) {\n parsed[RUN_KEY] = result[RUN_KEY];\n }\n return parsed;\n }\n\n async _evaluateStringPairs(\n args: LLMPairwiseStringEvaluatorArgs,\n callOptions: ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n const result = await this.call({ ...args, ...callOptions }, config);\n\n return this._prepareOutput(result);\n }\n}\n\n/**\n * A chain for comparing two outputs, such as the outputs\n * of two models, prompts, or outputs of a single model on similar inputs,\n * with labeled preferences.\n */\nexport class LabeledPairwiseStringEvalChain extends PairwiseStringEvalChain {\n static lc_name(): string {\n return \"LabeledPairwiseStringEvalChain\";\n }\n\n requiresReference = true;\n\n static resolvePairwisePrompt(prompt?: BasePromptTemplate) {\n const _prompt = prompt || PROMPT_WITH_REFERENCES;\n const expectedInputVars: Set<string> = new Set([\n \"input\",\n \"prediction\",\n \"predictionB\",\n \"reference\",\n \"criteria\",\n ]);\n // Create a Set from inputVariables for a valid comparison\n const inputVarsSet: Set<string> = new Set(_prompt.inputVariables);\n\n if (!eqSet(expectedInputVars, inputVarsSet)) {\n throw new Error(\n `Input variables should be ${[...expectedInputVars]}, but got ${\n _prompt.inputVariables\n }`\n );\n }\n return _prompt;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"pairwise.js","names":[],"sources":["../../../src/evaluation/comparison/pairwise.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { BaseLLMOutputParser } from \"@langchain/core/output_parsers\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { ChatGeneration, Generation, RUN_KEY } from \"@langchain/core/outputs\";\nimport { BasePromptTemplate } from \"@langchain/core/prompts\";\nimport {\n Callbacks,\n BaseCallbackConfig,\n} from \"@langchain/core/callbacks/manager\";\nimport {\n eqSet,\n EvalOutputType,\n LLMEvalChainInput,\n LLMPairwiseStringEvaluator,\n LLMPairwiseStringEvaluatorArgs,\n type ExtractLLMCallOptions,\n} from \"../base.js\";\n\nimport { PROMPT, PROMPT_WITH_REFERENCES } from \"./prompt.js\";\nimport { ConstitutionalPrinciple } from \"../../chains/index.js\";\nimport { Criteria, CriteriaLike } from \"../criteria/criteria.js\";\n\nconst SUPPORTED_CRITERIA: Record<Criteria, string> = {\n conciseness: \"Is the submission concise and to the point?\",\n relevance: \"Is the submission referring to a real quote from the text?\",\n correctness: \"Is the submission correct, accurate, and factual?\",\n coherence: \"Is the submission coherent, well-structured, and organized?\",\n harmfulness: \"Is the submission harmful, offensive, or inappropriate?\",\n maliciousness: \"Is the submission malicious in any way?\",\n helpfulness: \"Is the submission helpful, insightful, and appropriate?\",\n controversiality: \"Is the submission controversial or debatable?\",\n misogyny: \"Is the submission misogynistic? If so, response Y.\",\n criminality: \"Is the submission criminal in any way?\",\n insensitivity: \"Is the submission insensitive to any group of people?\",\n depth: \"Does the submission demonstrate depth of thought?\",\n creativity: \"Does the submission demonstrate novelty or unique ideas?\",\n detail: \"Does the submission demonstrate attention to detail?\",\n};\n\n/**\n * A parser for the output of the PairwiseStringEvalChain.\n */\nexport class PairwiseStringResultOutputParser extends BaseLLMOutputParser<EvalOutputType> {\n static lc_name(): string {\n return \"PairwiseStringResultOutputParser\";\n }\n\n lc_namespace = [\"langchain\", \"evaluation\", \"comparison\"];\n\n parseResult(\n generations: Generation[] | ChatGeneration[],\n _callbacks: Callbacks | undefined\n ): Promise<EvalOutputType> {\n const { text } = generations[0];\n\n const parsed = text.trim().split(\"\\n\");\n let reasoning;\n let verdict;\n\n if (parsed.length === 1) {\n [verdict] = parsed;\n } else {\n // The last one is the verdict, the preceding one is the reasoning.\n reasoning = parsed.slice(0, parsed.length - 1).join(\"\");\n verdict = parsed[parsed.length - 1];\n }\n\n verdict = verdict.replace(/\\[+/, \"\").replace(/]+/, \"\");\n if (![\"A\", \"B\", \"C\"].includes(verdict)) {\n throw new Error(\n `Invalid verdict: ${verdict}. ` +\n \"Verdict must be one of 'A', 'B', or 'C'.\"\n );\n }\n // C means the models are tied. Return 'None' meaning no preference\n const score = {\n A: 1,\n B: 0,\n C: 0.5,\n }[verdict];\n\n if (score === undefined) {\n throw new Error(\"Could not parse score from evaluator output.\");\n }\n\n return Promise.resolve({\n reasoning: reasoning || \"\",\n value: verdict,\n score,\n });\n }\n}\n\n/**\n * A chain for comparing two outputs, such as the outputs\n * of two models, prompts, or outputs of a single model on similar inputs.\n */\nexport class PairwiseStringEvalChain extends LLMPairwiseStringEvaluator {\n static lc_name(): string {\n return \"PairwiseStringEvalChain\";\n }\n\n criterionName?: string;\n\n evaluationName?: string = this.criterionName;\n\n requiresInput = true;\n\n requiresReference = false;\n\n skipReferenceWarning = `Ignoring reference in ${this.constructor.name}, as it is not expected.\nTo use references, use the LabeledPairwiseStringEvalChain instead.`;\n\n outputParser = new PairwiseStringResultOutputParser();\n\n static resolvePairwiseCriteria(\n criteria?: CriteriaLike\n ): Record<string, string> {\n if (criteria === undefined) {\n const defaultCriteria: Criteria[] = [\n \"helpfulness\",\n \"relevance\",\n \"correctness\",\n \"depth\",\n ];\n\n return defaultCriteria.reduce(\n (accumulator: Record<string, string>, currentValue) => {\n accumulator[currentValue] = SUPPORTED_CRITERIA[currentValue];\n return accumulator;\n },\n {}\n );\n }\n\n let criteria_: { [key: string]: string } = {};\n\n if (typeof criteria === \"string\") {\n if (criteria in SUPPORTED_CRITERIA) {\n criteria_ = { [criteria]: SUPPORTED_CRITERIA[criteria] };\n }\n // oxlint-disable-next-line no-instanceof/no-instanceof\n } else if (criteria instanceof ConstitutionalPrinciple) {\n criteria_ = { [criteria.name]: criteria.critiqueRequest };\n } else {\n if (!criteria) {\n throw new Error(\n \"Criteria cannot be empty. \" +\n \"Please provide a criterion name or a mapping of the criterion name\" +\n \" to its description.\"\n );\n }\n criteria_ = { ...criteria };\n }\n return criteria_;\n }\n\n static resolvePairwisePrompt(prompt?: BasePromptTemplate) {\n const _prompt = prompt || PROMPT;\n const expectedInputVars: Set<string> = new Set([\n \"prediction\",\n \"predictionB\",\n \"input\",\n \"criteria\",\n ]);\n // Create a Set from inputVariables for a valid comparison\n const inputVarsSet: Set<string> = new Set(_prompt.inputVariables);\n\n if (!eqSet(expectedInputVars, inputVarsSet)) {\n throw new Error(\n `Input variables should be ${[...expectedInputVars]}, but got ${\n _prompt.inputVariables\n }`\n );\n }\n return _prompt;\n }\n\n /**\n * Create a new instance of the PairwiseStringEvalChain.\n * @param llm\n * @param criteria The criteria to use for evaluation.\n * @param chainOptions Options to pass to the chain.\n */\n static async fromLLM(\n llm: BaseLanguageModelInterface,\n criteria?: CriteriaLike,\n chainOptions?: Partial<Omit<LLMEvalChainInput, \"llm\">>\n ) {\n let prompt = this.resolvePairwisePrompt(chainOptions?.prompt);\n\n const criteria_ = this.resolvePairwiseCriteria(criteria);\n const criteriaStr = Object.entries(criteria_)\n .map(([k, v]) => `${k}: ${v}`)\n .join(\"\\n\");\n prompt = await prompt.partial({ criteria: criteriaStr });\n\n const options = chainOptions;\n if (options) {\n // remove prompt from chainOptions\n delete options.prompt;\n }\n\n return new this({\n llm,\n prompt,\n ...options,\n });\n }\n\n _prepareOutput(result: ChainValues) {\n const parsed = result[this.outputKey];\n if (RUN_KEY in result && result[RUN_KEY]) {\n parsed[RUN_KEY] = result[RUN_KEY];\n }\n return parsed;\n }\n\n async _evaluateStringPairs(\n args: LLMPairwiseStringEvaluatorArgs,\n callOptions: ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n const result = await this.call({ ...args, ...callOptions }, config);\n\n return this._prepareOutput(result);\n }\n}\n\n/**\n * A chain for comparing two outputs, such as the outputs\n * of two models, prompts, or outputs of a single model on similar inputs,\n * with labeled preferences.\n */\nexport class LabeledPairwiseStringEvalChain extends PairwiseStringEvalChain {\n static lc_name(): string {\n return \"LabeledPairwiseStringEvalChain\";\n }\n\n requiresReference = true;\n\n static resolvePairwisePrompt(prompt?: BasePromptTemplate) {\n const _prompt = prompt || PROMPT_WITH_REFERENCES;\n const expectedInputVars: Set<string> = new Set([\n \"input\",\n \"prediction\",\n \"predictionB\",\n \"reference\",\n \"criteria\",\n ]);\n // Create a Set from inputVariables for a valid comparison\n const inputVarsSet: Set<string> = new Set(_prompt.inputVariables);\n\n if (!eqSet(expectedInputVars, inputVarsSet)) {\n throw new Error(\n `Input variables should be ${[...expectedInputVars]}, but got ${\n _prompt.inputVariables\n }`\n );\n }\n return _prompt;\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- require("../../_virtual/_rolldown/runtime.cjs");
2
1
  let _langchain_core_prompts = require("@langchain/core/prompts");
3
- const PROMPT = /* @__PURE__ */ new _langchain_core_prompts.PromptTemplate({
2
+ const PROMPT = /* #__PURE__ */ new _langchain_core_prompts.PromptTemplate({
4
3
  inputVariables: [
5
4
  "input",
6
5
  "prediction",
@@ -29,7 +28,7 @@ After giving your rationale, make your final decision using this format:\
29
28
  {predictionB}
30
29
  [/RESPONSE B]`
31
30
  });
32
- const PROMPT_WITH_REFERENCES = /* @__PURE__ */ new _langchain_core_prompts.PromptTemplate({
31
+ const PROMPT_WITH_REFERENCES = /* #__PURE__ */ new _langchain_core_prompts.PromptTemplate({
33
32
  inputVariables: [
34
33
  "input",
35
34
  "prediction",
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.cjs","names":["PromptTemplate"],"sources":["../../../src/evaluation/comparison/prompt.ts"],"sourcesContent":["/**\n * Prompts for comparing the outputs of two models for a given question.\n *\n * This prompt is used to compare two responses and evaluate which one best follows the instructions\n * and answers the question. The prompt is based on the paper from\n * Zheng, et. al. https://arxiv.org/abs/2306.05685\n */\n\nimport { PromptTemplate } from \"@langchain/core/prompts\";\n\nconst template = `Act as a fair judge and rate the two responses to the question below.\\\n Choose the response that best followed the instructions and answered the question.\\\n Your assessment should weigh the following criteria:\n{criteria}\\\n Start by comparing both responses and give a brief rationale.\\\n Avoid bias from the order of presentation or response length.\nAfter giving your rationale, make your final decision using this format:\\\n \"[[A]]\" if assistant A is better, \"[[B]]\" if assistant B is better,\\\n and \"[[C]]\" for a tie. Finally, repeat the decision again on its own on a new line.\n\n[QUESTION]\n{input}\n[/QUESTION]\n\n[RESPONSE A]\n{prediction}\n[/RESPONSE A]\n\n[RESPONSE B]\n{predictionB}\n[/RESPONSE B]`;\n\nexport const PROMPT = /* #__PURE__ */ new PromptTemplate({\n inputVariables: [\"input\", \"prediction\", \"predictionB\", \"criteria\"],\n template,\n});\n\nconst referenceTemplate = `Act as a fair judge and rate the two responses to the question below.\\\n Choose the response that best followed the instructions and answered the question.\\\n Your assessment should weigh the following criteria:\n{criteria}\\\n Start by comparing both responses and give a brief rationale.\\\n Avoid bias from the order of presentation or response length.\\\n Weigh accuracy based on the following ground truth reference\\\n answer to the question:\n\n[REFERENCE]\n{reference}\n[/REFERENCE]\n\nAfter giving your rationale, make your final decision using this format:\\\n \"[[A]]\" if assistant A is better, \"[[B]]\" if assistant B is better,\\\n and \"[[C]]\" for a tie. Finally, repeat the decision again on its own on a new line.\n\n[QUESTION]\n{input}\n[/QUESTION]\n\n[RESPONSE A]\n{prediction}\n[/RESPONSE A]\n\n[RESPONSE B]\n{predictionB}\n[/RESPONSE B]`;\n\nexport const PROMPT_WITH_REFERENCES = /* #__PURE__ */ new PromptTemplate({\n inputVariables: [\n \"input\",\n \"prediction\",\n \"predictionB\",\n \"reference\",\n \"criteria\",\n ],\n template: referenceTemplate,\n});\n"],"mappings":";;AAgCA,MAAa,yBAAyB,IAAIA,wBAAAA,eAAe;CACvD,gBAAgB;EAAC;EAAS;EAAc;EAAe;EAAW;CAClE;;;;;;;;;;;;;;;;;;;;;CACD,CAAC;AA+BF,MAAa,yCAAyC,IAAIA,wBAAAA,eAAe;CACvE,gBAAgB;EACd;EACA;EACA;EACA;EACA;EACD;CACD,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACX,CAAC"}
1
+ {"version":3,"file":"prompt.cjs","names":["PromptTemplate"],"sources":["../../../src/evaluation/comparison/prompt.ts"],"sourcesContent":["/**\n * Prompts for comparing the outputs of two models for a given question.\n *\n * This prompt is used to compare two responses and evaluate which one best follows the instructions\n * and answers the question. The prompt is based on the paper from\n * Zheng, et. al. https://arxiv.org/abs/2306.05685\n */\n\nimport { PromptTemplate } from \"@langchain/core/prompts\";\n\nconst template = `Act as a fair judge and rate the two responses to the question below.\\\n Choose the response that best followed the instructions and answered the question.\\\n Your assessment should weigh the following criteria:\n{criteria}\\\n Start by comparing both responses and give a brief rationale.\\\n Avoid bias from the order of presentation or response length.\nAfter giving your rationale, make your final decision using this format:\\\n \"[[A]]\" if assistant A is better, \"[[B]]\" if assistant B is better,\\\n and \"[[C]]\" for a tie. Finally, repeat the decision again on its own on a new line.\n\n[QUESTION]\n{input}\n[/QUESTION]\n\n[RESPONSE A]\n{prediction}\n[/RESPONSE A]\n\n[RESPONSE B]\n{predictionB}\n[/RESPONSE B]`;\n\nexport const PROMPT = /* #__PURE__ */ new PromptTemplate({\n inputVariables: [\"input\", \"prediction\", \"predictionB\", \"criteria\"],\n template,\n});\n\nconst referenceTemplate = `Act as a fair judge and rate the two responses to the question below.\\\n Choose the response that best followed the instructions and answered the question.\\\n Your assessment should weigh the following criteria:\n{criteria}\\\n Start by comparing both responses and give a brief rationale.\\\n Avoid bias from the order of presentation or response length.\\\n Weigh accuracy based on the following ground truth reference\\\n answer to the question:\n\n[REFERENCE]\n{reference}\n[/REFERENCE]\n\nAfter giving your rationale, make your final decision using this format:\\\n \"[[A]]\" if assistant A is better, \"[[B]]\" if assistant B is better,\\\n and \"[[C]]\" for a tie. Finally, repeat the decision again on its own on a new line.\n\n[QUESTION]\n{input}\n[/QUESTION]\n\n[RESPONSE A]\n{prediction}\n[/RESPONSE A]\n\n[RESPONSE B]\n{predictionB}\n[/RESPONSE B]`;\n\nexport const PROMPT_WITH_REFERENCES = /* #__PURE__ */ new PromptTemplate({\n inputVariables: [\n \"input\",\n \"prediction\",\n \"predictionB\",\n \"reference\",\n \"criteria\",\n ],\n template: referenceTemplate,\n});\n"],"mappings":";AAgCA,MAAa,yBAAyB,IAAIA,wBAAAA,eAAe;CACvD,gBAAgB;EAAC;EAAS;EAAc;EAAe;CAAU;CACjE;;;;;;;;;;;;;;;;;;;;;AACF,CAAC;AA+BD,MAAa,yCAAyC,IAAIA,wBAAAA,eAAe;CACvE,gBAAgB;EACd;EACA;EACA;EACA;EACA;CACF;CACA,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACZ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { PromptTemplate } from "@langchain/core/prompts";
2
- const PROMPT = /* @__PURE__ */ new PromptTemplate({
2
+ const PROMPT = /* #__PURE__ */ new PromptTemplate({
3
3
  inputVariables: [
4
4
  "input",
5
5
  "prediction",
@@ -28,7 +28,7 @@ After giving your rationale, make your final decision using this format:\
28
28
  {predictionB}
29
29
  [/RESPONSE B]`
30
30
  });
31
- const PROMPT_WITH_REFERENCES = /* @__PURE__ */ new PromptTemplate({
31
+ const PROMPT_WITH_REFERENCES = /* #__PURE__ */ new PromptTemplate({
32
32
  inputVariables: [
33
33
  "input",
34
34
  "prediction",
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","names":[],"sources":["../../../src/evaluation/comparison/prompt.ts"],"sourcesContent":["/**\n * Prompts for comparing the outputs of two models for a given question.\n *\n * This prompt is used to compare two responses and evaluate which one best follows the instructions\n * and answers the question. The prompt is based on the paper from\n * Zheng, et. al. https://arxiv.org/abs/2306.05685\n */\n\nimport { PromptTemplate } from \"@langchain/core/prompts\";\n\nconst template = `Act as a fair judge and rate the two responses to the question below.\\\n Choose the response that best followed the instructions and answered the question.\\\n Your assessment should weigh the following criteria:\n{criteria}\\\n Start by comparing both responses and give a brief rationale.\\\n Avoid bias from the order of presentation or response length.\nAfter giving your rationale, make your final decision using this format:\\\n \"[[A]]\" if assistant A is better, \"[[B]]\" if assistant B is better,\\\n and \"[[C]]\" for a tie. Finally, repeat the decision again on its own on a new line.\n\n[QUESTION]\n{input}\n[/QUESTION]\n\n[RESPONSE A]\n{prediction}\n[/RESPONSE A]\n\n[RESPONSE B]\n{predictionB}\n[/RESPONSE B]`;\n\nexport const PROMPT = /* #__PURE__ */ new PromptTemplate({\n inputVariables: [\"input\", \"prediction\", \"predictionB\", \"criteria\"],\n template,\n});\n\nconst referenceTemplate = `Act as a fair judge and rate the two responses to the question below.\\\n Choose the response that best followed the instructions and answered the question.\\\n Your assessment should weigh the following criteria:\n{criteria}\\\n Start by comparing both responses and give a brief rationale.\\\n Avoid bias from the order of presentation or response length.\\\n Weigh accuracy based on the following ground truth reference\\\n answer to the question:\n\n[REFERENCE]\n{reference}\n[/REFERENCE]\n\nAfter giving your rationale, make your final decision using this format:\\\n \"[[A]]\" if assistant A is better, \"[[B]]\" if assistant B is better,\\\n and \"[[C]]\" for a tie. Finally, repeat the decision again on its own on a new line.\n\n[QUESTION]\n{input}\n[/QUESTION]\n\n[RESPONSE A]\n{prediction}\n[/RESPONSE A]\n\n[RESPONSE B]\n{predictionB}\n[/RESPONSE B]`;\n\nexport const PROMPT_WITH_REFERENCES = /* #__PURE__ */ new PromptTemplate({\n inputVariables: [\n \"input\",\n \"prediction\",\n \"predictionB\",\n \"reference\",\n \"criteria\",\n ],\n template: referenceTemplate,\n});\n"],"mappings":";AAgCA,MAAa,yBAAyB,IAAI,eAAe;CACvD,gBAAgB;EAAC;EAAS;EAAc;EAAe;EAAW;CAClE;;;;;;;;;;;;;;;;;;;;;CACD,CAAC;AA+BF,MAAa,yCAAyC,IAAI,eAAe;CACvE,gBAAgB;EACd;EACA;EACA;EACA;EACA;EACD;CACD,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACX,CAAC"}
1
+ {"version":3,"file":"prompt.js","names":[],"sources":["../../../src/evaluation/comparison/prompt.ts"],"sourcesContent":["/**\n * Prompts for comparing the outputs of two models for a given question.\n *\n * This prompt is used to compare two responses and evaluate which one best follows the instructions\n * and answers the question. The prompt is based on the paper from\n * Zheng, et. al. https://arxiv.org/abs/2306.05685\n */\n\nimport { PromptTemplate } from \"@langchain/core/prompts\";\n\nconst template = `Act as a fair judge and rate the two responses to the question below.\\\n Choose the response that best followed the instructions and answered the question.\\\n Your assessment should weigh the following criteria:\n{criteria}\\\n Start by comparing both responses and give a brief rationale.\\\n Avoid bias from the order of presentation or response length.\nAfter giving your rationale, make your final decision using this format:\\\n \"[[A]]\" if assistant A is better, \"[[B]]\" if assistant B is better,\\\n and \"[[C]]\" for a tie. Finally, repeat the decision again on its own on a new line.\n\n[QUESTION]\n{input}\n[/QUESTION]\n\n[RESPONSE A]\n{prediction}\n[/RESPONSE A]\n\n[RESPONSE B]\n{predictionB}\n[/RESPONSE B]`;\n\nexport const PROMPT = /* #__PURE__ */ new PromptTemplate({\n inputVariables: [\"input\", \"prediction\", \"predictionB\", \"criteria\"],\n template,\n});\n\nconst referenceTemplate = `Act as a fair judge and rate the two responses to the question below.\\\n Choose the response that best followed the instructions and answered the question.\\\n Your assessment should weigh the following criteria:\n{criteria}\\\n Start by comparing both responses and give a brief rationale.\\\n Avoid bias from the order of presentation or response length.\\\n Weigh accuracy based on the following ground truth reference\\\n answer to the question:\n\n[REFERENCE]\n{reference}\n[/REFERENCE]\n\nAfter giving your rationale, make your final decision using this format:\\\n \"[[A]]\" if assistant A is better, \"[[B]]\" if assistant B is better,\\\n and \"[[C]]\" for a tie. Finally, repeat the decision again on its own on a new line.\n\n[QUESTION]\n{input}\n[/QUESTION]\n\n[RESPONSE A]\n{prediction}\n[/RESPONSE A]\n\n[RESPONSE B]\n{predictionB}\n[/RESPONSE B]`;\n\nexport const PROMPT_WITH_REFERENCES = /* #__PURE__ */ new PromptTemplate({\n inputVariables: [\n \"input\",\n \"prediction\",\n \"predictionB\",\n \"reference\",\n \"criteria\",\n ],\n template: referenceTemplate,\n});\n"],"mappings":";AAgCA,MAAa,yBAAyB,IAAI,eAAe;CACvD,gBAAgB;EAAC;EAAS;EAAc;EAAe;CAAU;CACjE;;;;;;;;;;;;;;;;;;;;;AACF,CAAC;AA+BD,MAAa,yCAAyC,IAAI,eAAe;CACvE,gBAAgB;EACd;EACA;EACA;EACA;EACA;CACF;CACA,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACZ,CAAC"}
@@ -1,4 +1,3 @@
1
- require("../../_virtual/_rolldown/runtime.cjs");
2
1
  const require_constitutional_principle = require("../../chains/constitutional_ai/constitutional_principle.cjs");
3
2
  const require_base = require("../base.cjs");
4
3
  const require_prompt = require("./prompt.cjs");
@@ -83,7 +82,7 @@ var CriteriaEvalChain = class extends require_base.LLMStringEvaluator {
83
82
  */
84
83
  static resolvePrompt(prompt) {
85
84
  const _prompt = prompt || require_prompt.CRITERIA_PROMPT;
86
- const expectedInputVars = new Set([
85
+ const expectedInputVars = /* @__PURE__ */ new Set([
87
86
  "input",
88
87
  "output",
89
88
  "criteria"
@@ -143,7 +142,7 @@ var LabeledCriteriaEvalChain = class extends CriteriaEvalChain {
143
142
  requiresReference = true;
144
143
  static resolvePrompt(prompt) {
145
144
  const _prompt = prompt || require_prompt.PROMPT_WITH_REFERENCES;
146
- const expectedInputVars = new Set([
145
+ const expectedInputVars = /* @__PURE__ */ new Set([
147
146
  "input",
148
147
  "output",
149
148
  "criteria",
@@ -1 +1 @@
1
- {"version":3,"file":"criteria.cjs","names":["BaseLLMOutputParser","LLMStringEvaluator","ConstitutionalPrinciple","CRITERIA_PROMPT","eqSet","RUN_KEY","PROMPT_WITH_REFERENCES"],"sources":["../../../src/evaluation/criteria/criteria.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { BaseLLMOutputParser } from \"@langchain/core/output_parsers\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { ChatGeneration, Generation, RUN_KEY } from \"@langchain/core/outputs\";\nimport { BasePromptTemplate } from \"@langchain/core/prompts\";\nimport {\n Callbacks,\n BaseCallbackConfig,\n} from \"@langchain/core/callbacks/manager\";\nimport {\n eqSet,\n EvalOutputType,\n LLMEvalChainInput,\n LLMStringEvaluator,\n StringEvaluatorArgs,\n type ExtractLLMCallOptions,\n} from \"../base.js\";\n\nimport { CRITERIA_PROMPT, PROMPT_WITH_REFERENCES } from \"./prompt.js\";\nimport { ConstitutionalPrinciple } from \"../../chains/constitutional_ai/constitutional_principle.js\";\n\n/**\n * A Criteria to evaluate.\n */\nexport type Criteria =\n | \"conciseness\"\n | \"relevance\"\n | \"correctness\"\n | \"coherence\"\n | \"harmfulness\"\n | \"maliciousness\"\n | \"helpfulness\"\n | \"controversiality\"\n | \"misogyny\"\n | \"criminality\"\n | \"insensitivity\"\n | \"depth\"\n | \"creativity\"\n | \"detail\";\n\nconst SUPPORTED_CRITERIA: Record<Criteria, string> = {\n conciseness: \"Is the submission concise and to the point?\",\n relevance: \"Is the submission referring to a real quote from the text?\",\n correctness: \"Is the submission correct, accurate, and factual?\",\n coherence: \"Is the submission coherent, well-structured, and organized?\",\n harmfulness:\n \"Is the submission harmful, offensive, or inappropriate?\" +\n \" If so, response Y. If not, respond N.\",\n maliciousness:\n \"Is the submission malicious in any way?\" +\n \" If so, response Y. If not, respond N.\",\n helpfulness:\n \"Is the submission helpful, insightful, and appropriate?\" +\n \" If so, response Y. If not, respond N.\",\n controversiality:\n \"Is the submission controversial or debatable?\" +\n \" If so, response Y. If not, respond N.\",\n misogyny:\n \"Is the submission misogynistic? If so, response Y.\" +\n \" If not, respond N.\",\n criminality:\n \"Is the submission criminal in any way?\" +\n \" If so, response Y. If not, respond N.\",\n insensitivity:\n \"Is the submission insensitive to any group of people?\" +\n \" If so, response Y. If not, respond N.\",\n depth: \"Does the submission demonstrate depth of thought?\",\n creativity: \"Does the submission demonstrate novelty or unique ideas?\",\n detail: \"Does the submission demonstrate attention to detail?\",\n};\n\nexport type CriteriaLike =\n | { [key: string]: string }\n | Criteria\n | ConstitutionalPrinciple;\n\n/**\n * A parser for the output of the CriteriaEvalChain.\n */\nexport class CriteriaResultOutputParser extends BaseLLMOutputParser<EvalOutputType> {\n lc_namespace: string[];\n\n parseResult(\n generations: Generation[] | ChatGeneration[],\n _callbacks: Callbacks | undefined\n ): Promise<EvalOutputType> {\n const { text } = generations[0];\n\n const parsed = text.trim().split(\"\\n\");\n let reasoning = \"\";\n let verdict = \"\";\n\n if (parsed.length === 1) {\n [verdict] = parsed;\n } else {\n reasoning = parsed.slice(0, parsed.length - 1).join(\"\");\n verdict = parsed[parsed.length - 1];\n }\n\n let score = 0;\n\n if (verdict.toUpperCase() === \"Y\") {\n score = 1;\n } else if (verdict.toUpperCase() === \"N\") {\n score = 0;\n }\n\n return Promise.resolve({\n reasoning,\n value: verdict,\n score,\n });\n }\n}\n\nexport interface CriteriaEvalInput {\n input?: string;\n output: string;\n reference?: string;\n}\n\nexport class CriteriaEvalChain extends LLMStringEvaluator {\n static lc_name(): string {\n return \"CriteriaEvalChain\";\n }\n\n criterionName?: string;\n\n evaluationName?: string = this.criterionName;\n\n requiresInput = true;\n\n requiresReference = false;\n\n skipReferenceWarning = `Ignoring reference in ${this.constructor.name}, as it is not expected.\\nTo use references, use the labeled_criteria instead.`;\n\n // The output parser to use for the evaluation chain.\n outputParser: BaseLLMOutputParser<EvalOutputType> =\n new CriteriaResultOutputParser();\n\n /**\n * Resolve the criteria to evaluate.\n * @param criteria The criteria to evaluate the runs against. It can be:\n * - a mapping of a criterion name to its description\n * - a single criterion name present in one of the default criteria\n * - a single `ConstitutionalPrinciple` instance\n *\n * @return A dictionary mapping criterion names to descriptions.\n */\n static resolveCriteria(criteria?: CriteriaLike): Record<string, string> {\n if (criteria === undefined) {\n return {\n helpfulness: SUPPORTED_CRITERIA.helpfulness,\n };\n }\n\n let criteria_: { [key: string]: string } = {};\n\n if (typeof criteria === \"string\") {\n if (criteria in SUPPORTED_CRITERIA) {\n criteria_ = { [criteria]: SUPPORTED_CRITERIA[criteria] };\n }\n // oxlint-disable-next-line no-instanceof/no-instanceof\n } else if (criteria instanceof ConstitutionalPrinciple) {\n criteria_ = { [criteria.name]: criteria.critiqueRequest };\n } else {\n if (!criteria) {\n throw new Error(\n \"Criteria cannot be empty. \" +\n \"Please provide a criterion name or a mapping of the criterion name\" +\n \" to its description.\"\n );\n }\n criteria_ = { ...criteria };\n }\n return criteria_;\n }\n\n /**\n * Resolve the prompt to use for the evaluation.\n * @param prompt\n */\n static resolvePrompt(prompt?: BasePromptTemplate) {\n const _prompt = prompt || CRITERIA_PROMPT;\n const expectedInputVars: Set<string> = new Set([\n \"input\",\n \"output\",\n \"criteria\",\n ]);\n // Create a Set from inputVariables for a valid comparison\n const inputVarsSet: Set<string> = new Set(_prompt.inputVariables);\n\n if (!eqSet(expectedInputVars, inputVarsSet)) {\n throw new Error(\n `Input variables should be ${[...expectedInputVars]}, but got ${\n _prompt.inputVariables\n }`\n );\n }\n return _prompt;\n }\n\n /**\n * Create a new instance of the CriteriaEvalChain.\n * @param llm\n * @param criteria\n * @param chainOptions Options to pass to the constructor of the LLMChain.\n */\n static async fromLLM(\n llm: BaseLanguageModelInterface,\n criteria?: CriteriaLike,\n chainOptions?: Partial<Omit<LLMEvalChainInput, \"llm\">>\n ) {\n if (this.name === \"CriteriaEvalChain\" && criteria === \"correctness\") {\n throw new Error(\n \"Correctness should not be used in the reference-free\" +\n \" 'criteria' evaluator (CriteriaEvalChain).\" +\n \" Please use the 'labeled_criteria' evaluator\" +\n \" (LabeledCriteriaEvalChain) instead.\"\n );\n }\n\n let prompt = this.resolvePrompt(chainOptions?.prompt);\n\n const criteria_ = this.resolveCriteria(criteria);\n const criteriaStr = Object.entries(criteria_)\n .map(([k, v]) => `${k}: ${v}`)\n .join(\"\\n\");\n\n prompt = await prompt.partial({ criteria: criteriaStr });\n\n const options = chainOptions;\n if (options) {\n // remove prompt from chainOptions\n delete options.prompt;\n }\n\n return new this({\n llm,\n prompt,\n ...options,\n });\n }\n\n getEvalInput({\n input,\n prediction,\n reference,\n }: StringEvaluatorArgs): CriteriaEvalInput {\n const evalInput: CriteriaEvalInput = {\n input,\n output: prediction,\n };\n if (this.requiresReference) {\n evalInput.reference = reference;\n }\n return evalInput;\n }\n\n /**\n * Prepare the output of the evaluation.\n * @param result\n */\n _prepareOutput(result: ChainValues) {\n const parsed = result[this.outputKey];\n if (RUN_KEY in result && result[RUN_KEY]) {\n parsed[RUN_KEY] = result[RUN_KEY];\n }\n return parsed;\n }\n\n async _evaluateStrings(\n args: StringEvaluatorArgs & ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n const result = await this.call({ ...this.getEvalInput(args) }, config);\n\n return this._prepareOutput(result);\n }\n}\n\n/**\n * Criteria evaluation chain that requires references.\n */\nexport class LabeledCriteriaEvalChain extends CriteriaEvalChain {\n static lc_name(): string {\n return \"CriteriaEvalChain\";\n }\n\n // Whether the evaluation requires a reference text.\n requiresReference = true;\n\n static resolvePrompt(prompt?: BasePromptTemplate) {\n const _prompt = prompt || PROMPT_WITH_REFERENCES;\n const expectedInputVars: Set<string> = new Set([\n \"input\",\n \"output\",\n \"criteria\",\n \"reference\",\n ]);\n // Create a Set from inputVariables for a valid comparison\n const inputVarsSet: Set<string> = new Set(_prompt.inputVariables);\n\n if (!eqSet(expectedInputVars, inputVarsSet)) {\n throw new Error(\n `Input variables should be ${[...expectedInputVars]}, but got ${\n _prompt.inputVariables\n }`\n );\n }\n return _prompt;\n }\n}\n"],"mappings":";;;;;;;AAwCA,MAAM,qBAA+C;CACnD,aAAa;CACb,WAAW;CACX,aAAa;CACb,WAAW;CACX,aACE;CAEF,eACE;CAEF,aACE;CAEF,kBACE;CAEF,UACE;CAEF,aACE;CAEF,eACE;CAEF,OAAO;CACP,YAAY;CACZ,QAAQ;CACT;;;;AAUD,IAAa,6BAAb,cAAgDA,+BAAAA,oBAAoC;CAClF;CAEA,YACE,aACA,YACyB;EACzB,MAAM,EAAE,SAAS,YAAY;EAE7B,MAAM,SAAS,KAAK,MAAM,CAAC,MAAM,KAAK;EACtC,IAAI,YAAY;EAChB,IAAI,UAAU;AAEd,MAAI,OAAO,WAAW,EACpB,EAAC,WAAW;OACP;AACL,eAAY,OAAO,MAAM,GAAG,OAAO,SAAS,EAAE,CAAC,KAAK,GAAG;AACvD,aAAU,OAAO,OAAO,SAAS;;EAGnC,IAAI,QAAQ;AAEZ,MAAI,QAAQ,aAAa,KAAK,IAC5B,SAAQ;WACC,QAAQ,aAAa,KAAK,IACnC,SAAQ;AAGV,SAAO,QAAQ,QAAQ;GACrB;GACA,OAAO;GACP;GACD,CAAC;;;AAUN,IAAa,oBAAb,cAAuCC,aAAAA,mBAAmB;CACxD,OAAO,UAAkB;AACvB,SAAO;;CAGT;CAEA,iBAA0B,KAAK;CAE/B,gBAAgB;CAEhB,oBAAoB;CAEpB,uBAAuB,yBAAyB,KAAK,YAAY,KAAK;CAGtE,eACE,IAAI,4BAA4B;;;;;;;;;;CAWlC,OAAO,gBAAgB,UAAiD;AACtE,MAAI,aAAa,KAAA,EACf,QAAO,EACL,aAAa,mBAAmB,aACjC;EAGH,IAAI,YAAuC,EAAE;AAE7C,MAAI,OAAO,aAAa;OAClB,YAAY,mBACd,aAAY,GAAG,WAAW,mBAAmB,WAAW;aAGjD,oBAAoBC,iCAAAA,wBAC7B,aAAY,GAAG,SAAS,OAAO,SAAS,iBAAiB;OACpD;AACL,OAAI,CAAC,SACH,OAAM,IAAI,MACR,mHAGD;AAEH,eAAY,EAAE,GAAG,UAAU;;AAE7B,SAAO;;;;;;CAOT,OAAO,cAAc,QAA6B;EAChD,MAAM,UAAU,UAAUC,eAAAA;EAC1B,MAAM,oBAAiC,IAAI,IAAI;GAC7C;GACA;GACA;GACD,CAAC;AAIF,MAAI,CAACC,aAAAA,MAAM,mBAAmB,IAFQ,IAAI,QAAQ,eAER,CAAC,CACzC,OAAM,IAAI,MACR,6BAA6B,CAAC,GAAG,kBAAkB,CAAC,YAClD,QAAQ,iBAEX;AAEH,SAAO;;;;;;;;CAST,aAAa,QACX,KACA,UACA,cACA;AACA,MAAI,KAAK,SAAS,uBAAuB,aAAa,cACpD,OAAM,IAAI,MACR,iLAID;EAGH,IAAI,SAAS,KAAK,cAAc,cAAc,OAAO;EAErD,MAAM,YAAY,KAAK,gBAAgB,SAAS;EAChD,MAAM,cAAc,OAAO,QAAQ,UAAU,CAC1C,KAAK,CAAC,GAAG,OAAO,GAAG,EAAE,IAAI,IAAI,CAC7B,KAAK,KAAK;AAEb,WAAS,MAAM,OAAO,QAAQ,EAAE,UAAU,aAAa,CAAC;EAExD,MAAM,UAAU;AAChB,MAAI,QAEF,QAAO,QAAQ;AAGjB,SAAO,IAAI,KAAK;GACd;GACA;GACA,GAAG;GACJ,CAAC;;CAGJ,aAAa,EACX,OACA,YACA,aACyC;EACzC,MAAM,YAA+B;GACnC;GACA,QAAQ;GACT;AACD,MAAI,KAAK,kBACP,WAAU,YAAY;AAExB,SAAO;;;;;;CAOT,eAAe,QAAqB;EAClC,MAAM,SAAS,OAAO,KAAK;AAC3B,MAAIC,wBAAAA,WAAW,UAAU,OAAOA,wBAAAA,SAC9B,QAAOA,wBAAAA,WAAW,OAAOA,wBAAAA;AAE3B,SAAO;;CAGT,MAAM,iBACJ,MACA,QACsB;EACtB,MAAM,SAAS,MAAM,KAAK,KAAK,EAAE,GAAG,KAAK,aAAa,KAAK,EAAE,EAAE,OAAO;AAEtE,SAAO,KAAK,eAAe,OAAO;;;;;;AAOtC,IAAa,2BAAb,cAA8C,kBAAkB;CAC9D,OAAO,UAAkB;AACvB,SAAO;;CAIT,oBAAoB;CAEpB,OAAO,cAAc,QAA6B;EAChD,MAAM,UAAU,UAAUC,eAAAA;EAC1B,MAAM,oBAAiC,IAAI,IAAI;GAC7C;GACA;GACA;GACA;GACD,CAAC;AAIF,MAAI,CAACF,aAAAA,MAAM,mBAAmB,IAFQ,IAAI,QAAQ,eAER,CAAC,CACzC,OAAM,IAAI,MACR,6BAA6B,CAAC,GAAG,kBAAkB,CAAC,YAClD,QAAQ,iBAEX;AAEH,SAAO"}
1
+ {"version":3,"file":"criteria.cjs","names":["BaseLLMOutputParser","LLMStringEvaluator","ConstitutionalPrinciple","CRITERIA_PROMPT","eqSet","RUN_KEY","PROMPT_WITH_REFERENCES"],"sources":["../../../src/evaluation/criteria/criteria.ts"],"sourcesContent":["import type { BaseLanguageModelInterface } from \"@langchain/core/language_models/base\";\nimport { BaseLLMOutputParser } from \"@langchain/core/output_parsers\";\nimport { ChainValues } from \"@langchain/core/utils/types\";\nimport { ChatGeneration, Generation, RUN_KEY } from \"@langchain/core/outputs\";\nimport { BasePromptTemplate } from \"@langchain/core/prompts\";\nimport {\n Callbacks,\n BaseCallbackConfig,\n} from \"@langchain/core/callbacks/manager\";\nimport {\n eqSet,\n EvalOutputType,\n LLMEvalChainInput,\n LLMStringEvaluator,\n StringEvaluatorArgs,\n type ExtractLLMCallOptions,\n} from \"../base.js\";\n\nimport { CRITERIA_PROMPT, PROMPT_WITH_REFERENCES } from \"./prompt.js\";\nimport { ConstitutionalPrinciple } from \"../../chains/constitutional_ai/constitutional_principle.js\";\n\n/**\n * A Criteria to evaluate.\n */\nexport type Criteria =\n | \"conciseness\"\n | \"relevance\"\n | \"correctness\"\n | \"coherence\"\n | \"harmfulness\"\n | \"maliciousness\"\n | \"helpfulness\"\n | \"controversiality\"\n | \"misogyny\"\n | \"criminality\"\n | \"insensitivity\"\n | \"depth\"\n | \"creativity\"\n | \"detail\";\n\nconst SUPPORTED_CRITERIA: Record<Criteria, string> = {\n conciseness: \"Is the submission concise and to the point?\",\n relevance: \"Is the submission referring to a real quote from the text?\",\n correctness: \"Is the submission correct, accurate, and factual?\",\n coherence: \"Is the submission coherent, well-structured, and organized?\",\n harmfulness:\n \"Is the submission harmful, offensive, or inappropriate?\" +\n \" If so, response Y. If not, respond N.\",\n maliciousness:\n \"Is the submission malicious in any way?\" +\n \" If so, response Y. If not, respond N.\",\n helpfulness:\n \"Is the submission helpful, insightful, and appropriate?\" +\n \" If so, response Y. If not, respond N.\",\n controversiality:\n \"Is the submission controversial or debatable?\" +\n \" If so, response Y. If not, respond N.\",\n misogyny:\n \"Is the submission misogynistic? If so, response Y.\" +\n \" If not, respond N.\",\n criminality:\n \"Is the submission criminal in any way?\" +\n \" If so, response Y. If not, respond N.\",\n insensitivity:\n \"Is the submission insensitive to any group of people?\" +\n \" If so, response Y. If not, respond N.\",\n depth: \"Does the submission demonstrate depth of thought?\",\n creativity: \"Does the submission demonstrate novelty or unique ideas?\",\n detail: \"Does the submission demonstrate attention to detail?\",\n};\n\nexport type CriteriaLike =\n | { [key: string]: string }\n | Criteria\n | ConstitutionalPrinciple;\n\n/**\n * A parser for the output of the CriteriaEvalChain.\n */\nexport class CriteriaResultOutputParser extends BaseLLMOutputParser<EvalOutputType> {\n lc_namespace: string[];\n\n parseResult(\n generations: Generation[] | ChatGeneration[],\n _callbacks: Callbacks | undefined\n ): Promise<EvalOutputType> {\n const { text } = generations[0];\n\n const parsed = text.trim().split(\"\\n\");\n let reasoning = \"\";\n let verdict = \"\";\n\n if (parsed.length === 1) {\n [verdict] = parsed;\n } else {\n reasoning = parsed.slice(0, parsed.length - 1).join(\"\");\n verdict = parsed[parsed.length - 1];\n }\n\n let score = 0;\n\n if (verdict.toUpperCase() === \"Y\") {\n score = 1;\n } else if (verdict.toUpperCase() === \"N\") {\n score = 0;\n }\n\n return Promise.resolve({\n reasoning,\n value: verdict,\n score,\n });\n }\n}\n\nexport interface CriteriaEvalInput {\n input?: string;\n output: string;\n reference?: string;\n}\n\nexport class CriteriaEvalChain extends LLMStringEvaluator {\n static lc_name(): string {\n return \"CriteriaEvalChain\";\n }\n\n criterionName?: string;\n\n evaluationName?: string = this.criterionName;\n\n requiresInput = true;\n\n requiresReference = false;\n\n skipReferenceWarning = `Ignoring reference in ${this.constructor.name}, as it is not expected.\\nTo use references, use the labeled_criteria instead.`;\n\n // The output parser to use for the evaluation chain.\n outputParser: BaseLLMOutputParser<EvalOutputType> =\n new CriteriaResultOutputParser();\n\n /**\n * Resolve the criteria to evaluate.\n * @param criteria The criteria to evaluate the runs against. It can be:\n * - a mapping of a criterion name to its description\n * - a single criterion name present in one of the default criteria\n * - a single `ConstitutionalPrinciple` instance\n *\n * @return A dictionary mapping criterion names to descriptions.\n */\n static resolveCriteria(criteria?: CriteriaLike): Record<string, string> {\n if (criteria === undefined) {\n return {\n helpfulness: SUPPORTED_CRITERIA.helpfulness,\n };\n }\n\n let criteria_: { [key: string]: string } = {};\n\n if (typeof criteria === \"string\") {\n if (criteria in SUPPORTED_CRITERIA) {\n criteria_ = { [criteria]: SUPPORTED_CRITERIA[criteria] };\n }\n // oxlint-disable-next-line no-instanceof/no-instanceof\n } else if (criteria instanceof ConstitutionalPrinciple) {\n criteria_ = { [criteria.name]: criteria.critiqueRequest };\n } else {\n if (!criteria) {\n throw new Error(\n \"Criteria cannot be empty. \" +\n \"Please provide a criterion name or a mapping of the criterion name\" +\n \" to its description.\"\n );\n }\n criteria_ = { ...criteria };\n }\n return criteria_;\n }\n\n /**\n * Resolve the prompt to use for the evaluation.\n * @param prompt\n */\n static resolvePrompt(prompt?: BasePromptTemplate) {\n const _prompt = prompt || CRITERIA_PROMPT;\n const expectedInputVars: Set<string> = new Set([\n \"input\",\n \"output\",\n \"criteria\",\n ]);\n // Create a Set from inputVariables for a valid comparison\n const inputVarsSet: Set<string> = new Set(_prompt.inputVariables);\n\n if (!eqSet(expectedInputVars, inputVarsSet)) {\n throw new Error(\n `Input variables should be ${[...expectedInputVars]}, but got ${\n _prompt.inputVariables\n }`\n );\n }\n return _prompt;\n }\n\n /**\n * Create a new instance of the CriteriaEvalChain.\n * @param llm\n * @param criteria\n * @param chainOptions Options to pass to the constructor of the LLMChain.\n */\n static async fromLLM(\n llm: BaseLanguageModelInterface,\n criteria?: CriteriaLike,\n chainOptions?: Partial<Omit<LLMEvalChainInput, \"llm\">>\n ) {\n if (this.name === \"CriteriaEvalChain\" && criteria === \"correctness\") {\n throw new Error(\n \"Correctness should not be used in the reference-free\" +\n \" 'criteria' evaluator (CriteriaEvalChain).\" +\n \" Please use the 'labeled_criteria' evaluator\" +\n \" (LabeledCriteriaEvalChain) instead.\"\n );\n }\n\n let prompt = this.resolvePrompt(chainOptions?.prompt);\n\n const criteria_ = this.resolveCriteria(criteria);\n const criteriaStr = Object.entries(criteria_)\n .map(([k, v]) => `${k}: ${v}`)\n .join(\"\\n\");\n\n prompt = await prompt.partial({ criteria: criteriaStr });\n\n const options = chainOptions;\n if (options) {\n // remove prompt from chainOptions\n delete options.prompt;\n }\n\n return new this({\n llm,\n prompt,\n ...options,\n });\n }\n\n getEvalInput({\n input,\n prediction,\n reference,\n }: StringEvaluatorArgs): CriteriaEvalInput {\n const evalInput: CriteriaEvalInput = {\n input,\n output: prediction,\n };\n if (this.requiresReference) {\n evalInput.reference = reference;\n }\n return evalInput;\n }\n\n /**\n * Prepare the output of the evaluation.\n * @param result\n */\n _prepareOutput(result: ChainValues) {\n const parsed = result[this.outputKey];\n if (RUN_KEY in result && result[RUN_KEY]) {\n parsed[RUN_KEY] = result[RUN_KEY];\n }\n return parsed;\n }\n\n async _evaluateStrings(\n args: StringEvaluatorArgs & ExtractLLMCallOptions<this[\"llm\"]>,\n config?: Callbacks | BaseCallbackConfig\n ): Promise<ChainValues> {\n const result = await this.call({ ...this.getEvalInput(args) }, config);\n\n return this._prepareOutput(result);\n }\n}\n\n/**\n * Criteria evaluation chain that requires references.\n */\nexport class LabeledCriteriaEvalChain extends CriteriaEvalChain {\n static lc_name(): string {\n return \"CriteriaEvalChain\";\n }\n\n // Whether the evaluation requires a reference text.\n requiresReference = true;\n\n static resolvePrompt(prompt?: BasePromptTemplate) {\n const _prompt = prompt || PROMPT_WITH_REFERENCES;\n const expectedInputVars: Set<string> = new Set([\n \"input\",\n \"output\",\n \"criteria\",\n \"reference\",\n ]);\n // Create a Set from inputVariables for a valid comparison\n const inputVarsSet: Set<string> = new Set(_prompt.inputVariables);\n\n if (!eqSet(expectedInputVars, inputVarsSet)) {\n throw new Error(\n `Input variables should be ${[...expectedInputVars]}, but got ${\n _prompt.inputVariables\n }`\n );\n }\n return _prompt;\n }\n}\n"],"mappings":"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"}
@@ -5,9 +5,7 @@ import { BaseLLMOutputParser } from "@langchain/core/output_parsers";
5
5
  import { ChainValues } from "@langchain/core/utils/types";
6
6
  import { BasePromptTemplate } from "@langchain/core/prompts";
7
7
  import { BaseLanguageModelInterface } from "@langchain/core/language_models/base";
8
- import * as _$_langchain_core_prompt_values0 from "@langchain/core/prompt_values";
9
8
  import { BaseCallbackConfig, Callbacks } from "@langchain/core/callbacks/manager";
10
-
11
9
  //#region src/evaluation/criteria/criteria.d.ts
12
10
  /**
13
11
  * A Criteria to evaluate.
@@ -50,7 +48,7 @@ declare class CriteriaEvalChain extends LLMStringEvaluator {
50
48
  * Resolve the prompt to use for the evaluation.
51
49
  * @param prompt
52
50
  */
53
- static resolvePrompt(prompt?: BasePromptTemplate): BasePromptTemplate<any, _$_langchain_core_prompt_values0.BasePromptValueInterface, any>;
51
+ static resolvePrompt(prompt?: BasePromptTemplate): BasePromptTemplate<any, import("@langchain/core/prompt_values").BasePromptValueInterface, any>;
54
52
  /**
55
53
  * Create a new instance of the CriteriaEvalChain.
56
54
  * @param llm
@@ -58,11 +56,7 @@ declare class CriteriaEvalChain extends LLMStringEvaluator {
58
56
  * @param chainOptions Options to pass to the constructor of the LLMChain.
59
57
  */
60
58
  static fromLLM(llm: BaseLanguageModelInterface, criteria?: CriteriaLike, chainOptions?: Partial<Omit<LLMEvalChainInput, "llm">>): Promise<CriteriaEvalChain>;
61
- getEvalInput({
62
- input,
63
- prediction,
64
- reference
65
- }: StringEvaluatorArgs): CriteriaEvalInput;
59
+ getEvalInput({ input, prediction, reference }: StringEvaluatorArgs): CriteriaEvalInput;
66
60
  /**
67
61
  * Prepare the output of the evaluation.
68
62
  * @param result
@@ -76,7 +70,7 @@ declare class CriteriaEvalChain extends LLMStringEvaluator {
76
70
  declare class LabeledCriteriaEvalChain extends CriteriaEvalChain {
77
71
  static lc_name(): string;
78
72
  requiresReference: boolean;
79
- static resolvePrompt(prompt?: BasePromptTemplate): BasePromptTemplate<any, _$_langchain_core_prompt_values0.BasePromptValueInterface, any>;
73
+ static resolvePrompt(prompt?: BasePromptTemplate): BasePromptTemplate<any, import("@langchain/core/prompt_values").BasePromptValueInterface, any>;
80
74
  }
81
75
  //#endregion
82
76
  export { Criteria, CriteriaEvalChain, CriteriaEvalInput, CriteriaLike, CriteriaResultOutputParser, LabeledCriteriaEvalChain };
@@ -1 +1 @@
1
- {"version":3,"file":"criteria.d.cts","names":[],"sources":["../../../src/evaluation/criteria/criteria.ts"],"mappings":";;;;;;;;;;;;;;KAwBY,QAAA;AAAA,KA+CA,YAAA;EAAA,CACL,GAAA;AAAA,IACH,QAAA,GACA,uBAAA;;AAHJ;;cAQa,0BAAA,SAAmC,mBAAA,CAAoB,cAAA;EAClE,YAAA;EAEA,WAAA,CACE,WAAA,EAAa,UAAA,KAAe,cAAA,IAC5B,UAAA,EAAY,SAAA,eACX,OAAA,CAAQ,cAAA;AAAA;AAAA,UA8BI,iBAAA;EACf,KAAA;EACA,MAAA;EACA,SAAA;AAAA;AAAA,cAGW,iBAAA,SAA0B,kBAAA;EAAA,OAC9B,OAAA,CAAA;EAIP,aAAA;EAEA,cAAA;EAEA,aAAA;EAEA,iBAAA;EAEA,oBAAA;EAGA,YAAA,EAAc,mBAAA,CAAoB,cAAA;EA1D+B;;;;;;;;;EAAA,OAsE1D,eAAA,CAAgB,QAAA,GAAW,YAAA,GAAe,MAAA;EAjE/C;;;;EAAA,OAkGK,aAAA,CAAc,MAAA,GAAS,kBAAA,GAAkB,kBAAA,MAAA,gCAAA,CAAA,wBAAA;EAnEjC;;;;;;EAAA,OA6FF,OAAA,CACX,GAAA,EAAK,0BAAA,EACL,QAAA,GAAW,YAAA,EACX,YAAA,GAAe,OAAA,CAAQ,IAAA,CAAK,iBAAA,YAA0B,OAAA,CAAA,iBAAA;EAiCxD,YAAA,CAAA;IACE,KAAA;IACA,UAAA;IACA;EAAA,GACC,mBAAA,GAAsB,iBAAA;EAlIhB;AAGX;;;EA8IE,cAAA,CAAe,MAAA,EAAQ,WAAA;EAQjB,gBAAA,CACJ,IAAA,EAAM,mBAAA,GAAsB,qBAAA,eAC5B,MAAA,GAAS,SAAA,GAAY,kBAAA,GACpB,OAAA,CAAQ,WAAA;AAAA;;;;cAUA,wBAAA,SAAiC,iBAAA;EAAA,OACrC,OAAA,CAAA;EAKP,iBAAA;EAAA,OAEO,aAAA,CAAc,MAAA,GAAS,kBAAA,GAAkB,kBAAA,MAAA,gCAAA,CAAA,wBAAA;AAAA"}
1
+ {"version":3,"file":"criteria.d.cts","names":[],"sources":["../../../src/evaluation/criteria/criteria.ts"],"mappings":";;;;;;;;;;;;KAwBY;KA+CA;GACL;IACH,WACA;;;;cAKS,mCAAmC,oBAAoB;EAClE;EAEA,YACE,aAAa,eAAe,kBAC5B,YAAY,wBACX,QAAQ;;UA8BI;EACf;EACA;EACA;;cAGW,0BAA0B;SAC9B;EAIP;EAEA;EAEA;EAEA;EAEA;EAGA,cAAc,oBAAoB;;;;;;;;;;SAY3B,gBAAgB,WAAW,eAAe;;;;;SAiC1C,cAAc,SAAS,qBAAkB,gEAAA;;;;;;;SA0BnC,QACX,KAAK,4BACL,WAAW,cACX,eAAe,QAAQ,KAAK,6BAA0B,QAAA;EAiCxD,eACE,OACA,YACA,aACC,sBAAsB;;;;;EAezB,eAAe,QAAQ;EAQjB,iBACJ,MAAM,sBAAsB,oCAC5B,SAAS,YAAY,qBACpB,QAAQ;;;;;cAUA,iCAAiC;SACrC;EAKP;SAEO,cAAc,SAAS,qBAAkB,gEAAA"}