chore: import upstream snapshot with attribution
CodeQL / Analyze (python) (push) Has been cancelled
Update Platform Components Table / update (push) Has been cancelled
Docker image release / Build base image (push) Has been cancelled
Sync docs with Docusaurus / sync (push) Has been cancelled
Tests / Check if changed (push) Has been cancelled
Tests / format (push) Has been cancelled
Tests / check-imports (push) Has been cancelled
Tests / Unit / macos-latest (push) Has been cancelled
Tests / Unit / ubuntu-latest (push) Has been cancelled
Tests / Unit / windows-latest (push) Has been cancelled
Tests / mypy (push) Has been cancelled
Tests / Integration / ubuntu-latest (push) Has been cancelled
Tests / Integration / macos-latest (push) Has been cancelled
Tests / Integration / windows-latest (push) Has been cancelled
Tests / notify-slack-on-failure (push) Has been cancelled
Tests / Mark tests as completed (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Update Platform Components Table / update (push) Has been cancelled
Docker image release / Build base image (push) Has been cancelled
Sync docs with Docusaurus / sync (push) Has been cancelled
Tests / Check if changed (push) Has been cancelled
Tests / format (push) Has been cancelled
Tests / check-imports (push) Has been cancelled
Tests / Unit / macos-latest (push) Has been cancelled
Tests / Unit / ubuntu-latest (push) Has been cancelled
Tests / Unit / windows-latest (push) Has been cancelled
Tests / mypy (push) Has been cancelled
Tests / Integration / ubuntu-latest (push) Has been cancelled
Tests / Integration / macos-latest (push) Has been cancelled
Tests / Integration / windows-latest (push) Has been cancelled
Tests / notify-slack-on-failure (push) Has been cancelled
Tests / Mark tests as completed (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import logging
|
||||
|
||||
import haystack.logging as haystack_logging
|
||||
from haystack.core.component import component
|
||||
|
||||
logger = haystack_logging.getLogger(__name__)
|
||||
|
||||
|
||||
@component
|
||||
class Greet:
|
||||
"""
|
||||
Logs a greeting message without affecting the value passing on the connection.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self, message: str = "\nGreeting component says: Hi! The value is {value}\n", log_level: str = "INFO"
|
||||
) -> None:
|
||||
"""
|
||||
Class constructor
|
||||
|
||||
:param message: the message to log. Can use `{value}` to embed the value.
|
||||
:param log_level: the level to log at.
|
||||
"""
|
||||
if log_level and not getattr(logging, log_level):
|
||||
raise ValueError(f"This log level does not exist: {log_level}")
|
||||
self.message = message
|
||||
self.log_level = log_level
|
||||
|
||||
@component.output_types(value=int)
|
||||
def run(self, value: int, message: str | None = None, log_level: str | None = None):
|
||||
"""
|
||||
Logs a greeting message without affecting the value passing on the connection.
|
||||
"""
|
||||
if not message:
|
||||
message = self.message
|
||||
if not log_level:
|
||||
log_level = self.log_level
|
||||
|
||||
level = getattr(logging, log_level, None)
|
||||
if not level:
|
||||
raise ValueError(f"This log level does not exist: {log_level}")
|
||||
|
||||
logger.log(level=level, msg=message.format(value=value))
|
||||
return {"value": value}
|
||||
Reference in New Issue
Block a user