Spaces:
Running
Running
| from pydantic import BaseModel, Field | |
| from typing import List, Optional | |
| class CompanyData(BaseModel): | |
| """Schema for a single company's extracted data.""" | |
| company_name: str = Field(description="The full legal name of the company.") | |
| industry_type: str = Field(description="The primary industry the company operates in.") | |
| location: str = Field(description="The city and state where the company is located.") | |
| company_size: Optional[str] = Field(description="The approximate number of employees (e.g., '100+' or '500-1000').") | |
| street: Optional[str] = Field(description="Street address (if available).") | |
| city: Optional[str] = Field(description="City (if available).") | |
| state: Optional[str] = Field(description="State or province (if available).") | |
| country: Optional[str] = Field(description="Country (if available).") | |
| phone: Optional[str] = Field(description="Primary phone number (if available).") | |
| email: Optional[str] = Field(description="Primary email address (if available).") | |
| approx_revenue: Optional[str] = Field(description="The approximate annual revenue (e.g., '$15 million').") | |
| business_type: str = Field(description="B2B, B2C, or Both.") | |
| website_url: str = Field(description="The URL of the company's official website.") | |
| class CompanyList(BaseModel): | |
| """The final, clean JSON list containing all found companies.""" | |
| companies: List[CompanyData] |