-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
4 / 44 of 4 issues completedLabels
M27Milestone 27: Structured Output + Typed ToolsMilestone 27: Structured Output + Typed ToolsepicMilestone-level tracking issueMilestone-level tracking issuellmLLM provider relatedLLM provider related
Description
Problem
All LLM responses are raw String. Parsing structured data is ad-hoc (serde_json::from_str on fenced blocks). No way to force JSON schema compliance.
Solution
Add chat_typed<T>() to LlmProvider trait + provider-level response_format support.
Issues
- feat(llm): add chat_typed<T> method to LlmProvider trait #456 feat(llm): add
chat_typed<T>method to LlmProvider traitsize/M - feat(llm): OpenAI structured output via response_format #457 feat(llm): OpenAI structured output via
response_formatsize/S - feat(llm): Claude structured output via forced tool use #458 feat(llm): Claude structured output via forced tool use
size/S - feat(llm): Extractor utility for typed data extraction #459 feat(llm): Extractor utility for typed data extraction
size/S
Verification
Write a test that calls provider.chat_typed::<MyStruct>(messages) and gets a typed result.
Reactions are currently unavailable
Sub-issues
Metadata
Metadata
Assignees
Labels
M27Milestone 27: Structured Output + Typed ToolsMilestone 27: Structured Output + Typed ToolsepicMilestone-level tracking issueMilestone-level tracking issuellmLLM provider relatedLLM provider related