interfaces: - name: "LLMProtocol" bases: - Protocol methods: - name: "generate" arguments: - name: "prompts" type: "List[str]" is_optional: false has_default: false return_type: "List[str]" docstring: "Generate completions for the prompts." decorators: - name: "abstractmethod" is_abstract: true - name: "model_name" arguments: return_type: "str" docstring: "Get the model name." decorators: - name: "property" - name: "abstractmethod" is_abstract: true properties: docstring: "Protocol for language models." decorators: is_interface: true classes: - name: "BaseChain" bases: - ABC methods: - name: "run" arguments: - name: "inputs" type: "dict" is_optional: false has_default: false return_type: "dict" docstring: "Run the chain on the inputs." decorators: - name: "abstractmethod" is_abstract: true - name: "set_memory" arguments: - name: "memory" type: "dict" is_optional: false has_default: false return_type: "None" docstring: "Set the memory for the chain." decorators: is_abstract: false properties: - name: "memory" type: "Optional[dict]" has_default: true - name: "verbose" type: "bool" has_default: true docstring: "Base class for chains." decorators: is_interface: false - name: "SimpleChain" bases: - BaseChain methods: - name: "__init__" arguments: - name: "llm" type: "LLMProtocol" is_optional: false has_default: false return_type: "None" docstring: "Initialize the chain." decorators: is_abstract: false - name: "run" arguments: - name: "inputs" type: "dict" is_optional: false has_default: false return_type: "dict" docstring: "Execute the chain logic." decorators: is_abstract: false properties: docstring: "A simple implementation of a chain." decorators: is_interface: false