top | item 39770565

Show HN: Dealing with Claude 3 XML function calling so you don't have to

7 points| willbakst | 1 year ago

Hi all, our open-source Python library for fast, quality development with LLMs has added support for using Anthropic’s Claude 3 models and its XML function calling capabilities, including nested schemas and def/ref resolution.

Example: https://github.com/Mirascope/mirascope/blob/main/examples/extracting_tasks_with_claude_haiku.py

Repo: https://github.com/Mirascope/mirascope

In the example we create a `TaskExtractor` class that can extract a fairly complex, nested `TaskDetails` schema. Haiku does a fantastic job extracting the schema, correctly extracting everything from the task description to due dates to related tasks and metadata.

To our knowledge, Mirascope is the first open-source library to support this level of nested schema definition and automatic data extraction with Claude 3. We'd love to hear feedback - have you seen similar capabilities in other libraries? What other use cases do you think this unlocks, especially with the 200K token context limit?

We're excited to keep expanding Mirascope's functionality, with streaming tools (function calls) next on the roadmap. Check out the library on GitHub and let us know what you think!

3 comments

order

shaqbert|1 year ago

This is surprisingly elegant and simple... whish I had found Mirascope like three month earlier.

On the repo roadmap section I am seeing RAG support coming up, this would be extra nice for my use case. Any ETA?

willbakst|1 year ago

I wish I had started working on Mirascope 3 months earlier!

I'm hoping we have RAG support sometime in early-mid April :)