Classification : Model evaluation of fine tuned models#326
Classification : Model evaluation of fine tuned models#326nishika26 merged 12 commits intofeature/classificationfrom
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
backend/app/models/project.py
Outdated
| fine_tuning: list["Fine_Tuning"] = Relationship( | ||
| back_populates="project", cascade_delete=True | ||
| ) | ||
| model_evaluation: list["Model_Evaluation"] = Relationship( |
There was a problem hiding this comment.
similar to the fine_tuning comment in the previous PR, not sure if model_evaluation should be part of the project table - can we think of any good use case for this?
There was a problem hiding this comment.
model evaluation uses openai chat completion for evaluating predictions from the fine tuned model, same reason as before, keeping model_eval a part of project table will help with cost tracking and observability later, since it also relies on the OpenAI resource.
* Classification: db models and migration script (#305) * db models and migration script * Classification: Fine tuning Initiation and retrieve endpoint (#315) * Fine-tuning core, initiation, and retrieval * seperate session for bg task, and formating fixes * fixing alembic revision * Classification : Model evaluation of fine tuned models (#326) * Model evaluation of fine tuned models * fixing alembic revision * alembic revision fix * Classification : train and test data to s3 (#343) * alembic file for adding and removing columns * train and test s3 url column * updating alembic revision * formatting fix * Classification : retaining prediction and fetching data from s3 for model evaluation (#359) * adding new columns to model eval table * test data and prediction data s3 url changes * single migration file * status enum columns * document seeding * Classification : small fixes and storage related changes (#365) * first commit covering all * changing model name to fine tuned model in model eval * error handling in get cloud storage and document not found error handling * fixing alembic revision * uv lock * new uv lock file * updated uv lock file * coderabbit suggestions and removing unused imports * changes in uv lock file * making csv a supported file format, changing uv lock and pyproject toml
Summary
Target issue is #303
Checklist
Before submitting a pull request, please ensure that you mark these task.
fastapi run --reload app/main.pyordocker compose upin the repository root and test.Notes
Core Logic (app/core/finetune/evaluation.py)
Router Logic (app/api/routers/model_evaluation.py)
CRUD Logic (app/crud/model_evaluation.py)
Test data Logic (app/tests/utils/test_data.py)
Adds helper functions to create test fine-tuning jobs and corresponding model evaluation records for testing purposes: