Skip to content
Merged
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
16 changes: 8 additions & 8 deletions src/graphon/model_runtime/callbacks/base_callback.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def on_before_invoke(
stop: Sequence[str] | None = None,
stream: bool = True,
user: str | None = None,
invocation_context: Mapping[str, object] | None = None,
request_metadata: Mapping[str, object] | None = None,
) -> None:
"""Before invoke callback

Expand All @@ -50,7 +50,7 @@ def on_before_invoke(
:param stop: stop words
:param stream: is stream response
:param user: optional end-user identifier for the invocation
:param invocation_context: opaque request metadata for the current invocation
:param request_metadata: opaque metadata for the current request
"""
raise NotImplementedError

Expand All @@ -67,7 +67,7 @@ def on_new_chunk(
stop: Sequence[str] | None = None,
stream: bool = True,
user: str | None = None,
invocation_context: Mapping[str, object] | None = None,
request_metadata: Mapping[str, object] | None = None,
) -> None:
"""On new chunk callback

Expand All @@ -81,7 +81,7 @@ def on_new_chunk(
:param stop: stop words
:param stream: is stream response
:param user: optional end-user identifier for the invocation
:param invocation_context: opaque request metadata for the current invocation
:param request_metadata: opaque metadata for the current request
"""
raise NotImplementedError

Expand All @@ -98,7 +98,7 @@ def on_after_invoke(
stop: Sequence[str] | None = None,
stream: bool = True,
user: str | None = None,
invocation_context: Mapping[str, object] | None = None,
request_metadata: Mapping[str, object] | None = None,
) -> None:
"""After invoke callback

Expand All @@ -112,7 +112,7 @@ def on_after_invoke(
:param stop: stop words
:param stream: is stream response
:param user: optional end-user identifier for the invocation
:param invocation_context: opaque request metadata for the current invocation
:param request_metadata: opaque metadata for the current request
"""
raise NotImplementedError

Expand All @@ -129,7 +129,7 @@ def on_invoke_error(
stop: Sequence[str] | None = None,
stream: bool = True,
user: str | None = None,
invocation_context: Mapping[str, object] | None = None,
request_metadata: Mapping[str, object] | None = None,
) -> None:
"""Invoke error callback

Expand All @@ -143,7 +143,7 @@ def on_invoke_error(
:param stop: stop words
:param stream: is stream response
:param user: optional end-user identifier for the invocation
:param invocation_context: opaque request metadata for the current invocation
:param request_metadata: opaque metadata for the current request
"""
raise NotImplementedError

Expand Down
26 changes: 13 additions & 13 deletions src/graphon/model_runtime/callbacks/logging_callback.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def on_before_invoke(
stop: Sequence[str] | None = None,
stream: bool = True,
user: str | None = None,
invocation_context: Mapping[str, object] | None = None,
request_metadata: Mapping[str, object] | None = None,
) -> None:
"""Before invoke callback

Expand All @@ -41,7 +41,7 @@ def on_before_invoke(
:param stop: stop words
:param stream: is stream response
:param user: optional end-user identifier for the invocation
:param invocation_context: opaque request metadata for the current invocation
:param request_metadata: opaque metadata for the current request
"""
self.print_text("\n[on_llm_before_invoke]\n", color="blue")
self.print_text(f"Model: {model}\n", color="blue")
Expand All @@ -61,9 +61,9 @@ def on_before_invoke(
if user:
self.print_text(f"User: {user}\n", color="blue")

if invocation_context:
if request_metadata:
self.print_text(
f"Invocation context: {dict(invocation_context)}\n",
f"Request metadata: {dict(request_metadata)}\n",
color="blue",
)

Expand Down Expand Up @@ -91,7 +91,7 @@ def on_new_chunk(
stop: Sequence[str] | None = None,
stream: bool = True,
user: str | None = None,
invocation_context: Mapping[str, object] | None = None,
request_metadata: Mapping[str, object] | None = None,
) -> None:
"""On new chunk callback

Expand All @@ -104,9 +104,9 @@ def on_new_chunk(
:param tools: tools for tool calling
:param stop: stop words
:param stream: is stream response
:param invocation_context: opaque request metadata for the current invocation
:param request_metadata: opaque metadata for the current request
"""
_ = user, invocation_context
_ = user, request_metadata
if isinstance(chunk.delta.message.content, str):
sys.stdout.write(chunk.delta.message.content)
sys.stdout.flush()
Expand All @@ -124,7 +124,7 @@ def on_after_invoke(
stop: Sequence[str] | None = None,
stream: bool = True,
user: str | None = None,
invocation_context: Mapping[str, object] | None = None,
request_metadata: Mapping[str, object] | None = None,
) -> None:
"""After invoke callback

Expand All @@ -137,9 +137,9 @@ def on_after_invoke(
:param tools: tools for tool calling
:param stop: stop words
:param stream: is stream response
:param invocation_context: opaque request metadata for the current invocation
:param request_metadata: opaque metadata for the current request
"""
_ = user, invocation_context
_ = user, request_metadata
self.print_text("\n[on_llm_after_invoke]\n", color="yellow")
self.print_text(f"Content: {result.message.content}\n", color="yellow")

Expand Down Expand Up @@ -173,7 +173,7 @@ def on_invoke_error(
stop: Sequence[str] | None = None,
stream: bool = True,
user: str | None = None,
invocation_context: Mapping[str, object] | None = None,
request_metadata: Mapping[str, object] | None = None,
) -> None:
"""Invoke error callback

Expand All @@ -186,8 +186,8 @@ def on_invoke_error(
:param tools: tools for tool calling
:param stop: stop words
:param stream: is stream response
:param invocation_context: opaque request metadata for the current invocation
:param request_metadata: opaque metadata for the current request
"""
_ = user, invocation_context
_ = user, request_metadata
self.print_text("\n[on_llm_invoke_error]\n", color="red")
logger.error("LLM invoke failed: %s", ex, exc_info=ex)
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,7 @@ def _invoke_llm_via_runtime(
tools: list[PromptMessageTool] | None,
stop: Sequence[str] | None,
stream: bool,
request_metadata: Mapping[str, object] | None,
) -> LLMResult | Generator[LLMResultChunk, None, None]:
return llm_model.model_runtime.invoke_llm(
provider=provider,
Expand All @@ -294,6 +295,7 @@ def _invoke_llm_via_runtime(
tools=tools,
stop=stop,
stream=stream,
request_metadata=request_metadata,
)


Expand All @@ -312,6 +314,8 @@ def invoke(
stop: list[str] | None = None,
stream: bool = True,
callbacks: list[Callback] | None = None,
*,
request_metadata: Mapping[str, object] | None = None,
) -> LLMResult | Generator[LLMResultChunk, None, None]:
"""Invoke the large language model and optionally stream result chunks."""
# validate and filter model parameters
Expand All @@ -334,6 +338,7 @@ def invoke(
tools=tools,
stop=stop,
stream=stream,
request_metadata=request_metadata,
callbacks=callbacks,
)

Expand All @@ -350,6 +355,7 @@ def invoke(
tools=tools,
stop=stop,
stream=stream,
request_metadata=request_metadata,
)

if not stream:
Expand All @@ -368,6 +374,7 @@ def invoke(
tools=tools,
stop=stop,
stream=stream,
request_metadata=request_metadata,
callbacks=callbacks,
)

Expand All @@ -383,6 +390,7 @@ def invoke(
tools=tools,
stop=stop,
stream=stream,
request_metadata=request_metadata,
callbacks=callbacks,
)
if isinstance(result, LLMResult):
Expand All @@ -395,6 +403,7 @@ def invoke(
tools=tools,
stop=stop,
stream=stream,
request_metadata=request_metadata,
callbacks=callbacks,
)
# Following https://github.com/langgenius/dify/issues/17799,
Expand All @@ -415,7 +424,7 @@ def _invoke_result_generator(
tools: list[PromptMessageTool] | None = None,
stop: Sequence[str] | None = None,
stream: bool = True,
invocation_context: Mapping[str, object] | None = None,
request_metadata: Mapping[str, object] | None = None,
callbacks: list[Callback] | None = None,
) -> Generator[LLMResultChunk, None, None]:
"""Stream runtime result chunks through callbacks and bookkeeping hooks."""
Expand All @@ -433,7 +442,7 @@ def _invoke_result_generator(
tools=tools,
stop=stop,
stream=stream,
invocation_context=invocation_context,
request_metadata=request_metadata,
callbacks=callbacks,
)
except Exception as e:
Expand All @@ -450,7 +459,7 @@ def _invoke_result_generator(
tools=tools,
stop=stop,
stream=stream,
invocation_context=invocation_context,
request_metadata=request_metadata,
callbacks=callbacks,
)

Expand All @@ -466,7 +475,7 @@ def _stream_invoke_result_chunks(
tools: list[PromptMessageTool] | None,
stop: Sequence[str] | None,
stream: bool,
invocation_context: Mapping[str, object] | None,
request_metadata: Mapping[str, object] | None,
callbacks: list[Callback],
) -> Generator[LLMResultChunk, None, None]:
for chunk in result:
Expand All @@ -486,7 +495,7 @@ def _stream_invoke_result_chunks(
tools=tools,
stop=stop,
stream=stream,
invocation_context=invocation_context,
request_metadata=request_metadata,
callbacks=callbacks,
)
accumulator.consume(chunk)
Expand Down Expand Up @@ -558,7 +567,7 @@ def _trigger_before_invoke_callbacks(
tools: list[PromptMessageTool] | None = None,
stop: Sequence[str] | None = None,
stream: bool = True,
invocation_context: Mapping[str, object] | None = None,
request_metadata: Mapping[str, object] | None = None,
callbacks: list[Callback] | None = None,
) -> None:
"""Trigger before invoke callbacks
Expand All @@ -570,7 +579,7 @@ def _trigger_before_invoke_callbacks(
:param tools: tools for tool calling
:param stop: stop words
:param stream: is stream response
:param invocation_context: opaque request metadata for the current invocation
:param request_metadata: opaque metadata for the current request
:param callbacks: callbacks
"""
_run_callbacks(
Expand All @@ -585,7 +594,7 @@ def _trigger_before_invoke_callbacks(
tools=tools,
stop=stop,
stream=stream,
invocation_context=invocation_context,
request_metadata=request_metadata,
),
)

Expand All @@ -599,7 +608,7 @@ def _trigger_new_chunk_callbacks(
tools: list[PromptMessageTool] | None = None,
stop: Sequence[str] | None = None,
stream: bool = True,
invocation_context: Mapping[str, object] | None = None,
request_metadata: Mapping[str, object] | None = None,
callbacks: list[Callback] | None = None,
) -> None:
"""Trigger new chunk callbacks
Expand All @@ -612,7 +621,7 @@ def _trigger_new_chunk_callbacks(
:param tools: tools for tool calling
:param stop: stop words
:param stream: is stream response
:param invocation_context: opaque request metadata for the current invocation
:param request_metadata: opaque metadata for the current request
"""
_run_callbacks(
callbacks,
Expand All @@ -627,7 +636,7 @@ def _trigger_new_chunk_callbacks(
tools=tools,
stop=stop,
stream=stream,
invocation_context=invocation_context,
request_metadata=request_metadata,
),
)

Expand All @@ -641,7 +650,7 @@ def _trigger_after_invoke_callbacks(
tools: list[PromptMessageTool] | None = None,
stop: Sequence[str] | None = None,
stream: bool = True,
invocation_context: Mapping[str, object] | None = None,
request_metadata: Mapping[str, object] | None = None,
callbacks: list[Callback] | None = None,
) -> None:
"""Trigger after invoke callbacks
Expand All @@ -654,7 +663,7 @@ def _trigger_after_invoke_callbacks(
:param tools: tools for tool calling
:param stop: stop words
:param stream: is stream response
:param invocation_context: opaque request metadata for the current invocation
:param request_metadata: opaque metadata for the current request
:param callbacks: callbacks
"""
_run_callbacks(
Expand All @@ -670,7 +679,7 @@ def _trigger_after_invoke_callbacks(
tools=tools,
stop=stop,
stream=stream,
invocation_context=invocation_context,
request_metadata=request_metadata,
),
)

Expand All @@ -684,7 +693,7 @@ def _trigger_invoke_error_callbacks(
tools: list[PromptMessageTool] | None = None,
stop: Sequence[str] | None = None,
stream: bool = True,
invocation_context: Mapping[str, object] | None = None,
request_metadata: Mapping[str, object] | None = None,
callbacks: list[Callback] | None = None,
) -> None:
"""Trigger invoke error callbacks
Expand All @@ -697,7 +706,7 @@ def _trigger_invoke_error_callbacks(
:param tools: tools for tool calling
:param stop: stop words
:param stream: is stream response
:param invocation_context: opaque request metadata for the current invocation
:param request_metadata: opaque metadata for the current request
:param callbacks: callbacks
"""
_run_callbacks(
Expand All @@ -713,6 +722,6 @@ def _trigger_invoke_error_callbacks(
tools=tools,
stop=stop,
stream=stream,
invocation_context=invocation_context,
request_metadata=request_metadata,
),
)
Loading
Loading