Define GPT tool schemas using Pydantic.
Project description
GPT Pydantic Tools
The gpt_pydantic_tools
repository offers a Python module designed to integrate Pydantic models with GPT-style tool schemas. It facilitates the transformation of Pydantic models into a format that is suitable for use with GPT-4's tools functionality, ensuring structured data and tool interaction consistency.
Features
- Model Conversion: Convert Pydantic models into GPT-4 tool schemas.
- Flexible Tool Choice Handling: Provides several strategies for tool invocation such as auto, required, and none, based on the context or specific requirements.
Installation
Install directly using pip:
pip install gpt-pydantic-tools
Usage
- Define Pydantic Models: Create your Pydantic models as per your requirements.
- Convert to GPT Tool Schema: Use the
ToolSchemaManager
to convert your Pydantic models into GPT tool schemas. - Tool Choice Management: Utilize the
get_tool_choice_dict
to manage how tools are chosen for execution based on the defined strategies.
Example usage:
from pydantic import BaseModel
from gpt_pydantic_tools import ToolSchemaManager, get_tool_choice_dict, ToolChoiceEnum
class MyModel(BaseModel):
name: str
age: int
# Convert Pydantic model to GPT tool schema
schema_manager = ToolSchemaManager(pydantic_obj=MyModel)
tool_schema = schema_manager.tools_schema
# Determine tool invocation strategy
tool_choice = get_tool_choice_dict(ToolChoiceEnum.AUTO, schema_manager)
Contributing
Contributions are welcome! Please feel free to submit pull requests, create issues, and suggest improvements to the repository.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gpt_pydantic_tools-0.1.tar.gz
(4.2 kB
view hashes)
Built Distribution
Close
Hashes for gpt_pydantic_tools-0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 945d95f44bca40c563112044f38dc35e0af6e0a7cca00b1483368ed2926864d6 |
|
MD5 | 46e62dcb0a0d06691e5350c54aeac775 |
|
BLAKE2b-256 | 1f84871edfa8589ff69f005bd1af0ce0dee2119ae5aaace168b12a0ebc5cd841 |