from blueprints.function_calling_blueprint import Pipeline as FunctionCallingBlueprint class Pipeline(FunctionCallingBlueprint): class Valves(FunctionCallingBlueprint.Valves): # Add your custom valves here pass class Tools: def __init__(self, pipeline) -> None: self.pipeline = pipeline # Add your custom tools using pure Python code here, make sure to add type hints # Use Sphinx-style docstrings to document your tools, they will be used for generating tools specifications # Please refer to function_calling_filter_pipeline.py for an example pass def __init__(self): super().__init__() # Optionally, you can set the id and name of the pipeline. # Best practice is to not specify the id so that it can be automatically inferred from the filename, so that users can install multiple versions of the same pipeline. # The identifier must be unique across all pipelines. # The identifier must be an alphanumeric string that can include underscores or hyphens. It cannot contain spaces, special characters, slashes, or backslashes. # self.id = "my_tools_pipeline" self.name = "My Tools Pipeline" self.valves = self.Valves( **{ **self.valves.model_dump(), "pipelines": ["*"], # Connect to all pipelines }, ) self.tools = self.Tools(self)