| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- -- 创建API调用日志表
- -- 需求: 10.3 - 记录API调用的详细信息用于计费和审计
- CREATE TABLE aigcspace.api_call_log (
- id BIGSERIAL PRIMARY KEY,
- user_id VARCHAR(50) NOT NULL REFERENCES aigcspace.users(id) ON DELETE CASCADE,
- api_key_id INTEGER REFERENCES aigcspace.platform_api_key(id) ON DELETE SET NULL,
- model_id INTEGER REFERENCES aigcspace.models(id) ON DELETE SET NULL,
- model_name VARCHAR(255) NOT NULL,
- is_local BOOLEAN NOT NULL DEFAULT FALSE,
- input_tokens INTEGER NOT NULL DEFAULT 0,
- output_tokens INTEGER NOT NULL DEFAULT 0,
- bill DECIMAL(12,4) NOT NULL DEFAULT 0,
- status VARCHAR(20) NOT NULL DEFAULT 'success',
- error_message TEXT,
- request_ip VARCHAR(50),
- created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
- );
- -- 创建索引
- CREATE INDEX idx_api_call_log_user_id ON aigcspace.api_call_log(user_id);
- CREATE INDEX idx_api_call_log_api_key_id ON aigcspace.api_call_log(api_key_id);
- CREATE INDEX idx_api_call_log_model_id ON aigcspace.api_call_log(model_id);
- CREATE INDEX idx_api_call_log_created_at ON aigcspace.api_call_log(created_at);
- CREATE INDEX idx_api_call_log_is_local ON aigcspace.api_call_log(is_local);
- COMMENT ON TABLE aigcspace.api_call_log IS 'API调用日志表';
- COMMENT ON COLUMN aigcspace.api_call_log.id IS '主键ID';
- COMMENT ON COLUMN aigcspace.api_call_log.user_id IS '用户ID';
- COMMENT ON COLUMN aigcspace.api_call_log.api_key_id IS '使用的API Key ID';
- COMMENT ON COLUMN aigcspace.api_call_log.model_id IS '调用的模型ID';
- COMMENT ON COLUMN aigcspace.api_call_log.model_name IS '模型名称';
- COMMENT ON COLUMN aigcspace.api_call_log.is_local IS '是否为本地模型';
- COMMENT ON COLUMN aigcspace.api_call_log.input_tokens IS '输入Token数量';
- COMMENT ON COLUMN aigcspace.api_call_log.output_tokens IS '输出Token数量';
- COMMENT ON COLUMN aigcspace.api_call_log.bill IS '费用金额';
- COMMENT ON COLUMN aigcspace.api_call_log.status IS '调用状态:success/failed';
- COMMENT ON COLUMN aigcspace.api_call_log.error_message IS '错误信息';
- COMMENT ON COLUMN aigcspace.api_call_log.request_ip IS '请求IP地址';
- COMMENT ON COLUMN aigcspace.api_call_log.created_at IS '创建时间';
|