MCPcopy
hub / github.com/promptfoo/promptfoo / callProviderForRunEval

Function callProviderForRunEval

src/evaluator.ts:828–885  ·  view source on GitHub ↗
({
  abortSignal,
  evalId,
  filters,
  promptForRender,
  provider,
  rateLimitRegistry,
  renderedPrompt,
  repeatIndex,
  test,
  traceContext,
  vars,
}: Pick<
  RunEvalOptions,
  | 'abortSignal'
  | 'evalId'
  | 'nunjucksFilters'
  | 'provider'
  | 'rateLimitRegistry'
  | 'repeatIndex'
  | 'test'
> & {
  filters: RunEvalOptions['nunjucksFilters'];
  promptForRender: Prompt;
  renderedPrompt: string;
  traceContext: Awaited<ReturnType<typeof generateTraceContextIfNeeded>>;
  vars: Vars;
})

Source from the content-addressed store, hash-verified

826}
827
828async function callProviderForRunEval({
829 abortSignal,
830 evalId,
831 filters,
832 promptForRender,
833 provider,
834 rateLimitRegistry,
835 renderedPrompt,
836 repeatIndex,
837 test,
838 traceContext,
839 vars,
840}: Pick<
841 RunEvalOptions,
842 | 'abortSignal'
843 | 'evalId'
844 | 'nunjucksFilters'
845 | 'provider'
846 | 'rateLimitRegistry'
847 | 'repeatIndex'
848 | 'test'
849> & {
850 filters: RunEvalOptions['nunjucksFilters'];
851 promptForRender: Prompt;
852 renderedPrompt: string;
853 traceContext: Awaited<ReturnType<typeof generateTraceContextIfNeeded>>;
854 vars: Vars;
855}): Promise<ProviderCallResult> {
856 const startTime = Date.now();
857 const response = test.providerOutput
858 ? {
859 output: test.providerOutput,
860 tokenUsage: createEmptyTokenUsage(),
861 cost: 0,
862 cached: false,
863 }
864 : await callActiveProvider({
865 abortSignal,
866 evalId,
867 filters,
868 promptForRender,
869 provider,
870 rateLimitRegistry,
871 renderedPrompt,
872 repeatIndex,
873 test,
874 traceContext,
875 vars,
876 });
877
878 sanitizeResponseMetadata(response);
879
880 return {
881 latencyMs: Date.now() - startTime,
882 response,
883 traceContext,
884 };
885}

Callers 1

runEvalInternalFunction · 0.85

Calls 3

createEmptyTokenUsageFunction · 0.90
callActiveProviderFunction · 0.85
sanitizeResponseMetadataFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…