"Recommended company openai structure"

from pydantic import BaseModel, Field


class PEShop(BaseModel):
    "Hypotehtical company"
    company_name: str = Field(description="Name of the PE shop")
    investment_thesis: list = Field(
        description="Detailed explanation of PE shop's investment thesis with size, region and sector focus"
    )


class PEShops(BaseModel):
    "Companies"
    PEShops: list[PEShop] = []


class FundGroup(BaseModel):
    fund_group: str = Field(description="Name of the group")
    funds: list[str] = Field(
        description="List of fund urls only. Don't add anything else", default=[]
    )
    rationale: str = Field(description="Rationale for the group", default="")


class FundGroups(BaseModel):
    groups: list[FundGroup] = []
