1. Tool calling support
    - [x] Anthropic
    - [x] OpenAI
    - [x] Ollama
    - [ ] Handle models that don't support tool calling
    - [ ] AWS 
    - [ ] Azure 
    - [ ] Mistral
    - [ ] HuggingFace
2. [x] Test with complex functions 
    - [x] Write testing framework to test tool calling support 
    - [ ] Add Multiple function calling support 
    - [x] Add good examples 
        - [x] Function calling with multiple functions
        - [x] Db query function calling
        - [x] Web search function calling
3. Stuctured Output Support
    - [ ] Anthropic
    - [ ] OpenAI
    - [ ] Ollama
    - [ ] AWS
    - [ ] Azure
    - [ ] Google
    - [ ] HuggingFace 
    - [ ] Test with complex structured output 
    - [ ] Add good examples with structured output
4. Cookbooks 
    - [ ] Search and summarize (perple)
5. RAG cookbook with pgai 
  - [ ] RAG on pdf
  - [ ] RAG on html 
  - [ ] Chatbot with RAG
6. 

