Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamically annotating functions for agents and function calling for chats. #1217

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

igorcosta
Copy link

Summary

This pull request introduces a new article and a Jupyter notebook that explain how to dynamically annotate Python classes for function calling and agent utilization. The changes include a detailed walkthrough on how to create a decorator for function schema annotation, a function registry to map function names to the functions themselves, and how to use this registry to resolve function calls. The article and notebook are added to the registry for easy access.

New content:

Updates to the registry:

Motivation

Why are these changes necessary? How do they improve the cookbook?

The examples only explore the capability, but nothing describe the capacity that can be achieved by scaling the function calling to the next level, this article and notebook explore these options where developers can just annotate and describe what they want.

This was part of my medium article.


For new content

When contributing new content, read through our contribution guidelines, and mark the following action items as completed:

  • I have added a new entry in registry.yaml (and, optionally, in authors.yaml) so that my content renders on the cookbook website.
  • I have conducted a self-review of my content based on the contribution guidelines:
    • Relevance: This content is related to building with OpenAI technologies and is useful to others.
    • Uniqueness: I have searched for related examples in the OpenAI Cookbook, and verified that my content offers new insights or unique information compared to existing documentation.
    • Spelling and Grammar: I have checked for spelling or grammatical mistakes.
    • Clarity: I have done a final read-through and verified that my submission is well-organized and easy to understand.
    • Correctness: The information I include is correct and all of my code executes successfully.
    • Completeness: I have explained everything fully, including all necessary references and citations.

We will rate each of these areas on a scale from 1 to 4, and will only accept contributions that score 3 or higher on all areas. Refer to our contribution guidelines for more details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant