completion-kit 0.8.0 → 0.9.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4625f4e3f1afceb34f7603ee7a5025c78cb2499f6c2c287d83a9d02397f407b2
4
- data.tar.gz: 740fecb69351c418aaececb19b9cfe3579bf9124a5df52a23d6db5851ce63fce
3
+ metadata.gz: ddf80d4e74705494435d5ae2d9f0ed5ce0dd927f32bffcb1a13819076f94bced
4
+ data.tar.gz: 74eadf6abc0f173d0047c961502aeaaab9b5b3de7dd155a00d5d054fb5b8f6e6
5
5
  SHA512:
6
- metadata.gz: 548cc9666d2cf744babbe6a62047f2c4a44f79fe63490b795d84017742f3db4baff9313dfa4392e4b09c740645224493787d6af4208994d43a02a6610275e3c7
7
- data.tar.gz: d8f405649cc42b70e4849f5e0fb9bfe733507baf91e47fdd3650c1ca1b3cab0099a337b038777799853a74cca8bc767baa6cf90107fd737eb519678d0dd4bdd0
6
+ metadata.gz: fa0c962d8282310584ff52a849eeb7efc3c66debe9246d8231e5e24e55c45e8566b4edf83a19d3a021dc4a41b6241c042e0af3059c1b47ba709412220628ed96
7
+ data.tar.gz: 20cdeabe363e212a572cbe6b1f08128a7aae88f5a2ef50a3b3d012e5fbef2a64c93571bc6ebb28e971dc819ac57d060a11a3006f1b7a60ebeb265957be221eab
@@ -216,6 +216,10 @@ form.button_to {
216
216
  justify-content: flex-end;
217
217
  flex-shrink: 0;
218
218
  }
219
+ .ck-actions .ck-icon-btn {
220
+ width: 2rem;
221
+ height: 2rem;
222
+ }
219
223
 
220
224
  .ck-toolbar__spacer {
221
225
  flex: 1;
@@ -665,6 +669,33 @@ tr:hover .ck-chip--publish {
665
669
  border-color: var(--ck-accent);
666
670
  color: var(--ck-accent);
667
671
  }
672
+ .ck-chip--cta {
673
+ cursor: pointer;
674
+ background: var(--ck-accent-soft);
675
+ border-color: rgba(56, 189, 248, 0.4);
676
+ color: var(--ck-accent);
677
+ transition: border-color 0.15s, color 0.15s;
678
+ }
679
+ .ck-chip--cta:hover {
680
+ border-color: var(--ck-accent);
681
+ color: var(--ck-accent-hover);
682
+ }
683
+ .ck-version-created {
684
+ display: flex;
685
+ align-items: center;
686
+ justify-content: space-between;
687
+ gap: 10px;
688
+ }
689
+ .ck-version-state {
690
+ font-family: var(--ck-mono);
691
+ font-size: 0.66rem;
692
+ letter-spacing: 0.07em;
693
+ text-transform: uppercase;
694
+ color: var(--ck-dim);
695
+ }
696
+ .ck-version-state--live {
697
+ color: var(--ck-text);
698
+ }
668
699
 
669
700
  .ck-chip--soft {
670
701
  background: var(--ck-accent-soft);
@@ -753,6 +784,11 @@ tr:hover .ck-chip--publish {
753
784
  flex-shrink: 0;
754
785
  color: var(--ck-warning);
755
786
  }
787
+ .ck-kicker--icon {
788
+ display: inline-flex;
789
+ align-items: center;
790
+ gap: 0.4rem;
791
+ }
756
792
 
757
793
  .ck-button:hover {
758
794
  transform: translateY(-1px);
@@ -2552,6 +2588,26 @@ select.ck-input {
2552
2588
  gap: 0.6rem;
2553
2589
  padding: 0.95rem 1.5rem 1.1rem;
2554
2590
  }
2591
+ .ck-modal__footer--split {
2592
+ justify-content: space-between;
2593
+ align-items: center;
2594
+ gap: 1rem;
2595
+ flex-wrap: wrap;
2596
+ border-top: 1px solid var(--ck-line);
2597
+ }
2598
+ .ck-modal__foot-note {
2599
+ color: var(--ck-dim);
2600
+ font-size: 0.86rem;
2601
+ }
2602
+ .ck-modal__foot-actions {
2603
+ display: inline-flex;
2604
+ align-items: center;
2605
+ gap: 0.6rem;
2606
+ }
2607
+ .ck-modal__foot-actions .ck-icon-btn {
2608
+ width: 2rem;
2609
+ height: 2rem;
2610
+ }
2555
2611
 
2556
2612
  .ck-modal__close-btn {
2557
2613
  appearance: none;
@@ -3582,52 +3638,59 @@ select.ck-input {
3582
3638
  .ck-prompt-versions-table th:nth-child(3), .ck-prompt-versions-table td:nth-child(3) { width: 8rem; white-space: nowrap; }
3583
3639
  .ck-prompt-versions-table th:nth-child(4), .ck-prompt-versions-table td:nth-child(4) { width: auto; }
3584
3640
 
3585
- .ck-metric-versions-table th:nth-child(1), .ck-metric-versions-table td:nth-child(1) { width: 16rem; }
3586
- .ck-metric-versions-table th:nth-child(2), .ck-metric-versions-table td:nth-child(2) { width: 12rem; white-space: nowrap; }
3587
- .ck-metric-versions-table th:nth-child(3), .ck-metric-versions-table td:nth-child(3) { width: auto; }
3641
+ .ck-metric-versions-table th:nth-child(1), .ck-metric-versions-table td:nth-child(1) { width: 14rem; }
3642
+ .ck-metric-versions-table th:nth-child(2), .ck-metric-versions-table td:nth-child(2) { width: auto; }
3643
+ .ck-metric-versions-table th:nth-child(3), .ck-metric-versions-table td:nth-child(3) { width: 9rem; white-space: nowrap; }
3644
+ .ck-metric-versions-table th:nth-child(4), .ck-metric-versions-table td:nth-child(4) { width: 9rem; white-space: nowrap; }
3645
+
3646
+ .ck-change-link {
3647
+ background: none;
3648
+ border: 0;
3649
+ padding: 0;
3650
+ cursor: pointer;
3651
+ font-family: inherit;
3652
+ font-size: 0.86rem;
3653
+ text-align: left;
3654
+ color: var(--ck-text);
3655
+ }
3656
+ .ck-change-link:hover,
3657
+ .ck-change-link:focus-visible {
3658
+ color: var(--ck-accent);
3659
+ text-decoration: underline;
3660
+ }
3661
+ .ck-change-link--trivial {
3662
+ color: var(--ck-dim);
3663
+ }
3664
+ .ck-change-link--major {
3665
+ color: rgb(217, 119, 6);
3666
+ }
3588
3667
 
3589
3668
  .ck-source-chip {
3590
3669
  display: inline-block;
3591
- padding: 2px 8px;
3592
- border-radius: 4px;
3593
3670
  font-family: var(--ck-mono);
3594
- font-size: 0.7rem;
3671
+ font-size: 0.68rem;
3595
3672
  letter-spacing: 0.06em;
3596
3673
  text-transform: uppercase;
3597
- border: 1px solid var(--ck-line-strong);
3598
- background: var(--ck-surface-soft);
3599
3674
  color: var(--ck-muted);
3600
3675
  }
3601
3676
  .ck-source-chip--ai {
3602
- border-color: rgba(56, 189, 248, 0.35);
3603
- background: rgba(56, 189, 248, 0.08);
3604
3677
  color: var(--ck-accent);
3605
3678
  }
3606
3679
  .ck-source-chip--manual {
3607
- border-color: var(--ck-line-strong);
3608
3680
  color: var(--ck-text);
3609
3681
  }
3610
3682
  .ck-source-chip--initial {
3611
- border-color: var(--ck-line);
3612
3683
  color: var(--ck-dim);
3613
3684
  }
3614
3685
  .ck-source-chip--revert {
3615
- border-color: rgba(245, 158, 11, 0.35);
3616
- background: rgba(245, 158, 11, 0.08);
3617
3686
  color: rgb(217, 119, 6);
3618
3687
  }
3619
3688
  .ck-source-chip--current {
3620
- border-color: var(--ck-line-strong);
3621
3689
  color: var(--ck-text);
3622
3690
  }
3623
3691
  .ck-source-chip--past {
3624
- border-color: var(--ck-line);
3625
3692
  color: var(--ck-dim);
3626
3693
  }
3627
- .ck-disagreement--stale {
3628
- opacity: 0.7;
3629
- }
3630
-
3631
3694
  .ck-suggestions-table th:nth-child(1), .ck-suggestions-table td:nth-child(1) { width: 16rem; white-space: nowrap; }
3632
3695
  .ck-suggestions-table th:nth-child(2), .ck-suggestions-table td:nth-child(2) { width: auto; }
3633
3696
  .ck-suggestions-table th:nth-child(3), .ck-suggestions-table td:nth-child(3) { width: 6rem; white-space: nowrap; }
@@ -5552,224 +5615,80 @@ a.tag-mark {
5552
5615
  font-weight: 600;
5553
5616
  }
5554
5617
 
5555
- .ck-trust-panel {
5556
- display: inline-flex;
5557
- flex-direction: column;
5558
- gap: 6px;
5559
- margin-top: 12px;
5560
- padding: 10px 14px;
5561
- background: var(--ck-surface-soft);
5562
- border: 1px solid var(--ck-line);
5563
- border-radius: 6px;
5564
- }
5565
- .ck-trust-panel__label {
5566
- margin: 0;
5567
- font-family: var(--ck-mono);
5568
- font-size: 0.7rem;
5569
- letter-spacing: 0.08em;
5570
- text-transform: uppercase;
5571
- color: var(--ck-dim);
5572
- }
5573
- .ck-trust-panel__body {
5618
+ .ck-trust-line {
5619
+ margin: 14px 0 0;
5574
5620
  display: flex;
5621
+ flex-wrap: wrap;
5575
5622
  align-items: baseline;
5576
- gap: 10px;
5577
- }
5578
- .ck-trust-panel__counter {
5579
- font-family: var(--ck-mono);
5580
- font-size: 1.6rem;
5581
- font-weight: 600;
5582
- color: var(--ck-accent);
5583
- }
5584
- .ck-trust-panel__counter-of {
5585
- font-size: 0.9rem;
5586
- color: var(--ck-dim);
5587
- margin-left: 4px;
5588
- }
5589
- .ck-trust-panel__hint {
5590
- font-family: var(--ck-mono);
5591
- font-size: 0.72rem;
5592
- color: var(--ck-dim);
5593
- letter-spacing: 0.04em;
5594
- }
5595
- .ck-trust-panel__score {
5596
- font-family: var(--ck-mono);
5597
- font-size: 1.6rem;
5598
- font-weight: 600;
5599
- color: var(--ck-success);
5600
- }
5601
- .ck-trust-panel__score-pct {
5602
- font-size: 0.9rem;
5603
- color: var(--ck-dim);
5604
- margin-left: 2px;
5605
- }
5606
- .ck-trust-panel__margin {
5623
+ gap: 6px 20px;
5607
5624
  font-family: var(--ck-mono);
5608
5625
  font-size: 0.8rem;
5609
- color: var(--ck-dim);
5610
- }
5611
- .ck-trust-panel__gate {
5612
- font-family: var(--ck-mono);
5613
- font-size: 0.66rem;
5614
- letter-spacing: 0.08em;
5615
- text-transform: uppercase;
5616
- padding: 2px 6px;
5617
- border-radius: 3px;
5618
- background: var(--ck-surface);
5619
- border: 1px solid var(--ck-line);
5620
- color: var(--ck-dim);
5621
- }
5622
- .ck-trust-panel--firm .ck-trust-panel__gate {
5623
- color: var(--ck-success);
5624
- border-color: rgba(45, 212, 168, 0.35);
5625
- }
5626
- .ck-trust-panel__details {
5627
- display: flex;
5628
- flex-wrap: wrap;
5629
- gap: 14px;
5630
- font-family: var(--ck-mono);
5631
- font-size: 0.72rem;
5632
- color: var(--ck-dim);
5626
+ color: var(--ck-text);
5627
+ line-height: 1.5;
5633
5628
  }
5634
- .ck-trust-panel__borderline {
5635
- color: var(--ck-warning);
5629
+ .ck-trust-line__lead {
5630
+ font-weight: 600;
5636
5631
  }
5637
-
5638
- .ck-trust-panel__borderline--ok { color: var(--ck-dim); }
5639
- .ck-trust-panel__borderline--warning { color: var(--ck-warning); }
5640
- .ck-trust-panel__borderline--danger { color: var(--ck-danger); }
5641
-
5642
- .ck-trust-line {
5643
- margin: 10px 0 0;
5644
- font-family: var(--ck-mono);
5645
- font-size: 0.82rem;
5632
+ .ck-trust-line__hint {
5646
5633
  color: var(--ck-dim);
5647
- line-height: 1.55;
5648
5634
  }
5649
- .ck-trust-line > * + * {
5650
- margin-left: 6px;
5635
+ .ck-cal-stat {
5636
+ display: inline-flex;
5637
+ align-items: baseline;
5638
+ gap: 6px;
5651
5639
  }
5652
- .ck-trust-line__label {
5653
- font-size: 0.82rem;
5654
- letter-spacing: 0.08em;
5640
+ .ck-cal-stat__label {
5641
+ font-size: 0.64rem;
5642
+ letter-spacing: 0.09em;
5655
5643
  text-transform: uppercase;
5656
5644
  color: var(--ck-muted);
5657
- white-space: nowrap;
5658
- }
5659
- .ck-trust-line__label svg {
5660
- display: inline-block;
5661
- width: 14px;
5662
- height: 14px;
5663
- vertical-align: middle;
5664
- margin-right: 2px;
5665
- position: relative;
5666
- top: -1px;
5667
- }
5668
- .ck-trust-line__state {
5669
- color: var(--ck-text);
5670
- font-weight: 500;
5671
- }
5672
- .ck-trust-icon {
5673
- display: inline-block;
5674
- width: 11px;
5675
- height: 11px;
5676
- vertical-align: -1px;
5677
- margin-right: 4px;
5678
- color: var(--ck-muted);
5679
5645
  }
5680
- .ck-trust-line__state {
5681
- color: var(--ck-text);
5682
- }
5683
- .ck-trust-line__sep {
5684
- color: var(--ck-line-strong);
5685
- }
5686
- .ck-trust-line__counter {
5687
- font-weight: 600;
5646
+ .ck-trust-line__figure {
5688
5647
  color: var(--ck-accent);
5689
- }
5690
- .ck-trust-line__score {
5691
5648
  font-weight: 600;
5692
- color: var(--ck-success);
5693
- }
5694
- .ck-trust-line--early .ck-trust-line__score,
5695
- .ck-trust-line--provisional .ck-trust-line__score {
5696
- color: var(--ck-accent);
5697
- }
5698
- .ck-trust-line__margin {
5699
- color: var(--ck-dim);
5700
- }
5701
- .ck-trust-line__gate {
5702
- font-size: 0.68rem;
5703
- letter-spacing: 0.06em;
5704
- text-transform: uppercase;
5705
- padding: 1px 6px;
5706
- border-radius: 3px;
5707
- border: 1px solid var(--ck-line);
5708
- color: var(--ck-dim);
5709
5649
  }
5710
- .ck-trust-line--firm .ck-trust-line__gate {
5650
+ .ck-trust-line--firm .ck-trust-line__figure {
5711
5651
  color: var(--ck-success);
5712
- border-color: rgba(45, 212, 168, 0.35);
5713
- }
5714
- .ck-trust-line__hint {
5715
- color: var(--ck-dim);
5716
5652
  }
5717
- .ck-trust-line__link {
5653
+ .ck-trust-line__borderline--ok { color: var(--ck-dim); }
5654
+ .ck-trust-line__borderline--warning { color: var(--ck-warning); }
5655
+ .ck-trust-line__borderline--danger { color: var(--ck-danger); }
5656
+
5657
+ .ck-cal-link {
5658
+ font-family: var(--ck-mono);
5659
+ font-size: 0.78rem;
5660
+ font-weight: 500;
5661
+ letter-spacing: 0.02em;
5718
5662
  color: var(--ck-accent);
5719
5663
  text-decoration: none;
5720
- font-weight: 500;
5721
5664
  white-space: nowrap;
5722
5665
  }
5723
- .ck-trust-line__link:hover,
5724
- .ck-trust-line__link:focus-visible {
5666
+ .ck-cal-link:hover,
5667
+ .ck-cal-link:focus-visible {
5725
5668
  color: var(--ck-accent-hover);
5726
5669
  }
5727
- .ck-trust-line__borderline--ok { color: var(--ck-dim); }
5728
- .ck-trust-line__borderline--warning { color: var(--ck-warning); }
5729
- .ck-trust-line__borderline--danger { color: var(--ck-danger); }
5730
-
5731
- @media (max-width: 640px) {
5732
- .ck-trust-panel {
5733
- display: flex;
5734
- width: 100%;
5735
- box-sizing: border-box;
5736
- }
5737
- .ck-trust-panel__body {
5738
- flex-direction: column;
5739
- align-items: flex-start;
5740
- gap: 4px;
5741
- }
5742
- .ck-trust-panel__hint {
5743
- line-height: 1.4;
5744
- white-space: normal;
5745
- }
5746
- }
5747
-
5748
- .ck-disagreements-table td .ck-meta-copy {
5749
- font-size: 0.78rem;
5670
+ .ck-cal-link--button {
5671
+ background: none;
5672
+ border: 0;
5673
+ padding: 0;
5674
+ cursor: pointer;
5750
5675
  }
5751
- .ck-few-shot-list {
5752
- list-style: decimal;
5753
- padding-left: 1.4rem;
5754
- margin: 0;
5676
+ .ck-cal-foot {
5677
+ margin-top: 14px;
5678
+ padding-top: 12px;
5679
+ border-top: 1px solid var(--ck-line);
5755
5680
  display: flex;
5756
- flex-direction: column;
5757
- gap: 12px;
5681
+ align-items: baseline;
5682
+ justify-content: space-between;
5683
+ gap: 12px 20px;
5684
+ flex-wrap: wrap;
5758
5685
  }
5759
- .ck-few-shot-item {
5760
- padding: 10px 12px;
5761
- background: var(--ck-surface-soft);
5762
- border: 1px solid var(--ck-line);
5763
- border-radius: 6px;
5686
+ .ck-cal-foot__note {
5687
+ color: var(--ck-dim);
5688
+ font-size: 0.86rem;
5764
5689
  }
5765
- .ck-few-shot-item__scores {
5766
- display: flex;
5767
- align-items: center;
5768
- gap: 8px;
5769
- font-family: var(--ck-mono);
5770
- font-size: 0.75rem;
5771
- letter-spacing: 0.04em;
5772
- text-transform: uppercase;
5690
+ .ck-cal-foot__form {
5691
+ display: inline;
5773
5692
  }
5774
5693
 
5775
5694
  .ck-draft-pending {
@@ -5777,47 +5696,6 @@ a.tag-mark {
5777
5696
  background: linear-gradient(180deg, var(--ck-accent-soft), var(--ck-surface));
5778
5697
  }
5779
5698
 
5780
- .ck-suggestion-banner {
5781
- display: inline-flex;
5782
- align-items: center;
5783
- gap: 10px;
5784
- margin-top: 10px;
5785
- padding: 8px 14px;
5786
- background: var(--ck-accent-soft);
5787
- border: 1px solid rgba(6, 182, 212, 0.35);
5788
- border-radius: 6px;
5789
- color: var(--ck-accent);
5790
- font-family: var(--ck-mono);
5791
- font-size: 0.82rem;
5792
- text-decoration: none;
5793
- }
5794
- .ck-suggestion-banner:hover,
5795
- .ck-suggestion-banner:focus-visible {
5796
- border-color: var(--ck-accent);
5797
- }
5798
-
5799
- .ck-metrics-table__trust {
5800
- margin: 4px 0 0;
5801
- font-family: var(--ck-mono);
5802
- font-size: 0.72rem;
5803
- letter-spacing: 0.03em;
5804
- color: var(--ck-dim);
5805
- }
5806
- .ck-metrics-table__trust-label {
5807
- text-transform: uppercase;
5808
- letter-spacing: 0.08em;
5809
- color: var(--ck-muted);
5810
- margin-right: 4px;
5811
- }
5812
- .ck-metrics-table__trust-state {
5813
- color: var(--ck-text);
5814
- }
5815
- .ck-metrics-table__trust-rate {
5816
- font-weight: 600;
5817
- color: var(--ck-success);
5818
- margin-right: 6px;
5819
- }
5820
-
5821
5699
  .ck-calibration__error {
5822
5700
  margin: 8px 0 0;
5823
5701
  padding: 8px 10px;
@@ -5883,30 +5761,9 @@ a.tag-mark {
5883
5761
  0% { background: var(--ck-success); border-color: var(--ck-success); }
5884
5762
  }
5885
5763
 
5886
- .ck-disagreement-list {
5887
- list-style: none;
5888
- padding: 0;
5889
- margin: 12px 0 0;
5890
- display: flex;
5891
- flex-direction: column;
5892
- gap: 12px;
5893
- }
5894
- .ck-disagreement {
5895
- padding: 14px;
5896
- background: var(--ck-surface-soft);
5897
- border: 1px solid var(--ck-line);
5898
- border-radius: 6px;
5899
- display: flex;
5900
- flex-direction: column;
5901
- gap: 8px;
5902
- }
5903
- .ck-disagreement--remembered {
5904
- border-color: rgba(45, 212, 168, 0.35);
5905
- background: rgba(45, 212, 168, 0.04);
5906
- }
5907
-
5908
5764
  .ck-suggestion-banner {
5909
5765
  margin: 0 0 1rem;
5766
+ max-width: 36rem;
5910
5767
  padding: 0.9rem 1rem;
5911
5768
  border: 1px solid rgba(56, 189, 248, 0.35);
5912
5769
  background: rgba(56, 189, 248, 0.05);
@@ -5917,6 +5774,10 @@ a.tag-mark {
5917
5774
  gap: 1rem;
5918
5775
  flex-wrap: wrap;
5919
5776
  }
5777
+ .ck-suggestion-banner__actions .ck-icon-btn {
5778
+ width: 2rem;
5779
+ height: 2rem;
5780
+ }
5920
5781
  .ck-suggestion-banner__body { min-width: 0; flex: 1 1 320px; }
5921
5782
  .ck-suggestion-banner__actions {
5922
5783
  display: inline-flex;
@@ -5965,54 +5826,6 @@ a.tag-mark {
5965
5826
  color: var(--ck-success);
5966
5827
  border-color: rgba(45, 212, 168, 0.45);
5967
5828
  }
5968
- .ck-disagreement__action {
5969
- display: inline-flex;
5970
- align-items: center;
5971
- gap: 8px;
5972
- flex-wrap: wrap;
5973
- }
5974
- .ck-disagreement__head {
5975
- display: flex;
5976
- align-items: center;
5977
- justify-content: space-between;
5978
- gap: 12px;
5979
- flex-wrap: wrap;
5980
- }
5981
- .ck-disagreement__scores {
5982
- display: inline-flex;
5983
- align-items: center;
5984
- gap: 8px;
5985
- flex-wrap: wrap;
5986
- }
5987
- .ck-disagreement__scores-label {
5988
- font-family: var(--ck-mono);
5989
- font-size: 0.7rem;
5990
- letter-spacing: 0.08em;
5991
- text-transform: uppercase;
5992
- color: var(--ck-dim);
5993
- }
5994
- .ck-disagreement__scores-arrow {
5995
- color: var(--ck-dim);
5996
- }
5997
- .ck-disagreement__note {
5998
- margin: 0;
5999
- color: var(--ck-text);
6000
- font-size: 0.92rem;
6001
- line-height: 1.45;
6002
- }
6003
- .ck-disagreement__source {
6004
- margin: 0;
6005
- font-size: 0.78rem;
6006
- }
6007
- .ck-disagreement__source-link {
6008
- color: var(--ck-accent);
6009
- text-decoration: none;
6010
- font-weight: 500;
6011
- }
6012
- .ck-disagreement__source-link:hover,
6013
- .ck-disagreement__source-link:focus-visible {
6014
- color: var(--ck-accent-hover);
6015
- }
6016
5829
 
6017
5830
  .ck-starter-row {
6018
5831
  margin-top: 2rem;
@@ -2,7 +2,7 @@ module CompletionKit
2
2
  module Api
3
3
  module V1
4
4
  class MetricsController < BaseController
5
- before_action :set_metric, only: [:show, :update, :destroy, :suggest_variants, :add_few_shot, :remove_few_shot]
5
+ before_action :set_metric, only: [:show, :update, :destroy, :suggest_variants]
6
6
 
7
7
  def index
8
8
  scope = Metric.includes(:tags)
@@ -54,33 +54,6 @@ module CompletionKit
54
54
  render json: versions, status: :created
55
55
  end
56
56
 
57
- def add_few_shot
58
- calibration = Calibration.where(metric_id: @metric.id, verdict: "disagree").find(params[:calibration_id])
59
- review = calibration.response.reviews.find_by(metric_id: @metric.id)
60
- examples = Array(@metric.few_shot_examples)
61
- examples << {
62
- "input" => calibration.response.input_data.to_s.truncate(2000),
63
- "response" => calibration.response.response_text.to_s.truncate(2000),
64
- "judge_score" => review&.ai_score&.to_f,
65
- "judge_feedback" => review&.ai_feedback.to_s.truncate(1000),
66
- "human_score" => calibration.corrected_score&.to_f,
67
- "human_note" => calibration.note.to_s.truncate(1000),
68
- "calibration_id" => calibration.id,
69
- "added_at" => Time.current.utc.iso8601
70
- }
71
- @metric.update!(few_shot_examples: examples)
72
- render json: @metric.reload
73
- rescue ActiveRecord::RecordNotFound
74
- render_error("Calibration not found or not a disagree on this metric.", status: :not_found)
75
- end
76
-
77
- def remove_few_shot
78
- cal_id = params[:calibration_id].to_i
79
- remaining = Array(@metric.few_shot_examples).reject { |fs| fs["calibration_id"].to_i == cal_id }
80
- @metric.update!(few_shot_examples: remaining)
81
- render json: @metric.reload
82
- end
83
-
84
57
  private
85
58
 
86
59
  def set_metric