'use client'; import { useState } from 'react'; import { client } from '@/lib/api'; import { useBank } from '@/lib/bank-context'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { Checkbox } from '@/components/ui/checkbox'; import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group'; import { Label } from '@/components/ui/label'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table'; import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; import { Info } from 'lucide-react'; import JsonView from 'react18-json-view'; import 'react18-json-view/src/style.css'; type Phase = 'retrieval' | 'rrf' | 'rerank' | 'final' | 'json'; type RetrievalMethod = 'semantic' | 'bm25' | 'graph' | 'temporal'; type FactType = 'world' | 'bank' | 'opinion'; type Budget = 'low' | 'mid' | 'high'; // Helper component for column headers with tooltips const ColumnHeader = ({ label, tooltip }: { label: string; tooltip: string }) => (
Reciprocal Rank Fusion combines rankings from different retrieval methods {pane.factTypes.length > 1 ? ' and fact types' : ''}.
Cross-encoder reranker adjusts scores based on semantic relevance.{' '} Highlight = rank improved vs RRF
Query: "{pane.trace?.query?.query_text || pane.query}"
Please select a memory bank from the dropdown above to use recall debug.
Results from the API (trace data excluded)