-
Notifications
You must be signed in to change notification settings - Fork 189
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Description
Anthropic recently added structured outputs to their SDK. You can use it via API or SDK.
This feature request is simply to add structured output support for AnthropicLLM alongside OpenAILLM and VertexLLM providers.
Here is how to use Anthropic Structured Ouputs...
SDK
from pydantic import BaseModel
from anthropic import Anthropic
class ContactInfo(BaseModel):
name: str
email: str
plan_interest: str
demo_requested: bool
client = Anthropic()
response = client.messages.parse(
model="claude-opus-4-6",
max_tokens=1024,
messages=[
{
"role": "user",
"content": "Extract the key information from this email: John Smith (john@example.com) is interested in our Enterprise plan and wants to schedule a demo for next Tuesday at 2pm.",
}
],
output_format=ContactInfo,
)
print(response.parsed_output)REST
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-4-6",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "Extract the key information from this email: John Smith (john@example.com) is interested in our Enterprise plan and wants to schedule a demo for next Tuesday at 2pm."
}
],
"output_config": {
"format": {
"type": "json_schema",
"schema": {
"type": "object",
"properties": {
"name": {"type": "string"},
"email": {"type": "string"},
"plan_interest": {"type": "string"},
"demo_requested": {"type": "boolean"}
},
"required": ["name", "email", "plan_interest", "demo_requested"],
"additionalProperties": false
}
}
}
}'Would be great to have Anthropic added alongside OpenAI and Vertex as a provider that supports Structured Outputs
Additional Info
[neo4j-graphrag-python Structued Output docs] (https://neo4j.com/docs/neo4j-graphrag-python/current/user_guide_kg_builder.html#using-structured-output)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request