Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions backend/core/services/completion_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,13 +111,19 @@ async def prepare(
use_fallback: FallbackOption,
completion_id: UUID,
conversation_id: str | None,
stream: bool = False,
):
# Add stream information to metadata (only when True)
metadata_with_stream = {**metadata}
if stream:
metadata_with_stream["stream"] = True

runner = Runner(
tenant_slug=self._tenant.slug,
custom_configs=self._tenant.providers,
agent=agent,
version=version,
metadata=metadata,
metadata=metadata_with_stream,
metric_tags={},
provider_factory=self._provider_factory,
timeout=timeout or 240,
Expand All @@ -127,7 +133,7 @@ async def prepare(
agent_input=input,
start_time=start_time,
completion_id=completion_id,
metadata=metadata,
metadata=metadata_with_stream,
conversation_id=conversation_id,
)
return runner, builder
Expand Down
1 change: 1 addition & 0 deletions backend/core/storage/clickhouse/_models/_ch_completion.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ class ClickhouseCompletion(BaseModel):
# Origin of the run
source: Literal["web", "api", "mcp"] = "api"


# Traces as array of strings
traces: list[_Trace] = Field(default_factory=list)

Expand Down
3 changes: 3 additions & 0 deletions backend/protocol/api/_services/playground_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,8 @@ async def _run_version(
use_cache: CacheUsage | None,
) -> CompletionOutputTuple:
_log.debug("Playground: Running single completion", version_id=version.id, input_id=input.id)
# Playground completions are never streamed, so no need to add stream metadata

cached = await self._completion_runner.check_cache(
completion_id=completion_id,
agent=Agent(id=agent_id, uid=0),
Expand All @@ -217,6 +219,7 @@ async def _run_version(
use_fallback="never",
conversation_id=None,
completion_id=completion_id,
stream=False,
)
completion = await self._completion_runner.run(runner, builder)

Expand Down
8 changes: 7 additions & 1 deletion backend/protocol/api/_services/run/run_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,12 +127,17 @@ async def _cached_response(
prepared_run: PreparedRun,
deprecated_function: bool,
):
# Add stream metadata for cached completions (only when True)
metadata_with_stream = {**prepared_run.metadata}
if stream:
metadata_with_stream["stream"] = True

cached = await self._completion_runner.check_cache(
completion_id=completion_id,
agent=Agent(id=prepared_run.agent_id, uid=0),
version=prepared_run.version,
input=prepared_run.agent_input,
metadata=prepared_run.metadata,
metadata=metadata_with_stream,
use_cache=use_cache,
)
if not cached:
Expand Down Expand Up @@ -248,6 +253,7 @@ async def run(self, request: OpenAIProxyChatCompletionRequest, start_time: float
use_fallback=use_fallback,
conversation_id=request.conversation_id,
completion_id=completion_id,
stream=stream,
)
if stream:
return await self._stream(runner, builder, request)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,6 @@ function CompletionTableVersionCell({ value }: CompletionTableVersionCellProps)
});
}

// Check stream (default: false)
if (obj.stream !== undefined && obj.stream !== false) {
nonDefaultEntries.push({ key: "stream", value: String(obj.stream) });
}

// Check include_usage (default: false)
if (obj.include_usage !== undefined && obj.include_usage !== false) {
nonDefaultEntries.push({
Expand Down
1 change: 0 additions & 1 deletion web/src/components/utils/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -451,7 +451,6 @@ export function getVersionWithDefaults(version: Version): ExtendedVersion {
tools: version.tools !== undefined ? version.tools : [],
use_cache: extendedVersion.use_cache !== undefined ? extendedVersion.use_cache : "auto",
max_tokens: extendedVersion.max_tokens !== undefined ? extendedVersion.max_tokens : "unlimited",
stream: extendedVersion.stream !== undefined ? extendedVersion.stream : false,
include_usage: extendedVersion.include_usage !== undefined ? extendedVersion.include_usage : false,
presence_penalty: extendedVersion.presence_penalty !== undefined ? extendedVersion.presence_penalty : 0,
frequency_penalty: extendedVersion.frequency_penalty !== undefined ? extendedVersion.frequency_penalty : 0,
Expand Down
7 changes: 0 additions & 7 deletions web/src/components/version-details/VersionDetailsView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ export function VersionDetailsView({
"tools",
"use_cache",
"max_tokens",
"stream",
"include_usage",
"presence_penalty",
"frequency_penalty",
Expand Down Expand Up @@ -122,12 +121,6 @@ export function VersionDetailsView({
<span className="text-xs text-gray-900 ">{extendedVersion.max_tokens}</span>
</div>

{/* Stream */}
<div className="flex justify-between items-center">
<span className="text-xs text-gray-600">Stream</span>
<span className="text-xs text-gray-900 ">{extendedVersion.stream ? "true" : "false"}</span>
</div>

{/* Include Usage */}
<div className="flex justify-between items-center">
<span className="text-xs text-gray-600">Include Usage</span>
Expand Down
1 change: 0 additions & 1 deletion web/src/types/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,6 @@ export interface Version {
export interface ExtendedVersion extends Version {
use_cache?: string | boolean;
max_tokens?: number | string;
stream?: boolean;
include_usage?: boolean;
presence_penalty?: number;
frequency_penalty?: number;
Expand Down