Skip to content

Commit

Permalink
update pandera version and make the code work
Browse files Browse the repository at this point in the history
  • Loading branch information
semio committed Oct 12, 2023
1 parent 4f8b1cc commit 69c20d1
Show file tree
Hide file tree
Showing 6 changed files with 1,094 additions and 368 deletions.
19 changes: 16 additions & 3 deletions automation-api/lib/ai_eval_spreadsheet/schemas.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,17 @@
# for more info
# Note that most types are str since spreadsheet columns can be formulas

from datetime import datetime
from typing import Optional

import pandas as pd
import pandera as pa
from pandera.engines.pandas_engine import PydanticModel
from pydantic import BaseModel, Field, field_validator
from pydantic import BaseModel, ConfigDict, Field, field_validator


class Question(BaseModel):
model_config = ConfigDict(coerce_numbers_to_str=True)

include_in_next_evaluation: Optional[bool] = Field(
None, title="Include in next evaluation", validate_default=True
)
Expand All @@ -37,6 +38,8 @@ class Config:


class QuestionOption(BaseModel):
model_config = ConfigDict(coerce_numbers_to_str=True)

question_option_id: Optional[str] = Field(None, title="Question Option ID")
question_id: Optional[str] = Field(None, title="Question ID")
language: Optional[str] = Field(None, title="Language")
Expand All @@ -54,6 +57,8 @@ class Config:


class PromptVariation(BaseModel):
model_config = ConfigDict(coerce_numbers_to_str=True)

include_in_next_evaluation: Optional[bool] = Field(
None, title="Include in next evaluation"
)
Expand All @@ -79,6 +84,8 @@ class Config:


class GenAiModel(BaseModel):
model_config = ConfigDict(coerce_numbers_to_str=True, protected_namespaces=())

model_id: Optional[str] = Field(None, title="Model ID")
vendor: Optional[str] = Field(None, title="Vendor")
model_name: Optional[str] = Field(None, title="Model name")
Expand All @@ -91,6 +98,8 @@ class Config:


class GenAiModelConfig(BaseModel):
model_config = ConfigDict(coerce_numbers_to_str=True, protected_namespaces=())

include_in_next_evaluation: Optional[bool] = Field(
None, title="Include in next evaluation"
)
Expand All @@ -109,11 +118,13 @@ class Config:


class EvalResult(BaseModel):
model_config = ConfigDict(coerce_numbers_to_str=True, protected_namespaces=())

question_id: Optional[str] = Field(None, title="Question ID")
language: Optional[str] = Field(None, title="Language")
prompt_variation_id: Optional[str] = Field(None, title="Prompt variation ID")
model_configuration_id: Optional[str] = Field(None, title="Model Configuration ID")
last_evaluation_datetime: Optional[datetime] = Field(None, title="Last Evaluation")
last_evaluation_datetime: Optional[str] = Field(None, title="Last Evaluation")
percent_correct: Optional[float] = Field(None, title="Percent Correct")
percent_wrong: Optional[float] = Field(None, title="Percent Wrong")
percent_very_wrong: Optional[float] = Field(None, title="Percent Very Wrong")
Expand All @@ -129,6 +140,8 @@ class Config:


class SessionResult(BaseModel):
model_config = ConfigDict(coerce_numbers_to_str=True, protected_namespaces=())

session_id: Optional[str] = Field(None, title="Session ID")
session_time: Optional[str] = Field(None, title="Session Time")
prompt_variation_id: Optional[str] = Field(None, title="Prompt Variation ID")
Expand Down
2 changes: 1 addition & 1 deletion automation-api/lib/gsheets/gsheets_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import pandas as pd
from gspread import Spreadsheet, Worksheet, WorksheetNotFound
from gspread_dataframe import set_with_dataframe
from pydantic.main import BaseModel
from pydantic import BaseModel

from lib.app_singleton import app_logger

Expand Down
4 changes: 3 additions & 1 deletion automation-api/lib/gsheets/gsheets_worksheet_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import numpy as np
import pandera as pa
from pandera import DataFrameModel
from pydantic.main import BaseModel
from pydantic import BaseModel

from lib.gsheets.gsheets_utils import get_pydantic_model_field_titles

Expand Down Expand Up @@ -36,11 +36,13 @@ def __init__(
self.df_schema = df_schema
self.row_schema = row_schema
self.header_row_number = header_row_number

self.attributes_to_columns_map = get_pydantic_model_field_titles(
self.row_schema
)
df = df.rename(columns=inv_dict(self.attributes_to_columns_map))
df = self.replace_current_row_numbers_in_formulas(df)
# import ipdb; ipdb.set_trace()
self.df = df_schema(df)

def replace_current_row_numbers_in_formulas(
Expand Down
2 changes: 1 addition & 1 deletion automation-api/lib/gsheets/gsheets_worksheet_editor.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from gspread import Spreadsheet, Worksheet
from gspread.utils import rowcol_to_a1
from pandera import DataFrameModel
from pydantic.main import BaseModel
from pydantic import BaseModel

from lib.gsheets.gsheets_utils import get_worksheet
from lib.gsheets.gsheets_worksheet_data import GsheetsWorksheetData
Expand Down
Loading

0 comments on commit 69c20d1

Please sign in to comment.