Files
GTI_GERENCIADOR_FISCAL/central/alembic/versions/0014_ai_eval_cache.py
T

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")