SuperAPI AI 工具集

ai-ml

编程与开发

查看项目

更新于 10-16 06:20

技能介绍

用途:该技能面向 AI/ML 服务开发,给出以 FastAPI 为服务框架、LangChain 为编排层、OpenAI 与 Anthropic 为模型提供方、ONNX 为部署格式的工程模式,并包含模型训练管线示例。

主要能力:

  1. FastAPI 服务骨架:使用 lifespan 初始化 LLMService,通过 api_router 挂载 /api/v1 路由。
  2. LLM 服务抽象:BaseLLM 抽象类,OpenAILLM 与 AnthropicLLM 分别封装 AsyncOpenAI 与 AsyncAnthropic,LLMService 按 provider 缓存实例并统一 generate 接口。
  3. LangChain SQL Agent:create_openai_tools_agent 构建只读 SQL 查询代理,系统提示限定仅生成 SELECT,AgentExecutor 设置 max_iterations=3。
  4. SQL 工具:SQLQueryTool 校验查询必须以 SELECT 开头,并拦截 INSERT、UPDATE、DELETE、DROP、ALTER 等关键字,结果最多返回 50 行。
  5. 聊天接口:POST /chat 接收 ChatRequest,返回 ChatResponse,包含 conversation_id 与 processing_time_ms。
  6. ONNX 导出:使用 optimum.onnxruntime 的 ORTModelForSequenceClassification 导出,并可选 ORTQuantizer 与 AutoQuantizationConfig.avx512_vnni 量化。
  7. 训练管线:IntentClassifierTrainer 基于 transformers 的 Trainer,加载 JSON 数据集,tokenize 后训练意图分类模型并保存。
  8. 配置与模型:pydantic-settings 读取 .env,Pydantic 定义 ChatRequest/ChatResponse。

使用方式:依赖 Python >=3.11,安装 fastapi、uvicorn、pydantic、openai、anthropic、langchain、sentence-transformers、torch、transformers、onnx、onnxruntime、structlog 等指定版本;按示例目录组织 src/ai_service 与 tests;通过环境变量提供 API Key 与数据库 URL。

适用场景:需要快速搭建 AI 服务、LLM 多提供方切换、只读数据库问答代理、文本分类模型训练与 ONNX 部署的项目。

限制:资料未提供实际部署、性能、收费与平台支持信息;SQL 工具仅允许 SELECT,训练与导出示例未给出完整数据集格式与评估指标。