OCI Generative AI Services 是一份面向 OCI 生成式 AI 推理 API 的开发与运维技能说明,重点不在介绍模型能力本身,而在于给出调用过程中的约束、反模式与可复用代码模式。
【用途】 用于实现 OCI GenAI 推理 API、调试速率限制(429)与令牌限制(400)错误、在 command-r 与 command-r-plus 之间做选型,以及处理 PHI/PII 脱敏与输出校验等场景。
【核心约束与反模式】
- 禁止向 GenAI API 发送 PHI/PII 标识符。文档强调 GenAI 服务日志可能保留数据,即使 Oracle 签署了 BAA,发送 PHI 仍可能违反 HIPAA/GDPR。示例给出错误做法(把 patient_name、MRN、SSN 拼进 prompt)与正确做法(先脱敏,映射关系保存在本地安全数据库中)。
- 禁止在关键系统中未经验证信任 GenAI 输出。文档给出事实类查询的幻觉率约 5%–15%,医疗/法律场景更高;建议将 AI 建议内容送入人工审核队列。
- 禁止静默超过令牌限制。command-r-plus 的 128k 上下文为输入加输出合计,command-r 为 4k;超限时请求可能被静默截断或以 400 报错。
- 禁止不处理速率限制即调用 GenAI,文档指出 429 常见且可预测。
- 禁止将 GenAI 用于确定性任务,例如从 OCR 文本中提取发票总额应使用正则/结构化解析,校验邮箱格式应使用校验库;适合的场景是摘要病历、生成叙述性报告。
【模型选择】 文档列出四个模型及其上下文、输入/输出单价与适用场景:command-r-plus(128k,输入约 $15/1M、输出约 $75/1M,适合复杂推理、长文档、RAG);command-r(4k,约 $1.50/$7.50,适合聊天、短提示、高吞吐);embed-english-v3(512,约 $0.10,适合语义搜索,比生成便宜约 1000 倍);llama-2-70b(4k,约 $2/$10,成本友好、开放权重)。决策规则为默认先用 command-r,仅在推理质量明显不足时升级到 command-r-plus;成本优化建议在调用生成前先用嵌入做检索/搜索。
【OCI GenAI 速率限制(按 compartment)】 command-r-plus:20 请求/分钟、1000 请求/天;command-r:60 请求/分钟、3000 请求/天;嵌入:100 请求/分钟、10000 请求/天。
【可用代码模式】
- 退避重试:generate_with_backoff 捕获 ServiceError,429 时按 2^attempt 加随机抖动等待(1s、2s、4s、8s、16s),400 且消息含 token 时抛出令牌超限错误。
- 令牌截断:truncate_for_model 根据模型限制与最大输出计算最大输入令牌,按约 4 字符/令牌估算字符数,超出时保留尾部并加截断标记。
- PHI 脱敏:redact_phi 使用正则替换 MRN 与 SSN,返回脱敏文本与还原映射;姓名脱敏建议使用 NER 库(如 spacy),示例中相关代码以注释形式给出。
- 响应校验:validate_medical_response 检查响应是否过短/为空、是否含幻觉标记、是否包含预期小节(Chief Complaint、Assessment、Plan)、是否疑似 PII 泄漏。
【HIPAA 合规检查清单】 上线 PHI 相关 GenAI 前需:与 Oracle 明确签署 BAA(不要假设)、每次调用前脱敏 PHI、审计记录所有 GenAI 调用(调用者、时间、模型)、定义 prompt/response 的数据保留策略。
【参考文件】 需要完整 GenAI API 与 SDK 文档、OCI 上的 RAG 实现、GenAI Agents 设置、微调与自定义模型部署时,加载 references/oci-genai-reference.md。
【限制与暂未提供】 本资料未提供具体 SDK 安装命令、完整 API 端点列表、各区域可用性、SLA 细节、实际计费口径与官方文档链接正文,这些需查阅参考文件或官方资料。