跳至正文
浏览文档
进阶使用

连接模型

配置兼容 OpenAI 的服务、AI Gateway 或 AI SDK 模型。

构造函数

typescript
import { AVA } from '@antv/ava';
 
const ava = new AVA({
  llm: {
    model: 'YOUR_MODEL',
    apiKey: process.env.OPENAI_API_KEY,
    baseURL: process.env.OPENAI_BASE_URL,
    maxRetries: 3,
  },
  engine: { type: 'duckdb' },
});

llm 为必填项。不传 engine 时使用 DuckDB;前端应用必须显式选择 javascript。

模型选项

字段类型必填含义与默认值
provider'openai' | 'gateway'否默认使用兼容 OpenAI 的 Chat Completions。Gateway 可读取 AI_GATEWAY_API_KEY。
modelstring | LanguageModel是模型名称,或预先配置好的 AI SDK 模型实例。
apiKeystring否模型服务商的 API 密钥。
baseURLstring否可选的 API 基础地址。
maxRetriesnumber否模型 API 可重试错误的最大重试次数,默认 3。

以字符串传入模型名称时,默认调用兼容 OpenAI 的 Chat Completions ;传入模型对象时则直接使用该对象。用量回调并不完整覆盖每一次模型请求,不能据此汇总全部模型用量。

AI Gateway

typescript
const ava = new AVA({
  llm: {
    provider: 'gateway',
    model: 'openai/gpt-4o-mini',
    apiKey: process.env.AI_GATEWAY_API_KEY,
  },
});

未显式传入密钥时,Gateway 也可以从环境变量 AI_GATEWAY_API_KEY 读取。

两类重试分别配置

llm.maxRetries 控制模型 API 的重试次数;direct 分析策略中的 maxRetries 则用于修正执行失败的查询。两者独立,详见分析策略。

前端应用中的凭证

共享的模型服务密钥应放在服务端。纯浏览器实验可以在运行时获取用户凭证,不要将密钥写入源码或打包进前端产物。