export function updateQueryFromInferenceParams()

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;
}