judgeval 0.2.9 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/dist/constants.d.ts +2 -0
  2. package/dist/constants.d.ts.map +1 -0
  3. package/dist/constants.js +2 -0
  4. package/dist/constants.js.map +1 -0
  5. package/dist/data/example-params.d.ts +13 -0
  6. package/dist/data/example-params.d.ts.map +1 -0
  7. package/dist/data/example-params.js +12 -0
  8. package/dist/data/example-params.js.map +1 -0
  9. package/dist/data/example.d.ts +4 -0
  10. package/dist/data/example.d.ts.map +1 -0
  11. package/dist/data/example.js +10 -0
  12. package/dist/data/example.js.map +1 -0
  13. package/dist/data/index.d.ts +3 -0
  14. package/dist/data/index.d.ts.map +1 -0
  15. package/dist/data/index.js +3 -0
  16. package/dist/data/index.js.map +1 -0
  17. package/dist/env.d.ts +6 -0
  18. package/dist/env.d.ts.map +1 -0
  19. package/dist/env.js +13 -0
  20. package/dist/env.js.map +1 -0
  21. package/dist/index.d.ts +9 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +2 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/index.mjs +2 -0
  26. package/dist/index.mjs.map +1 -0
  27. package/dist/index.umd.js +2 -0
  28. package/dist/index.umd.js.map +1 -0
  29. package/dist/internal/api/index.d.ts +23 -0
  30. package/dist/internal/api/index.d.ts.map +1 -0
  31. package/dist/internal/api/index.js +132 -0
  32. package/dist/internal/api/index.js.map +1 -0
  33. package/dist/internal/api/models/BaseScorer.d.ts +23 -0
  34. package/dist/internal/api/models/BaseScorer.d.ts.map +1 -0
  35. package/dist/internal/api/models/BaseScorer.js +6 -0
  36. package/dist/internal/api/models/BaseScorer.js.map +1 -0
  37. package/dist/internal/api/models/EvalResults.d.ts +12 -0
  38. package/dist/internal/api/models/EvalResults.d.ts.map +1 -0
  39. package/dist/internal/api/models/EvalResults.js +6 -0
  40. package/dist/internal/api/models/EvalResults.js.map +1 -0
  41. package/dist/internal/api/models/EvalResultsFetch.d.ts +9 -0
  42. package/dist/internal/api/models/EvalResultsFetch.d.ts.map +1 -0
  43. package/dist/internal/api/models/EvalResultsFetch.js +6 -0
  44. package/dist/internal/api/models/EvalResultsFetch.js.map +1 -0
  45. package/dist/internal/api/models/Example.d.ts +10 -0
  46. package/dist/internal/api/models/Example.d.ts.map +1 -0
  47. package/dist/internal/api/models/Example.js +6 -0
  48. package/dist/internal/api/models/Example.js.map +1 -0
  49. package/dist/internal/api/models/ExampleEvaluationRun.d.ts +20 -0
  50. package/dist/internal/api/models/ExampleEvaluationRun.d.ts.map +1 -0
  51. package/dist/internal/api/models/ExampleEvaluationRun.js +6 -0
  52. package/dist/internal/api/models/ExampleEvaluationRun.js.map +1 -0
  53. package/dist/internal/api/models/FetchPromptScorersRequest.d.ts +8 -0
  54. package/dist/internal/api/models/FetchPromptScorersRequest.d.ts.map +1 -0
  55. package/dist/internal/api/models/FetchPromptScorersRequest.js +6 -0
  56. package/dist/internal/api/models/FetchPromptScorersRequest.js.map +1 -0
  57. package/dist/internal/api/models/FetchPromptScorersResponse.d.ts +9 -0
  58. package/dist/internal/api/models/FetchPromptScorersResponse.d.ts.map +1 -0
  59. package/dist/internal/api/models/FetchPromptScorersResponse.js +6 -0
  60. package/dist/internal/api/models/FetchPromptScorersResponse.js.map +1 -0
  61. package/dist/internal/api/models/OtelTraceSpan.d.ts +33 -0
  62. package/dist/internal/api/models/OtelTraceSpan.d.ts.map +1 -0
  63. package/dist/internal/api/models/OtelTraceSpan.js +6 -0
  64. package/dist/internal/api/models/OtelTraceSpan.js.map +1 -0
  65. package/dist/internal/api/models/PromptScorer.d.ts +14 -0
  66. package/dist/internal/api/models/PromptScorer.d.ts.map +1 -0
  67. package/dist/internal/api/models/PromptScorer.js +6 -0
  68. package/dist/internal/api/models/PromptScorer.js.map +1 -0
  69. package/dist/internal/api/models/ResolveProjectNameRequest.d.ts +8 -0
  70. package/dist/internal/api/models/ResolveProjectNameRequest.d.ts.map +1 -0
  71. package/dist/internal/api/models/ResolveProjectNameRequest.js +6 -0
  72. package/dist/internal/api/models/ResolveProjectNameRequest.js.map +1 -0
  73. package/dist/internal/api/models/ResolveProjectNameResponse.d.ts +8 -0
  74. package/dist/internal/api/models/ResolveProjectNameResponse.d.ts.map +1 -0
  75. package/dist/internal/api/models/ResolveProjectNameResponse.js +6 -0
  76. package/dist/internal/api/models/ResolveProjectNameResponse.js.map +1 -0
  77. package/dist/internal/api/models/SavePromptScorerRequest.d.ts +12 -0
  78. package/dist/internal/api/models/SavePromptScorerRequest.d.ts.map +1 -0
  79. package/dist/internal/api/models/SavePromptScorerRequest.js +6 -0
  80. package/dist/internal/api/models/SavePromptScorerRequest.js.map +1 -0
  81. package/dist/internal/api/models/SavePromptScorerResponse.d.ts +9 -0
  82. package/dist/internal/api/models/SavePromptScorerResponse.d.ts.map +1 -0
  83. package/dist/internal/api/models/SavePromptScorerResponse.js +6 -0
  84. package/dist/internal/api/models/SavePromptScorerResponse.js.map +1 -0
  85. package/dist/internal/api/models/ScorerConfig.d.ts +13 -0
  86. package/dist/internal/api/models/ScorerConfig.d.ts.map +1 -0
  87. package/dist/internal/api/models/ScorerConfig.js +6 -0
  88. package/dist/internal/api/models/ScorerConfig.js.map +1 -0
  89. package/dist/internal/api/models/ScorerData.d.ts +17 -0
  90. package/dist/internal/api/models/ScorerData.d.ts.map +1 -0
  91. package/dist/internal/api/models/ScorerData.js +6 -0
  92. package/dist/internal/api/models/ScorerData.js.map +1 -0
  93. package/dist/internal/api/models/ScorerExistsRequest.d.ts +8 -0
  94. package/dist/internal/api/models/ScorerExistsRequest.d.ts.map +1 -0
  95. package/dist/internal/api/models/ScorerExistsRequest.js +6 -0
  96. package/dist/internal/api/models/ScorerExistsRequest.js.map +1 -0
  97. package/dist/internal/api/models/ScorerExistsResponse.d.ts +8 -0
  98. package/dist/internal/api/models/ScorerExistsResponse.d.ts.map +1 -0
  99. package/dist/internal/api/models/ScorerExistsResponse.js +6 -0
  100. package/dist/internal/api/models/ScorerExistsResponse.js.map +1 -0
  101. package/dist/internal/api/models/ScoringResult.d.ts +17 -0
  102. package/dist/internal/api/models/ScoringResult.d.ts.map +1 -0
  103. package/dist/internal/api/models/ScoringResult.js +6 -0
  104. package/dist/internal/api/models/ScoringResult.js.map +1 -0
  105. package/dist/internal/api/models/TraceEvaluationRun.d.ts +18 -0
  106. package/dist/internal/api/models/TraceEvaluationRun.d.ts.map +1 -0
  107. package/dist/internal/api/models/TraceEvaluationRun.js +6 -0
  108. package/dist/internal/api/models/TraceEvaluationRun.js.map +1 -0
  109. package/dist/internal/api/models.d.ts +24 -0
  110. package/dist/internal/api/models.d.ts.map +1 -0
  111. package/dist/internal/api/models.js +24 -0
  112. package/dist/internal/api/models.js.map +1 -0
  113. package/dist/scorers/api-scorer.d.ts +23 -0
  114. package/dist/scorers/api-scorer.d.ts.map +1 -0
  115. package/dist/scorers/api-scorer.js +36 -0
  116. package/dist/scorers/api-scorer.js.map +1 -0
  117. package/dist/scorers/api_scorers/answer-correctness-scorer.d.ts +11 -0
  118. package/dist/scorers/api_scorers/answer-correctness-scorer.d.ts.map +1 -0
  119. package/dist/scorers/api_scorers/answer-correctness-scorer.js +20 -0
  120. package/dist/scorers/api_scorers/answer-correctness-scorer.js.map +1 -0
  121. package/dist/scorers/api_scorers/answer-relevancy-scorer.d.ts +11 -0
  122. package/dist/scorers/api_scorers/answer-relevancy-scorer.d.ts.map +1 -0
  123. package/dist/scorers/api_scorers/answer-relevancy-scorer.js +19 -0
  124. package/dist/scorers/api_scorers/answer-relevancy-scorer.js.map +1 -0
  125. package/dist/scorers/api_scorers/faithfulness-scorer.d.ts +11 -0
  126. package/dist/scorers/api_scorers/faithfulness-scorer.d.ts.map +1 -0
  127. package/dist/scorers/api_scorers/faithfulness-scorer.js +20 -0
  128. package/dist/scorers/api_scorers/faithfulness-scorer.js.map +1 -0
  129. package/dist/scorers/api_scorers/index.d.ts +2 -0
  130. package/dist/scorers/api_scorers/index.d.ts.map +1 -0
  131. package/dist/scorers/api_scorers/index.js +2 -0
  132. package/dist/scorers/api_scorers/index.js.map +1 -0
  133. package/dist/scorers/api_scorers/instruction-adherence-scorer.d.ts +11 -0
  134. package/dist/scorers/api_scorers/instruction-adherence-scorer.d.ts.map +1 -0
  135. package/dist/scorers/api_scorers/instruction-adherence-scorer.js +20 -0
  136. package/dist/scorers/api_scorers/instruction-adherence-scorer.js.map +1 -0
  137. package/dist/scorers/api_scorers/prompt_scorer/base-prompt-scorer.d.ts +48 -0
  138. package/dist/scorers/api_scorers/prompt_scorer/base-prompt-scorer.d.ts.map +1 -0
  139. package/dist/scorers/api_scorers/prompt_scorer/base-prompt-scorer.js +133 -0
  140. package/dist/scorers/api_scorers/prompt_scorer/base-prompt-scorer.js.map +1 -0
  141. package/dist/scorers/api_scorers/prompt_scorer/index.d.ts +5 -0
  142. package/dist/scorers/api_scorers/prompt_scorer/index.d.ts.map +1 -0
  143. package/dist/scorers/api_scorers/prompt_scorer/index.js +5 -0
  144. package/dist/scorers/api_scorers/prompt_scorer/index.js.map +1 -0
  145. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer-utils.d.ts +14 -0
  146. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer-utils.d.ts.map +1 -0
  147. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer-utils.js +44 -0
  148. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer-utils.js.map +1 -0
  149. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer.d.ts +7 -0
  150. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer.d.ts.map +1 -0
  151. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer.js +9 -0
  152. package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer.js.map +1 -0
  153. package/dist/scorers/api_scorers/prompt_scorer/trace-prompt-scorer.d.ts +6 -0
  154. package/dist/scorers/api_scorers/prompt_scorer/trace-prompt-scorer.d.ts.map +1 -0
  155. package/dist/scorers/api_scorers/prompt_scorer/trace-prompt-scorer.js +8 -0
  156. package/dist/scorers/api_scorers/prompt_scorer/trace-prompt-scorer.js.map +1 -0
  157. package/dist/scorers/base-scorer.d.ts +10 -0
  158. package/dist/scorers/base-scorer.d.ts.map +1 -0
  159. package/dist/scorers/base-scorer.js +41 -0
  160. package/dist/scorers/base-scorer.js.map +1 -0
  161. package/dist/scorers/index.d.ts +4 -0
  162. package/dist/scorers/index.d.ts.map +1 -0
  163. package/dist/scorers/index.js +4 -0
  164. package/dist/scorers/index.js.map +1 -0
  165. package/dist/tracer/OpenTelemetryKeys.d.ts +12 -0
  166. package/dist/tracer/OpenTelemetryKeys.d.ts.map +1 -0
  167. package/dist/tracer/OpenTelemetryKeys.js +12 -0
  168. package/dist/tracer/OpenTelemetryKeys.js.map +1 -0
  169. package/dist/tracer/Tracer.d.ts +47 -0
  170. package/dist/tracer/Tracer.d.ts.map +1 -0
  171. package/dist/tracer/Tracer.js +235 -0
  172. package/dist/tracer/Tracer.js.map +1 -0
  173. package/dist/tracer/TracerConfiguration.d.ts +71 -0
  174. package/dist/tracer/TracerConfiguration.d.ts.map +1 -0
  175. package/dist/tracer/TracerConfiguration.js +111 -0
  176. package/dist/tracer/TracerConfiguration.js.map +1 -0
  177. package/dist/tracer/exporters/JudgmentSpanExporter.d.ts +36 -0
  178. package/dist/tracer/exporters/JudgmentSpanExporter.d.ts.map +1 -0
  179. package/dist/tracer/exporters/JudgmentSpanExporter.js +72 -0
  180. package/dist/tracer/exporters/JudgmentSpanExporter.js.map +1 -0
  181. package/dist/tracer/exporters/NoOpSpanExporter.d.ts +12 -0
  182. package/dist/tracer/exporters/NoOpSpanExporter.d.ts.map +1 -0
  183. package/dist/tracer/exporters/NoOpSpanExporter.js +16 -0
  184. package/dist/tracer/exporters/NoOpSpanExporter.js.map +1 -0
  185. package/dist/tracer/exporters/index.d.ts +3 -0
  186. package/dist/tracer/exporters/index.d.ts.map +1 -0
  187. package/dist/tracer/exporters/index.js +3 -0
  188. package/dist/tracer/exporters/index.js.map +1 -0
  189. package/dist/tracer/index.d.ts +5 -0
  190. package/dist/tracer/index.d.ts.map +1 -0
  191. package/dist/tracer/index.js +5 -0
  192. package/dist/tracer/index.js.map +1 -0
  193. package/dist/umd.d.ts +2 -0
  194. package/dist/umd.d.ts.map +1 -0
  195. package/dist/umd.js +2 -0
  196. package/dist/umd.js.map +1 -0
  197. package/dist/utils/annotate.d.ts +2 -0
  198. package/dist/utils/annotate.d.ts.map +1 -0
  199. package/dist/utils/annotate.js +27 -0
  200. package/dist/utils/annotate.js.map +1 -0
  201. package/dist/utils/index.d.ts +5 -0
  202. package/dist/utils/index.d.ts.map +1 -0
  203. package/dist/utils/index.js +5 -0
  204. package/dist/utils/index.js.map +1 -0
  205. package/dist/utils/logger.d.ts +27 -0
  206. package/dist/utils/logger.d.ts.map +1 -0
  207. package/dist/utils/logger.js +70 -0
  208. package/dist/utils/logger.js.map +1 -0
  209. package/dist/utils/types.d.ts +4 -0
  210. package/dist/utils/types.d.ts.map +1 -0
  211. package/dist/utils/types.js +2 -0
  212. package/dist/utils/types.js.map +1 -0
  213. package/dist/utils/validation.d.ts +11 -0
  214. package/dist/utils/validation.d.ts.map +1 -0
  215. package/dist/utils/validation.js +16 -0
  216. package/dist/utils/validation.js.map +1 -0
  217. package/dist/version.d.ts +2 -0
  218. package/dist/version.d.ts.map +1 -0
  219. package/dist/version.js +2 -0
  220. package/dist/version.js.map +1 -0
  221. package/package.json +57 -108
  222. package/LICENSE.md +0 -202
  223. package/README.md +0 -372
  224. package/dist/cjs/clients.js +0 -78
  225. package/dist/cjs/clients.js.map +0 -1
  226. package/dist/cjs/common/integrations/langgraph.js +0 -471
  227. package/dist/cjs/common/integrations/langgraph.js.map +0 -1
  228. package/dist/cjs/common/logger-instance.js +0 -64
  229. package/dist/cjs/common/logger-instance.js.map +0 -1
  230. package/dist/cjs/common/logger.js +0 -225
  231. package/dist/cjs/common/logger.js.map +0 -1
  232. package/dist/cjs/common/token-costs.js +0 -95
  233. package/dist/cjs/common/token-costs.js.map +0 -1
  234. package/dist/cjs/common/tracer.js +0 -1099
  235. package/dist/cjs/common/tracer.js.map +0 -1
  236. package/dist/cjs/constants.js +0 -347
  237. package/dist/cjs/constants.js.map +0 -1
  238. package/dist/cjs/data/datasets/eval-dataset-client.js +0 -394
  239. package/dist/cjs/data/datasets/eval-dataset-client.js.map +0 -1
  240. package/dist/cjs/data/datasets/eval-dataset.js +0 -405
  241. package/dist/cjs/data/datasets/eval-dataset.js.map +0 -1
  242. package/dist/cjs/data/example.js +0 -159
  243. package/dist/cjs/data/example.js.map +0 -1
  244. package/dist/cjs/data/result.js +0 -83
  245. package/dist/cjs/data/result.js.map +0 -1
  246. package/dist/cjs/e2etests/eval-operations.test.js +0 -282
  247. package/dist/cjs/e2etests/eval-operations.test.js.map +0 -1
  248. package/dist/cjs/e2etests/judgee-traces.test.js +0 -278
  249. package/dist/cjs/e2etests/judgee-traces.test.js.map +0 -1
  250. package/dist/cjs/evaluation-run.js +0 -136
  251. package/dist/cjs/evaluation-run.js.map +0 -1
  252. package/dist/cjs/exporters/otel-exporter.js +0 -352
  253. package/dist/cjs/exporters/otel-exporter.js.map +0 -1
  254. package/dist/cjs/index.js +0 -78
  255. package/dist/cjs/index.js.map +0 -1
  256. package/dist/cjs/judges/index.js +0 -237
  257. package/dist/cjs/judges/index.js.map +0 -1
  258. package/dist/cjs/judgment-client.js +0 -798
  259. package/dist/cjs/judgment-client.js.map +0 -1
  260. package/dist/cjs/rules.js +0 -322
  261. package/dist/cjs/rules.js.map +0 -1
  262. package/dist/cjs/run-evaluation.js +0 -700
  263. package/dist/cjs/run-evaluation.js.map +0 -1
  264. package/dist/cjs/scorers/api-scorer.js +0 -304
  265. package/dist/cjs/scorers/api-scorer.js.map +0 -1
  266. package/dist/cjs/scorers/base-scorer.js +0 -293
  267. package/dist/cjs/scorers/base-scorer.js.map +0 -1
  268. package/dist/cjs/scorers/metrics/answer-correctness/answer-correctness.js +0 -562
  269. package/dist/cjs/scorers/metrics/answer-correctness/answer-correctness.js.map +0 -1
  270. package/dist/cjs/scorers/metrics/answer-correctness/index.js +0 -19
  271. package/dist/cjs/scorers/metrics/answer-correctness/index.js.map +0 -1
  272. package/dist/cjs/scorers/metrics/answer-correctness/prompts.js +0 -175
  273. package/dist/cjs/scorers/metrics/answer-correctness/prompts.js.map +0 -1
  274. package/dist/cjs/scorers/metrics/answer-relevancy/answer-relevancy.js +0 -514
  275. package/dist/cjs/scorers/metrics/answer-relevancy/answer-relevancy.js.map +0 -1
  276. package/dist/cjs/scorers/metrics/answer-relevancy/index.js +0 -19
  277. package/dist/cjs/scorers/metrics/answer-relevancy/index.js.map +0 -1
  278. package/dist/cjs/scorers/metrics/answer-relevancy/prompts.js +0 -179
  279. package/dist/cjs/scorers/metrics/answer-relevancy/prompts.js.map +0 -1
  280. package/dist/cjs/scorers/metrics/faithfulness/faithfulness.js +0 -512
  281. package/dist/cjs/scorers/metrics/faithfulness/faithfulness.js.map +0 -1
  282. package/dist/cjs/scorers/metrics/faithfulness/index.js +0 -19
  283. package/dist/cjs/scorers/metrics/faithfulness/index.js.map +0 -1
  284. package/dist/cjs/scorers/metrics/faithfulness/prompts.js +0 -232
  285. package/dist/cjs/scorers/metrics/faithfulness/prompts.js.map +0 -1
  286. package/dist/cjs/scorers/metrics/hallucination/hallucination.js +0 -386
  287. package/dist/cjs/scorers/metrics/hallucination/hallucination.js.map +0 -1
  288. package/dist/cjs/scorers/metrics/hallucination/index.js +0 -11
  289. package/dist/cjs/scorers/metrics/hallucination/index.js.map +0 -1
  290. package/dist/cjs/scorers/metrics/hallucination/prompts.js +0 -106
  291. package/dist/cjs/scorers/metrics/hallucination/prompts.js.map +0 -1
  292. package/dist/cjs/scorers/metrics/instruction-adherence/index.js +0 -19
  293. package/dist/cjs/scorers/metrics/instruction-adherence/index.js.map +0 -1
  294. package/dist/cjs/scorers/metrics/instruction-adherence/instruction-adherence.js +0 -378
  295. package/dist/cjs/scorers/metrics/instruction-adherence/instruction-adherence.js.map +0 -1
  296. package/dist/cjs/scorers/metrics/instruction-adherence/prompts.js +0 -124
  297. package/dist/cjs/scorers/metrics/instruction-adherence/prompts.js.map +0 -1
  298. package/dist/esm/clients.js +0 -47
  299. package/dist/esm/clients.js.map +0 -1
  300. package/dist/esm/common/integrations/langgraph.js +0 -444
  301. package/dist/esm/common/integrations/langgraph.js.map +0 -1
  302. package/dist/esm/common/logger-instance.js +0 -59
  303. package/dist/esm/common/logger-instance.js.map +0 -1
  304. package/dist/esm/common/logger.js +0 -208
  305. package/dist/esm/common/logger.js.map +0 -1
  306. package/dist/esm/common/token-costs.js +0 -91
  307. package/dist/esm/common/token-costs.js.map +0 -1
  308. package/dist/esm/common/tracer.js +0 -1093
  309. package/dist/esm/common/tracer.js.map +0 -1
  310. package/dist/esm/constants.js +0 -341
  311. package/dist/esm/constants.js.map +0 -1
  312. package/dist/esm/data/datasets/eval-dataset-client.js +0 -387
  313. package/dist/esm/data/datasets/eval-dataset-client.js.map +0 -1
  314. package/dist/esm/data/datasets/eval-dataset.js +0 -375
  315. package/dist/esm/data/datasets/eval-dataset.js.map +0 -1
  316. package/dist/esm/data/example.js +0 -154
  317. package/dist/esm/data/example.js.map +0 -1
  318. package/dist/esm/data/result.js +0 -78
  319. package/dist/esm/data/result.js.map +0 -1
  320. package/dist/esm/e2etests/eval-operations.test.js +0 -254
  321. package/dist/esm/e2etests/eval-operations.test.js.map +0 -1
  322. package/dist/esm/e2etests/judgee-traces.test.js +0 -253
  323. package/dist/esm/e2etests/judgee-traces.test.js.map +0 -1
  324. package/dist/esm/evaluation-run.js +0 -132
  325. package/dist/esm/evaluation-run.js.map +0 -1
  326. package/dist/esm/exporters/otel-exporter.js +0 -348
  327. package/dist/esm/exporters/otel-exporter.js.map +0 -1
  328. package/dist/esm/index.js +0 -20
  329. package/dist/esm/index.js.map +0 -1
  330. package/dist/esm/judges/index.js +0 -205
  331. package/dist/esm/judges/index.js.map +0 -1
  332. package/dist/esm/judgment-client.js +0 -768
  333. package/dist/esm/judgment-client.js.map +0 -1
  334. package/dist/esm/rules.js +0 -314
  335. package/dist/esm/rules.js.map +0 -1
  336. package/dist/esm/run-evaluation.js +0 -681
  337. package/dist/esm/run-evaluation.js.map +0 -1
  338. package/dist/esm/scorers/api-scorer.js +0 -286
  339. package/dist/esm/scorers/api-scorer.js.map +0 -1
  340. package/dist/esm/scorers/base-scorer.js +0 -287
  341. package/dist/esm/scorers/base-scorer.js.map +0 -1
  342. package/dist/esm/scorers/metrics/answer-correctness/answer-correctness.js +0 -558
  343. package/dist/esm/scorers/metrics/answer-correctness/answer-correctness.js.map +0 -1
  344. package/dist/esm/scorers/metrics/answer-correctness/index.js +0 -3
  345. package/dist/esm/scorers/metrics/answer-correctness/index.js.map +0 -1
  346. package/dist/esm/scorers/metrics/answer-correctness/prompts.js +0 -171
  347. package/dist/esm/scorers/metrics/answer-correctness/prompts.js.map +0 -1
  348. package/dist/esm/scorers/metrics/answer-relevancy/answer-relevancy.js +0 -510
  349. package/dist/esm/scorers/metrics/answer-relevancy/answer-relevancy.js.map +0 -1
  350. package/dist/esm/scorers/metrics/answer-relevancy/index.js +0 -3
  351. package/dist/esm/scorers/metrics/answer-relevancy/index.js.map +0 -1
  352. package/dist/esm/scorers/metrics/answer-relevancy/prompts.js +0 -175
  353. package/dist/esm/scorers/metrics/answer-relevancy/prompts.js.map +0 -1
  354. package/dist/esm/scorers/metrics/faithfulness/faithfulness.js +0 -508
  355. package/dist/esm/scorers/metrics/faithfulness/faithfulness.js.map +0 -1
  356. package/dist/esm/scorers/metrics/faithfulness/index.js +0 -3
  357. package/dist/esm/scorers/metrics/faithfulness/index.js.map +0 -1
  358. package/dist/esm/scorers/metrics/faithfulness/prompts.js +0 -228
  359. package/dist/esm/scorers/metrics/faithfulness/prompts.js.map +0 -1
  360. package/dist/esm/scorers/metrics/hallucination/hallucination.js +0 -382
  361. package/dist/esm/scorers/metrics/hallucination/hallucination.js.map +0 -1
  362. package/dist/esm/scorers/metrics/hallucination/index.js +0 -3
  363. package/dist/esm/scorers/metrics/hallucination/index.js.map +0 -1
  364. package/dist/esm/scorers/metrics/hallucination/prompts.js +0 -102
  365. package/dist/esm/scorers/metrics/hallucination/prompts.js.map +0 -1
  366. package/dist/esm/scorers/metrics/instruction-adherence/index.js +0 -3
  367. package/dist/esm/scorers/metrics/instruction-adherence/index.js.map +0 -1
  368. package/dist/esm/scorers/metrics/instruction-adherence/instruction-adherence.js +0 -374
  369. package/dist/esm/scorers/metrics/instruction-adherence/instruction-adherence.js.map +0 -1
  370. package/dist/esm/scorers/metrics/instruction-adherence/prompts.js +0 -120
  371. package/dist/esm/scorers/metrics/instruction-adherence/prompts.js.map +0 -1
  372. package/dist/types/clients.d.ts +0 -6
  373. package/dist/types/common/integrations/langgraph.d.ts +0 -39
  374. package/dist/types/common/logger-instance.d.ts +0 -3
  375. package/dist/types/common/logger.d.ts +0 -54
  376. package/dist/types/common/token-costs.d.ts +0 -36
  377. package/dist/types/common/tracer.d.ts +0 -249
  378. package/dist/types/constants.d.ts +0 -51
  379. package/dist/types/data/datasets/eval-dataset-client.d.ts +0 -44
  380. package/dist/types/data/datasets/eval-dataset.d.ts +0 -45
  381. package/dist/types/data/example.d.ts +0 -82
  382. package/dist/types/data/result.d.ts +0 -51
  383. package/dist/types/e2etests/eval-operations.test.d.ts +0 -5
  384. package/dist/types/e2etests/judgee-traces.test.d.ts +0 -5
  385. package/dist/types/evaluation-run.d.ts +0 -44
  386. package/dist/types/exporters/otel-exporter.d.ts +0 -16
  387. package/dist/types/index.d.ts +0 -11
  388. package/dist/types/judges/index.d.ts +0 -50
  389. package/dist/types/judgment-client.d.ts +0 -149
  390. package/dist/types/rules.d.ts +0 -120
  391. package/dist/types/run-evaluation.d.ts +0 -78
  392. package/dist/types/scorers/api-scorer.d.ts +0 -84
  393. package/dist/types/scorers/base-scorer.d.ts +0 -162
  394. package/dist/types/scorers/metrics/answer-correctness/answer-correctness.d.ts +0 -80
  395. package/dist/types/scorers/metrics/answer-correctness/index.d.ts +0 -2
  396. package/dist/types/scorers/metrics/answer-correctness/prompts.d.ts +0 -71
  397. package/dist/types/scorers/metrics/answer-relevancy/answer-relevancy.d.ts +0 -74
  398. package/dist/types/scorers/metrics/answer-relevancy/index.d.ts +0 -2
  399. package/dist/types/scorers/metrics/answer-relevancy/prompts.d.ts +0 -71
  400. package/dist/types/scorers/metrics/faithfulness/faithfulness.d.ts +0 -73
  401. package/dist/types/scorers/metrics/faithfulness/index.d.ts +0 -2
  402. package/dist/types/scorers/metrics/faithfulness/prompts.d.ts +0 -94
  403. package/dist/types/scorers/metrics/hallucination/hallucination.d.ts +0 -63
  404. package/dist/types/scorers/metrics/hallucination/index.d.ts +0 -3
  405. package/dist/types/scorers/metrics/hallucination/prompts.d.ts +0 -63
  406. package/dist/types/scorers/metrics/instruction-adherence/index.d.ts +0 -2
  407. package/dist/types/scorers/metrics/instruction-adherence/instruction-adherence.d.ts +0 -63
  408. package/dist/types/scorers/metrics/instruction-adherence/prompts.d.ts +0 -78
@@ -1,102 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * Schema for hallucination verdict
4
- */
5
- export const HallucinationVerdictSchema = z.object({
6
- verdict: z.string(),
7
- reason: z.string()
8
- });
9
- /**
10
- * Schema for verdicts
11
- */
12
- export const VerdictsSchema = z.object({
13
- verdicts: z.array(HallucinationVerdictSchema)
14
- });
15
- /**
16
- * Schema for reason
17
- */
18
- export const ReasonSchema = z.object({
19
- reason: z.string()
20
- });
21
- /**
22
- * Templates for hallucination scorer prompts
23
- */
24
- export class HallucinationTemplate {
25
- /**
26
- * Generate a prompt to evaluate hallucinations in the actual output
27
- */
28
- static generateVerdicts(actualOutput, contexts) {
29
- return `==== TASK INSTRUCTIONS ====
30
- You will be provided with an \`actual output\` (the response of an LLM to a particular query) and \`contexts\` (ground truth contextual information from a knowledge base).
31
- Your task is to take each context in contexts and determine whether the \`actual output\` factually agrees with the context.
32
-
33
- Additional notes:
34
- You should NOT use any prior knowledge you have in your decision making process; take each context at face value.
35
- Since you will determine a verdict for EACH context, the number of 'verdicts' is EXACTLY EQUAL TO the number of contexts.
36
- You should be lenient in your judgment when the actual output lacks detail with respect to the context segment; you should ONLY provide a 'no' answer if the context contradicts the actual output.
37
-
38
- ==== FORMATTING INSTRUCTIONS ====
39
- You should return a JSON object with a key 'verdicts', which is a list of JSON objects. Each JSON object corresponds to a context in \`contexts\`, and should have 2 fields: 'verdict' and 'reason'.
40
- The 'verdict' key should be EXACTLY one of 'yes' or 'no', representing whether the \`actual output\` factually agrees with the context segment.
41
- The 'reason' is the justification for the verdict. If your verdict is 'no', try to provide a correction in the reason.
42
-
43
- ==== EXAMPLE ====
44
- Example contexts: ["Einstein won the Nobel Prize for his discovery of the photoelectric effect.", "Einstein won the Nobel Prize in 1968."]
45
- Example actual output: "Einstein won the Nobel Prize in 1969 for his discovery of the photoelectric effect."
46
-
47
- Example:
48
- {
49
- "verdicts": [
50
- {
51
- "verdict": "yes",
52
- "reason": "The actual output agrees with the provided context which states that Einstein won the Nobel Prize for his discovery of the photoelectric effect."
53
- },
54
- {
55
- "verdict": "no",
56
- "reason": "The actual output contradicts the provided context which states that Einstein won the Nobel Prize in 1968, not 1969."
57
- }
58
- ]
59
- }
60
-
61
- ==== YOUR TURN ====
62
- Contexts:
63
- ${contexts.map((context, index) => `${index + 1}. ${context}`).join('\n')}
64
-
65
- Actual Output:
66
- ${actualOutput}
67
-
68
- JSON:`;
69
- }
70
- /**
71
- * Generate a prompt to create a reason for the hallucination score
72
- */
73
- static generateReason(actualOutput, contexts) {
74
- return `==== TASK INSTRUCTIONS ====
75
- You will be provided with an \`actual output\` (the response of an LLM to a particular query) and \`contexts\` (ground truth contextual information from a knowledge base).
76
- Your task is to analyze whether the actual output contains any hallucinations (factual inaccuracies) when compared to the provided contexts.
77
-
78
- Please provide a clear and concise reason summarizing your analysis. Focus on any contradictions between the actual output and the contexts, or note if the output is factually consistent with the contexts.
79
-
80
- ==== FORMATTING INSTRUCTIONS ====
81
- Please make sure to only return in JSON format, with the 'reason' key providing the reason.
82
- Example JSON:
83
- {
84
- "reason": "The output contains factual inaccuracies because..."
85
- }
86
-
87
- Or if no hallucinations:
88
- {
89
- "reason": "The output is factually consistent with the provided contexts."
90
- }
91
-
92
- ==== YOUR TURN ====
93
- Contexts:
94
- ${contexts.map((context, index) => `${index + 1}. ${context}`).join('\n')}
95
-
96
- Actual Output:
97
- ${actualOutput}
98
-
99
- JSON:`;
100
- }
101
- }
102
- //# sourceMappingURL=prompts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../../../src/scorers/metrics/hallucination/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;CAC9C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,OAAO,qBAAqB;IAChC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,YAAoB,EAAE,QAAkB;QAC9D,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCT,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGvE,YAAY;;MAER,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,YAAoB,EAAE,QAAkB;QAC5D,OAAO;;;;;;;;;;;;;;;;;;;;EAoBT,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGvE,YAAY;;MAER,CAAC;IACL,CAAC;CACF"}
@@ -1,3 +0,0 @@
1
- export * from './instruction-adherence.js';
2
- export * from './prompts.js';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/scorers/metrics/instruction-adherence/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC"}
@@ -1,374 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { JudgevalScorer } from '../../base-scorer.js';
11
- import { APIScorer } from '../../../constants.js';
12
- import { info } from '../../../common/logger.js';
13
- import { InstructionAdherenceTemplate, InstructionsSchema, VerdictsSchema } from './prompts.js';
14
- import { createJudge } from '../../../judges/index.js';
15
- // Required parameters for this scorer
16
- const required_params = ['input', 'actualOutput'];
17
- /**
18
- * InstructionAdherenceScorer evaluates how well an LLM follows instructions
19
- * by extracting instructions from the input and checking if they are followed in the output.
20
- *
21
- * The score is the average of scores for each instruction (1 = followed, 0.5 = partially followed, 0 = not followed).
22
- */
23
- export class InstructionAdherenceScorer extends JudgevalScorer {
24
- /**
25
- * Create a new InstructionAdherenceScorer
26
- *
27
- * @param threshold - Success threshold (default: 0.5)
28
- * @param model - Model to use for evaluation (default: DefaultJudge)
29
- * @param include_reason - Whether to include a reason for the score (default: true)
30
- * @param async_mode - Whether to use async mode (default: false)
31
- * @param strict_mode - Whether to use strict mode (default: false)
32
- * @param verbose_mode - Whether to include verbose logs (default: false)
33
- */
34
- constructor(threshold = 0.5, model = undefined, include_reason = true, async_mode = false, strict_mode = false, verbose_mode = false) {
35
- super(APIScorer.INSTRUCTION_ADHERENCE, strict_mode ? 1 : threshold, undefined, include_reason, async_mode, strict_mode, verbose_mode);
36
- this._instructions = [];
37
- this._verdicts = [];
38
- const { judge, usingNativeModel } = createJudge(model);
39
- this.model = judge;
40
- this.using_native_model = usingNativeModel;
41
- this.evaluation_model = this.model.getModelName();
42
- this.requiredFields = ['input', 'actualOutput'];
43
- }
44
- /**
45
- * Extract instructions from input text
46
- */
47
- _aGetInstructions(input) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- const prompt = InstructionAdherenceTemplate.getInstructions(input);
50
- if (this.using_native_model) {
51
- const res = yield this.model.aGenerate(prompt);
52
- try {
53
- const data = JSON.parse(res);
54
- return data.instructions || [];
55
- }
56
- catch (error) {
57
- throw new Error(`Failed to parse response: ${error}`);
58
- }
59
- }
60
- else {
61
- try {
62
- // Create a parser function to validate the response
63
- const parseInstructionsResponse = (response) => {
64
- const parsed = JSON.parse(response);
65
- const result = InstructionsSchema.safeParse(parsed);
66
- if (result.success) {
67
- return result.data;
68
- }
69
- throw new Error(`Invalid response format: ${result.error}`);
70
- };
71
- const res = yield this.model.aGenerate(prompt);
72
- return parseInstructionsResponse(res).instructions;
73
- }
74
- catch (error) {
75
- const res = yield this.model.aGenerate(prompt);
76
- try {
77
- const data = JSON.parse(res);
78
- return data.instructions || [];
79
- }
80
- catch (parseError) {
81
- throw new Error(`Failed to parse response: ${parseError}`);
82
- }
83
- }
84
- }
85
- });
86
- }
87
- /**
88
- * Extract instructions from input text (synchronous)
89
- */
90
- _getInstructions(input) {
91
- const prompt = InstructionAdherenceTemplate.getInstructions(input);
92
- if (this.using_native_model) {
93
- const res = this.model.generate(prompt);
94
- try {
95
- const data = JSON.parse(res);
96
- return data.instructions || [];
97
- }
98
- catch (error) {
99
- throw new Error(`Failed to parse response: ${error}`);
100
- }
101
- }
102
- else {
103
- try {
104
- // Create a parser function to validate the response
105
- const parseInstructionsResponse = (response) => {
106
- const parsed = JSON.parse(response);
107
- const result = InstructionsSchema.safeParse(parsed);
108
- if (result.success) {
109
- return result.data;
110
- }
111
- throw new Error(`Invalid response format: ${result.error}`);
112
- };
113
- const res = this.model.generate(prompt);
114
- return parseInstructionsResponse(res).instructions;
115
- }
116
- catch (error) {
117
- const res = this.model.generate(prompt);
118
- try {
119
- const data = JSON.parse(res);
120
- return data.instructions || [];
121
- }
122
- catch (parseError) {
123
- throw new Error(`Failed to parse response: ${parseError}`);
124
- }
125
- }
126
- }
127
- }
128
- /**
129
- * Generate verdicts for each instruction
130
- */
131
- _aGetVerdicts(instructions, actualOutput) {
132
- return __awaiter(this, void 0, void 0, function* () {
133
- if (instructions.length === 0) {
134
- return [];
135
- }
136
- const prompt = InstructionAdherenceTemplate.generateVerdicts(instructions, actualOutput);
137
- if (this.using_native_model) {
138
- const res = yield this.model.aGenerate(prompt);
139
- try {
140
- const data = JSON.parse(res);
141
- return data.verdicts || [];
142
- }
143
- catch (error) {
144
- throw new Error(`Failed to parse response: ${error}`);
145
- }
146
- }
147
- else {
148
- try {
149
- // Create a parser function to validate the response
150
- const parseVerdictsResponse = (response) => {
151
- const parsed = JSON.parse(response);
152
- const result = VerdictsSchema.safeParse(parsed);
153
- if (result.success) {
154
- return result.data;
155
- }
156
- throw new Error(`Invalid response format: ${result.error}`);
157
- };
158
- const res = yield this.model.aGenerate(prompt);
159
- return parseVerdictsResponse(res).verdicts;
160
- }
161
- catch (error) {
162
- const res = yield this.model.aGenerate(prompt);
163
- try {
164
- const data = JSON.parse(res);
165
- return data.verdicts || [];
166
- }
167
- catch (parseError) {
168
- throw new Error(`Failed to parse response: ${parseError}`);
169
- }
170
- }
171
- }
172
- });
173
- }
174
- /**
175
- * Generate verdicts for each instruction (synchronous)
176
- */
177
- _getVerdicts(instructions, actualOutput) {
178
- if (instructions.length === 0) {
179
- return [];
180
- }
181
- const prompt = InstructionAdherenceTemplate.generateVerdicts(instructions, actualOutput);
182
- if (this.using_native_model) {
183
- const res = this.model.generate(prompt);
184
- try {
185
- const data = JSON.parse(res);
186
- return data.verdicts || [];
187
- }
188
- catch (error) {
189
- throw new Error(`Failed to parse response: ${error}`);
190
- }
191
- }
192
- else {
193
- try {
194
- // Create a parser function to validate the response
195
- const parseVerdictsResponse = (response) => {
196
- const parsed = JSON.parse(response);
197
- const result = VerdictsSchema.safeParse(parsed);
198
- if (result.success) {
199
- return result.data;
200
- }
201
- throw new Error(`Invalid response format: ${result.error}`);
202
- };
203
- const res = this.model.generate(prompt);
204
- return parseVerdictsResponse(res).verdicts;
205
- }
206
- catch (error) {
207
- const res = this.model.generate(prompt);
208
- try {
209
- const data = JSON.parse(res);
210
- return data.verdicts || [];
211
- }
212
- catch (parseError) {
213
- throw new Error(`Failed to parse response: ${parseError}`);
214
- }
215
- }
216
- }
217
- }
218
- /**
219
- * Calculate the instruction adherence score
220
- */
221
- _computeScore() {
222
- if (this._verdicts.length === 0) {
223
- return 1;
224
- }
225
- let totalScore = 0;
226
- for (const verdict of this._verdicts) {
227
- totalScore += verdict.score;
228
- }
229
- return totalScore / this._verdicts.length;
230
- }
231
- /**
232
- * Create verbose logs for debugging
233
- */
234
- _createVerboseLogs() {
235
- if (!this.verbose_mode) {
236
- return null;
237
- }
238
- const steps = [
239
- `Instructions:\n${JSON.stringify(this._instructions, null, 2)}`,
240
- `Score: ${this.score}\nReason: ${this.reason || "No reason provided"}`
241
- ];
242
- return steps.join('\n\n');
243
- }
244
- /**
245
- * Score an example synchronously
246
- */
247
- syncScoreExample(example) {
248
- info("Starting example scoring (sync mode)");
249
- try {
250
- // Check required parameters
251
- this._checkExampleParams(example);
252
- // Process example
253
- this._instructions = this._getInstructions(example.input);
254
- this._verdicts = this._getVerdicts(this._instructions, example.actualOutput);
255
- // Add instructions and verdicts to additional metadata
256
- const additional_metadata = {
257
- instructions: this._instructions,
258
- verdicts: this._verdicts
259
- };
260
- this.score = this._computeScore();
261
- this.reason = this._verdicts.length > 0 ? JSON.stringify(this._verdicts) : 'No instructions found';
262
- this.success = this._successCheck();
263
- const verbose_logs = this._createVerboseLogs();
264
- // Calculate evaluation cost
265
- const promptTokens = 700; // Estimate - in a real implementation, track actual tokens
266
- const completionTokens = 250; // Estimate - in a real implementation, track actual tokens
267
- this.evaluation_cost = this._calculateTokenCosts(this.evaluation_model || 'gpt-3.5-turbo', promptTokens, completionTokens);
268
- info(`Scoring completed with score: ${this.score}`);
269
- // Ensure all fields match the ScorerData interface
270
- return {
271
- name: this.type,
272
- threshold: this.threshold,
273
- success: this.success,
274
- score: this.score,
275
- reason: this.reason || "",
276
- strict_mode: this.strict_mode,
277
- evaluation_model: this.evaluation_model || null,
278
- error: null,
279
- evaluation_cost: this.evaluation_cost || null,
280
- verbose_logs: verbose_logs,
281
- additional_metadata: additional_metadata
282
- };
283
- }
284
- catch (error) {
285
- // Handle errors
286
- const errorMessage = error instanceof Error ? error.message : String(error);
287
- this.error = errorMessage;
288
- return {
289
- name: this.type,
290
- threshold: this.threshold,
291
- success: false,
292
- score: 0,
293
- reason: `Error during scoring: ${errorMessage}`,
294
- strict_mode: this.strict_mode,
295
- evaluation_model: this.evaluation_model || null,
296
- error: errorMessage,
297
- evaluation_cost: null,
298
- verbose_logs: null,
299
- additional_metadata: {}
300
- };
301
- }
302
- }
303
- /**
304
- * Score an example asynchronously
305
- */
306
- scoreExample(example) {
307
- return __awaiter(this, void 0, void 0, function* () {
308
- if (!this.async_mode) {
309
- return this.syncScoreExample(example);
310
- }
311
- info("Starting example scoring (async mode)");
312
- try {
313
- // Check required parameters
314
- this._checkExampleParams(example);
315
- // Process example
316
- this._instructions = yield this._aGetInstructions(example.input);
317
- this._verdicts = yield this._aGetVerdicts(this._instructions, example.actualOutput);
318
- // Add instructions and verdicts to additional metadata
319
- const additional_metadata = {
320
- instructions: this._instructions,
321
- verdicts: this._verdicts
322
- };
323
- this.score = this._computeScore();
324
- this.reason = this._verdicts.length > 0 ? JSON.stringify(this._verdicts) : 'No instructions found';
325
- this.success = this._successCheck();
326
- const verbose_logs = this._createVerboseLogs();
327
- // Calculate evaluation cost
328
- const promptTokens = 700; // Estimate - in a real implementation, track actual tokens
329
- const completionTokens = 250; // Estimate - in a real implementation, track actual tokens
330
- this.evaluation_cost = this._calculateTokenCosts(this.evaluation_model || 'gpt-3.5-turbo', promptTokens, completionTokens);
331
- info(`Scoring completed with score: ${this.score}`);
332
- // Ensure all fields match the ScorerData interface
333
- return {
334
- name: this.type,
335
- threshold: this.threshold,
336
- success: this.success,
337
- score: this.score,
338
- reason: this.reason || "",
339
- strict_mode: this.strict_mode,
340
- evaluation_model: this.evaluation_model || null,
341
- error: null,
342
- evaluation_cost: this.evaluation_cost || null,
343
- verbose_logs: verbose_logs,
344
- additional_metadata: additional_metadata
345
- };
346
- }
347
- catch (error) {
348
- // Handle errors
349
- const errorMessage = error instanceof Error ? error.message : String(error);
350
- this.error = errorMessage;
351
- return {
352
- name: this.type,
353
- threshold: this.threshold,
354
- success: false,
355
- score: 0,
356
- reason: `Error during scoring: ${errorMessage}`,
357
- strict_mode: this.strict_mode,
358
- evaluation_model: this.evaluation_model || null,
359
- error: errorMessage,
360
- evaluation_cost: null,
361
- verbose_logs: null,
362
- additional_metadata: {}
363
- };
364
- }
365
- });
366
- }
367
- /**
368
- * Get the name of the scorer
369
- */
370
- get name() {
371
- return "Instruction Adherence";
372
- }
373
- }
374
- //# sourceMappingURL=instruction-adherence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"instruction-adherence.js","sourceRoot":"","sources":["../../../../../src/scorers/metrics/instruction-adherence/instruction-adherence.ts"],"names":[],"mappings":"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"}
@@ -1,120 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * Schema for a single instruction adherence verdict
4
- */
5
- export const VerdictSchema = z.object({
6
- instruction: z.string(),
7
- score: z.number(),
8
- reason: z.string()
9
- });
10
- /**
11
- * Schema for a list of verdicts
12
- */
13
- export const VerdictsSchema = z.object({
14
- verdicts: z.array(VerdictSchema)
15
- });
16
- /**
17
- * Schema for a list of instructions
18
- */
19
- export const InstructionsSchema = z.object({
20
- instructions: z.array(z.string())
21
- });
22
- /**
23
- * Templates for prompts used in the InstructionAdherenceScorer
24
- */
25
- export class InstructionAdherenceTemplate {
26
- /**
27
- * Generate a prompt to extract instructions from input text
28
- */
29
- static getInstructions(input) {
30
- return `You will be presented with a piece of text. Your task is to break down the text and generate a list of the instructions contained within the text.
31
-
32
- ===== START OF EXAMPLES =====
33
- Example 1:
34
- Example text: Hello my name is John Doe. I like cars. Write two poems about the weather and create a joke. Also what is 5 + 5?
35
-
36
- Output:
37
- {
38
- "instructions": ["Write two poem about the weather", "Create a joke", "What is 5 + 5?"]
39
- }
40
- ===== END OF EXAMPLES =====
41
-
42
- **
43
- IMPORTANT: Please return your answer in valid JSON format, with the "instructions" key mapping to a list of strings. No words or explanation is needed.
44
- **
45
-
46
- ==== START OF INPUT ====
47
- Text:
48
- ${input}
49
- ==== END OF INPUT ====
50
-
51
- ==== YOUR ANSWER ====
52
- JSON:`;
53
- }
54
- /**
55
- * Generate a prompt to evaluate adherence to instructions
56
- */
57
- static generateVerdicts(instructions, actualOutput) {
58
- return `You will be presented with a list of instructions and a piece of text. For each instruction, determine if the instruction was completed in the text. There are 3 categories: either completed, partially completed, or not completed. The scores for these will be 1, 0.5, and 0 respectively.
59
- Go through each instruction and provide score for each instruction as well as the reasoning for that score.
60
-
61
- ==== FORMATTING YOUR ANSWER ====
62
- Please return your answer in JSON format, with a list of JSON objects with keys "instruction", "score", and "reason". No words or explanation beyond the output JSON is needed.
63
-
64
-
65
- ===== START OF EXAMPLES =====
66
- Example 1:
67
- instructions: ["Write two poems about the weather", "Create a joke", "What is 5 + 5?"]
68
- output: Poem 1: The Sun's Embrace
69
- The sun climbs high, a golden flame,
70
- It whispers warmth, it calls my name.
71
- The sky, a canvas, blue and clear,
72
- A perfect day for cars, my dear.
73
-
74
- The asphalt hums beneath the wheels,
75
- A symphony of speed it feels.
76
- The weather smiles, no clouds in sight,
77
- A driver's joy, pure delight.
78
-
79
- Poem 2: The Storm's Dance
80
- A sunlit meadow, alive with whispers of wind, where daisies dance and hope begins again. Each petal holds a promise—bright, unbruised— a symphony of light that cannot be refused.
81
-
82
- Joke
83
- Why dont cars ever get cold in the winter?
84
- Because they have radiators!
85
-
86
- Math Answer
87
- 5 + 5 = 10
88
-
89
- YOUR JSON OUTPUT:
90
- {
91
- "verdicts": [
92
- {
93
- "instruction": "Write two poem about the weather",
94
- "score": 0.5,
95
- "reason": "The output contained one poem about the weather, but the other poem was not about the weather."
96
- },
97
- {
98
- "instruction": "Create a joke",
99
- "score": 1,
100
- "reason": "There was a joke created in the output."
101
- },
102
- {
103
- "instruction": "What is 5 + 5?",
104
- "score": 1,
105
- "reason": "The answer to the math question was provided in the output."
106
- }
107
- ]
108
- }
109
- ===== END OF EXAMPLES =====
110
-
111
- ==== START OF INPUT ====
112
- instructions: ${JSON.stringify(instructions)}
113
- output: ${actualOutput}
114
- ==== END OF INPUT ====
115
-
116
- ==== YOUR ANSWER ====
117
- JSON:`;
118
- }
119
- }
120
- //# sourceMappingURL=prompts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../../../src/scorers/metrics/instruction-adherence/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;CACjC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAClC,CAAC,CAAC;AAYH;;GAEG;AACH,MAAM,OAAO,4BAA4B;IACvC;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAa;QAClC,OAAO;;;;;;;;;;;;;;;;;;EAkBT,KAAK;;;;MAID,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,YAAsB,EAAE,YAAoB;QAClE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAsDK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;UAClC,YAAY;;;;MAIhB,CAAC;IACL,CAAC;CACF"}
@@ -1,6 +0,0 @@
1
- import OpenAI from 'openai';
2
- import Anthropic from '@anthropic-ai/sdk';
3
- declare let openaiClient: OpenAI | null;
4
- declare let anthropicClient: Anthropic | null;
5
- declare let togetherClient: any | null;
6
- export { openaiClient, anthropicClient, togetherClient };