mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-06-13 08:15:21 +02:00
feat: add dictionary support for STT boosting in voice agents (#136)
* feat: add dictionary support for voice agents Also fixes #132 * chore: add keyterms in evals
This commit is contained in:
parent
e3a1e0bf07
commit
db75d90535
23 changed files with 9666 additions and 53 deletions
|
|
@ -27,6 +27,7 @@ export async function GET() {
|
|||
duration: data.duration,
|
||||
created_at: data.created_at,
|
||||
event_count: data.events.length,
|
||||
keyterms: data.keyterms,
|
||||
});
|
||||
} catch {
|
||||
console.error(`Failed to parse ${file}`);
|
||||
|
|
|
|||
|
|
@ -93,31 +93,45 @@ export default function Home() {
|
|||
href={`/view/${result.id}`}
|
||||
className="block bg-zinc-900 hover:bg-zinc-800 rounded-lg p-4 transition-colors"
|
||||
>
|
||||
<div className="flex items-center justify-between">
|
||||
<div className="space-y-1">
|
||||
<div className="flex items-center gap-3">
|
||||
<span className="font-medium">{result.audio_file}</span>
|
||||
<span
|
||||
className={`text-xs px-2 py-0.5 rounded ${
|
||||
PROVIDER_COLORS[result.provider] ||
|
||||
"bg-zinc-700 text-zinc-300"
|
||||
}`}
|
||||
>
|
||||
{result.provider}
|
||||
</span>
|
||||
<div className="space-y-2">
|
||||
<div className="flex items-center justify-between">
|
||||
<div className="space-y-1">
|
||||
<div className="flex items-center gap-3">
|
||||
<span className="font-medium">{result.audio_file}</span>
|
||||
<span
|
||||
className={`text-xs px-2 py-0.5 rounded ${
|
||||
PROVIDER_COLORS[result.provider] ||
|
||||
"bg-zinc-700 text-zinc-300"
|
||||
}`}
|
||||
>
|
||||
{result.provider}
|
||||
</span>
|
||||
</div>
|
||||
<div className="text-sm text-zinc-500">
|
||||
{formatDate(result.created_at)}
|
||||
</div>
|
||||
</div>
|
||||
<div className="text-sm text-zinc-500">
|
||||
{formatDate(result.created_at)}
|
||||
<div className="text-right space-y-1">
|
||||
<div className="text-sm text-zinc-400">
|
||||
{formatDuration(result.duration)}
|
||||
</div>
|
||||
<div className="text-xs text-zinc-500">
|
||||
{result.event_count} events
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="text-right space-y-1">
|
||||
<div className="text-sm text-zinc-400">
|
||||
{formatDuration(result.duration)}
|
||||
{result.keyterms && result.keyterms.length > 0 && (
|
||||
<div className="flex flex-wrap gap-1.5">
|
||||
{result.keyterms.map((term, index) => (
|
||||
<span
|
||||
key={index}
|
||||
className="text-xs px-2 py-0.5 rounded bg-amber-500/10 text-amber-300 border border-amber-500/20"
|
||||
>
|
||||
{term}
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
<div className="text-xs text-zinc-500">
|
||||
{result.event_count} events
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</Link>
|
||||
))}
|
||||
|
|
|
|||
|
|
@ -104,7 +104,24 @@ export default function ViewPage() {
|
|||
>
|
||||
{result.provider}
|
||||
</span>
|
||||
{result.keyterms && result.keyterms.length > 0 && (
|
||||
<span className="text-sm px-2 py-0.5 rounded bg-amber-500/20 text-amber-300">
|
||||
{result.keyterms.length} keyterm{result.keyterms.length !== 1 ? "s" : ""}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
{result.keyterms && result.keyterms.length > 0 && (
|
||||
<div className="mt-2 flex flex-wrap gap-2">
|
||||
{result.keyterms.map((term, index) => (
|
||||
<span
|
||||
key={index}
|
||||
className="text-xs px-2 py-1 rounded bg-amber-500/10 text-amber-300 border border-amber-500/30"
|
||||
>
|
||||
{term}
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
{result.transcript && (
|
||||
<p className="text-zinc-400 mt-2 text-sm line-clamp-2">
|
||||
{result.transcript}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ export interface EventCaptureResult {
|
|||
created_at: string;
|
||||
events: CapturedEvent[];
|
||||
transcript: string;
|
||||
keyterms?: string[];
|
||||
}
|
||||
|
||||
export interface ResultSummary {
|
||||
|
|
@ -21,4 +22,5 @@ export interface ResultSummary {
|
|||
duration: number;
|
||||
created_at: string;
|
||||
event_count: number;
|
||||
keyterms?: string[];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue