Skip to content

Instantly share code, notes, and snippets.

View inayet's full-sized avatar
💭
Active

Inayet Hadi inayet

💭
Active
View GitHub Profile
@inayet
inayet / gen_pydantic_instance.py
Created February 14, 2024 01:07 — forked from seanchatmangpt/gen_pydantic_instance.py
Create DSPy Signatures from Pydantic Models
import ast
import logging
import inspect
from typing import Type, TypeVar
from dspy import Assert, Module, ChainOfThought, Signature, InputField, OutputField
from pydantic import BaseModel, ValidationError
logger = logging.getLogger(__name__)
logger.setLevel(logging.ERROR)
@seanchatmangpt
seanchatmangpt / gen_pydantic_instance.py
Last active June 5, 2024 17:55
Create DSPy Signatures from Pydantic Models
import ast
import logging
import inspect
from typing import Type, TypeVar
from dspy import Assert, Module, ChainOfThought, Signature, InputField, OutputField
from pydantic import BaseModel, ValidationError
logger = logging.getLogger(__name__)
logger.setLevel(logging.ERROR)
@seanchatmangpt
seanchatmangpt / VAVAILABILITYModel.py
Last active February 13, 2024 15:39
Just created 7 icalendar models in one function
from pydantic import BaseModel, Field, validator, root_validator, EmailStr, UrlStr
from typing import List, Optional
from datetime import datetime
class VAVAILABILITYModel(BaseModel):
"""A Pydantic model for RFC 5545 compliance."""
dtstart: datetime = Field(default=None, title="", description="The start date and time of the event.", required)
dtend: datetime = Field(default=None, title="", description="The end date and time of the event.", required)
summary: str = Field(default=None, title="", description="A brief summary or title of the event.", max_length=255)
@seanchatmangpt
seanchatmangpt / contact_model.py
Last active February 13, 2024 15:50
Generate a pydantic class from a prompt
from datetime import datetime
from pydantic import BaseModel, Field, validator, root_validator, EmailStr, UrlStr
class ContactModel(BaseModel):
"""A Pydantic model representing a contact in the friend of a friend ontology."""
name: str = Field(default=None, title="", description="The name of the contact.", min_length=2, max_length=50)
email: EmailStr = Field(default=None, title="", description="The email address of the contact.", min_length=5, max_length=50)
phone_number: str = Field(default=None, title="", description="The phone number of the contact.", min_length=10, max_length=15)
address: str = Field(default=None, title="", description="The address of the contact.", min_length=10, max_length=100)