in neuron_viewer/src/TransformerDebugger/utils/urlParams.ts [173:219]
export function updateQueryFromInferenceParams(
query: URLSearchParams,
commonParams: CommonInferenceParams,
leftPromptParams: PromptInferenceParams,
rightPromptParams: PromptInferenceParams | null
): URLSearchParams {
// Common inference params
setOrDelete(query, QueryParams.componentTypeForMlp, commonParams.componentTypeForMlp);
setOrDelete(query, QueryParams.componentTypeForAttention, commonParams.componentTypeForAttention);
setOrDelete(query, QueryParams.topAndBottomKForNodeTable, commonParams.topAndBottomKForNodeTable);
setOrDelete(
query,
QueryParams.hideEarlyLayersWhenAblating,
commonParams.hideEarlyLayersWhenAblating
);
// Left prompt params
setOrDelete(query, QueryParams.prompt, leftPromptParams.prompt);
setOrDelete(query, QueryParams.targetTokens, leftPromptParams.targetTokens);
setOrDelete(query, QueryParams.distractorTokens, leftPromptParams.distractorTokens);
setOrDelete(query, QueryParams.nodeAblations, leftPromptParams.nodeAblations);
setOrDelete(query, QueryParams.upstreamNodeToTrace, leftPromptParams.upstreamNodeToTrace);
setOrDelete(query, QueryParams.downstreamNodeToTrace, leftPromptParams.downstreamNodeToTrace);
// Right prompt params (if they exist)
if (rightPromptParams) {
setOrDelete(query, QueryParams.rightPrompt, rightPromptParams.prompt);
setOrDelete(query, QueryParams.rightTargetTokens, rightPromptParams.targetTokens);
setOrDelete(query, QueryParams.rightDistractorTokens, rightPromptParams.distractorTokens);
setOrDelete(query, QueryParams.rightNodeAblations, rightPromptParams.nodeAblations);
setOrDelete(query, QueryParams.rightUpstreamNodeToTrace, rightPromptParams.upstreamNodeToTrace);
setOrDelete(
query,
QueryParams.rightDownstreamNodeToTrace,
rightPromptParams.downstreamNodeToTrace
);
} else {
query.delete(QueryParams.rightPrompt.key);
query.delete(QueryParams.rightTargetTokens.key);
query.delete(QueryParams.rightDistractorTokens.key);
query.delete(QueryParams.rightNodeAblations.key);
query.delete(QueryParams.rightUpstreamNodeToTrace.key);
query.delete(QueryParams.rightDownstreamNodeToTrace.key);
}
return query;
}