Tests: Extended Stage 7 benchmarks with latency + token metrics after tuning
This commit is contained in:
@@ -8,6 +8,8 @@ from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
import tiktoken
|
||||
|
||||
from cleveragents.agents.graphs.plan_generation import PlanGenerationGraph
|
||||
from cleveragents.domain.models.core import (
|
||||
Context,
|
||||
@@ -79,9 +81,25 @@ class PlanGenerationSuite:
|
||||
self.plan = _sample_plan()
|
||||
self.contexts = _sample_contexts()
|
||||
|
||||
enc = tiktoken.get_encoding("cl100k_base")
|
||||
self.prompt_tokens = {
|
||||
"analyze": len(enc.encode(self.graph.analyze_prompt.template)),
|
||||
"generate": len(enc.encode(self.graph.generate_prompt.template)),
|
||||
"validate": len(enc.encode(self.graph.validate_prompt.template)),
|
||||
}
|
||||
|
||||
def time_invoke(self) -> None:
|
||||
self.graph.invoke(self.project, self.plan, self.contexts, thread_id="bench")
|
||||
|
||||
def time_stream(self) -> None:
|
||||
for _ in self.graph.stream(self.project, self.plan, self.contexts):
|
||||
pass
|
||||
|
||||
def track_analyze_prompt_tokens(self) -> int:
|
||||
return self.prompt_tokens["analyze"]
|
||||
|
||||
def track_generate_prompt_tokens(self) -> int:
|
||||
return self.prompt_tokens["generate"]
|
||||
|
||||
def track_validate_prompt_tokens(self) -> int:
|
||||
return self.prompt_tokens["validate"]
|
||||
|
||||
Reference in New Issue
Block a user