21 lines
1.1 KiB
Python
21 lines
1.1 KiB
Python
"""Migration 0014: persistent LLM eval result cache.
|
|
|
|
Revision ID: 0014
|
|
Revises: 0013
|
|
"""
|
|
from alembic import op
|
|
from sqlalchemy import Column, DateTime, ForeignKey, Integer, JSON, String, UniqueConstraint, func
|
|
|
|
revision = "0014"
|
|
down_revision = "0013"
|
|
branch_labels = depends_on = None
|
|
|
|
|
|
def upgrade():
|
|
op.create_table("ai_eval_cache", Column("id", Integer, primary_key=True), Column("input_fingerprint", String(64), nullable=False), Column("candidate_set_hash", String(64), nullable=False), Column("prompt_version", String(32), nullable=False), Column("model", String(64), nullable=False), Column("dataset_version_ncm", String(64), nullable=False), Column("phase", String(16), nullable=False), Column("answer", JSON, nullable=False), Column("gold_ncm", String(8)), Column("created_at", DateTime(timezone=True), server_default=func.now()), UniqueConstraint("input_fingerprint", "candidate_set_hash", "prompt_version", "model", "dataset_version_ncm", name="uq_ai_eval_cache"))
|
|
op.create_index("ix_ai_eval_cache_input_fingerprint", "ai_eval_cache", ["input_fingerprint"])
|
|
|
|
|
|
def downgrade():
|
|
op.drop_table("ai_eval_cache")
|