Instructor for PHP home page
Search...
⌘K
Issues
Github
Github
Search...
Navigation
Page Not Found
Instructor
Polyglot
HTTP Client
Cookbook
Changelog
Community
Blog
Cookbook
Instructor Cookbooks
Contributing
Cookbook \ Instructor \ Basics
Basic use
Specifying required and optional parameters via constructor
Getters and setters
Private vs public object field
Basic use via mixin
Fluent API
Handling errors with `Maybe` helper class
Messages API
Mixed Type Property
Modes
Making some fields optional
Automatic correction based on validation results
Using attributes
Using LLM API connection presets from config file
Validation
Custom validation using Symfony Validator
Validation across multiple fields
Validation with LLM
Cookbook \ Instructor \ Advanced
Use custom configuration providers
Context caching (structured output)
Customize parameters of LLM driver
Use custom HTTP client instance
Use custom HTTP client instance - Laravel
Custom prompts
Customize parameters via DSN
Extracting arguments of function or method
Logging monolog
Logging psr
Streaming partial updates during inference
Providing example inputs and outputs
Extracting scalar values
Extracting sequences of objects
Streaming
Structures
Cookbook \ Instructor \ Troubleshooting
Debugging
Receive specific internal event with onEvent()
Modifying Settings Path
Tracking token usage via events
Receive all internal events with wiretap()
Cookbook \ Instructor \ LLM API Support
A21
Anthropic
Azure OpenAI
Cerebras
Cohere
DeepSeek
Fireworks.ai
Google Gemini
Google Gemini (OpenAI compatible API)
Groq
Hugging Face
Meta
Minimaxi
Mistral AI
MoonshotAI
Local / Ollama
OpenAI
OpenRouter
Perplexity
SambaNova
Together.ai
xAI / Grok
Cookbook \ Instructor \ Extras
Extraction of complex objects
Extraction of complex objects (Anthropic)
Extraction of complex objects (Cohere)
Extraction of complex objects (Gemini)
Using structured data as an input
Image processing - car damage detection
Image to data (OpenAI)
Image to data (Anthropic)
Image to data (Gemini)
Generating JSON Schema from PHP classes
Generating JSON Schema from PHP classes
Generating JSON Schema dynamically
Create tasks from meeting transcription
Translating UI text fields
Web page to PHP objects
Cookbook \ Polyglot \ LLM Basics
Working directly with LLMs
Working directly with LLMs and JSON - JSON mode
Working directly with LLMs and JSON - JSON Schema mode
Working directly with LLMs and JSON - MdJSON mode
Working directly with LLMs and JSON - Tools mode
Generating JSON Schema from PHP classes
Generating JSON Schema from PHP classes
Cookbook \ Polyglot \ LLM Advanced
Customize configuration providers of LLM driver
Context caching (text inference)
Customize configuration of LLM driver
Custom Embeddings Config
Using custom LLM driver
Customize LLM Configuration with DSN string
Embeddings utils
Embeddings
Work directly with HTTP client facade
Parallel calls
Reasoning Content Access
Cookbook \ Polyglot \ LLM Troubleshooting
Debugging HTTP Calls
Cookbook \ Polyglot \ LLM API Support
A21
Anthropic
Azure OpenAI
Cerebras
Cohere
DeepSeek
Fireworks.ai
Google Gemini
Groq
Meta
Minimaxi
Mistral AI
MoonshotAI
Local / Ollama
OpenAI
OpenRouter
Perplexity
SambaNova
Together.ai
xAI / Grok
Cookbook \ Polyglot \ LLM Extras
Multi-Participant AI Chat Panel Discussion
Chat with summary
Using images in prompts
Prompt Templates
Simple content summary
Inference and tool use
Inference and tool use
Cookbook \ Prompting \ Zero-Shot Prompting
Assign a Role
Auto-Refine The Prompt
Clarify Ambiguous Information
Define Style
Emotional Stimuli
Generate Follow-Up Questions
Ask Model to Repeat the Query
Simulate a Perspective
Cookbook \ Prompting \ Few-Shot Prompting
Consistency based examples
Example ordering
Generate In-Context Examples
Select effective samples
Cookbook \ Prompting \ Thought Generation
Analogical Prompting
Automate Example Selection
Prioritize Complex Examples
Examine The Context
Higher level context
Include Incorrect Examples
Use Majority Voting
Generate Prompt Variations
Structure The Reasoning
Uncertain examples
Cookbook \ Prompting \ Ensembling
Combine Multiple Reasoning Chains
Use LLMs to Combine Different Responses
Combine Different Specialized LLMs
Prioritize Consistent Examples
Use Distinct Example Subsets
Use Ensembles To Test Prompts
Generate Multiple Candidate Responses
Use Task Specific Evaluation Metrics
Use Translation for Paraphrasing
Verify Responses over Majority Voting
Cookbook \ Prompting \ Self-Criticism
Break Down Reasoning Into Multiple Steps
Determine Uncertainty of Reasoning Chain
Improve With Feedback
Reconstruct Prompt from Reasoning Steps
Self-Verify Responses
Independently Verify Responses
Cookbook \ Prompting \ Decomposition
Break Down Complex Tasks
Ditch Vanilla Chain Of Thought
Generate Code for Intermediate Steps
Generate in Parallel
Solve Simpler Subproblems
Leverage Task Specific Systems
Cookbook \ Prompting \ Miscellaneous
Arbitrary properties
Consistent values of arbitrary properties
Chain of Summaries
Chain of Thought
Single label classification
Multiclass classification
Entity relationship extraction
Handling errors
Limiting the length of lists
Reflection Prompting
Restating instructions
Ask LLM to rewrite instructions
Expanding search queries
Summary with Keywords
Reusing components
Using CoT to improve interpretation of component data
404
Page Not Found
We couldn't find the page you were looking for. Maybe you were looking for?
Introduction
Contributing
Basic use
Assistant
Responses are generated using AI and may contain mistakes.