mirror of
https://github.com/hanzoai/papers.git
synced 2026-10-30 14:58:42 +00:00
85 lines
2.4 KiB
TeX
85 lines
2.4 KiB
TeX
\section{Production Deployment}
|
|
|
|
\label{sec:production}
|
|
|
|
\subsection{Infrastructure}
|
|
|
|
Hanzo Search is deployed on Kubernetes with the following components:
|
|
|
|
\begin{itemize}[leftmargin=1.1em]
|
|
\item \textbf{Search API}: 6 pods, auto-scaling to 24, handling query processing and orchestration.
|
|
\item \textbf{Retrieval cluster}: 24 nodes (Elasticsearch + HNSW index), 8TB RAM, 50M documents.
|
|
\item \textbf{Re-ranking service}: 4 GPU pods (A100), batch processing top-100 candidates.
|
|
\item \textbf{LLM Gateway}: Hanzo LLM Gateway with failover across providers.
|
|
\item \textbf{Frontend}: Next.js application with Supabase for user data and analytics.
|
|
\end{itemize}
|
|
|
|
\subsection{Query Analysis (12 Months)}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\begin{tabular}{lr}
|
|
\toprule
|
|
\textbf{Metric} & \textbf{Value} \\
|
|
\midrule
|
|
Total queries & 2,147,893 \\
|
|
Unique users & 312,456 \\
|
|
Avg. queries/user/day & 3.2 \\
|
|
Avg. answer length & 487 tokens \\
|
|
Avg. sources cited & 4.7 \\
|
|
Citation click rate & 23.1\% \\
|
|
Regeneration rate & 8.4\% \\
|
|
P50 latency (e2e) & 1.8s \\
|
|
P99 latency (e2e) & 4.2s \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\caption{Production statistics (12 months).}
|
|
\label{tab:prod_stats}
|
|
\end{table}
|
|
|
|
\subsection{Query Category Distribution}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\small
|
|
\begin{tabular}{lcc}
|
|
\toprule
|
|
\textbf{Category} & \textbf{Volume} & \textbf{Satisfaction} \\
|
|
\midrule
|
|
Technical/programming & 28.4\% & 4.5/5 \\
|
|
Research/academic & 19.2\% & 4.3/5 \\
|
|
Product comparison & 14.7\% & 4.4/5 \\
|
|
Current events & 12.1\% & 4.0/5 \\
|
|
How-to/tutorial & 11.3\% & 4.6/5 \\
|
|
General knowledge & 8.9\% & 4.2/5 \\
|
|
Other & 5.4\% & 3.9/5 \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\caption{Query category distribution and satisfaction in production.}
|
|
\label{tab:query_dist}
|
|
\end{table}
|
|
|
|
\subsection{Error Analysis}
|
|
|
|
We manually analyzed 500 low-rated responses to identify failure modes:
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\small
|
|
\begin{tabular}{lcc}
|
|
\toprule
|
|
\textbf{Failure Mode} & \textbf{Frequency} & \textbf{Mitigation} \\
|
|
\midrule
|
|
Retrieval miss & 34\% & Better query expansion \\
|
|
Outdated information & 22\% & Freshness re-ranking \\
|
|
Hallucinated claim & 18\% & Stricter NLI threshold \\
|
|
Wrong UI component & 12\% & Intent classifier tuning \\
|
|
Incomplete answer & 9\% & Longer generation budget \\
|
|
Formatting error & 5\% & UI component validation \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\caption{Error analysis of low-rated responses.}
|
|
\label{tab:errors}
|
|
\end{table}
|
|
|