Adapters
Adapters handle the translation between Signatures and LLM-specific message formats.
Overview
The ChatAdapter is responsible for:
- Converting signatures into system prompts
- Formatting inputs into user messages
- Parsing LLM completions into structured outputs
- Converting Pydantic models to tool schemas
Usage
Adapters are typically used internally by modules, but can be used directly:
# Format instructions
instructions = adapter.format_instructions(signature)
# Format inputs
formatted = adapter.format_inputs(signature, {"question": "What is AI?"})
# Parse outputs
outputs = adapter.parse_outputs(signature, completion_text)
Custom Adapters
You can create custom adapters by subclassing ChatAdapter:
class CustomAdapter(ChatAdapter):
def format_instructions(self, signature):
# Custom instruction formatting
return super().format_instructions(signature) + "\nBe creative!"
See API: Adapters for detailed documentation.