Semestra

服务商类型

七种服务商类型,各自需要什么、能做什么。

类型接口地址密钥能力
Anthropic固定(https://api.anthropic.com)必填对话、工具调用、图片、结构化输出
OpenAI固定(https://api.openai.com/v1)必填对话、工具调用、图片、结构化输出、向量
Google Gemini固定必填对话、工具调用、图片、结构化输出、向量
OpenAI 兼容必填可选自己勾选(默认:对话、工具调用)
OpenAI Responses 接口必填(用 OpenAI 官方时填 https://api.openai.com/v1)可选自己勾选(默认:对话、工具调用、结构化输出)
Anthropic 兼容必填可选自己勾选(默认:对话、工具调用)
Ollama必填可选自己勾选(默认:对话、工具调用、结构化输出、向量)

兼容接口

任何提供 OpenAI Chat Completions、OpenAI Responses 或 Anthropic Messages 格式接口的服务都可以用兼容类型接入:DeepSeek、 OpenRouter、Kimi、智谱、vLLM 或 LiteLLM 网关等。Semestra 无法知道这类接口支持什么,所以能力由你自己勾选:

  • 工具调用:Sem 操作你的数据时需要。
  • 图片:让它能读取图片。
  • 结构化输出:提取时使用接口的 JSON schema 模式;不勾选时,Semestra 会要求返回 JSON 并自行校验。
  • 向量:启用文件搜索。

DeepSeek、Kimi 等已知服务的接口地址、模型和能力都已填好,折叠在密钥下方的接口设置里,需要修改时再展开。

添加兼容接口或 Ollama 时可以填一个模型名;它会被分配给还没有模型可用的用途:Sem、读取文档和标题,勾选了图片时还有读取图片。

模型参数

在模型页底部的高级里,可以为每项任务设置单次最多输出的 token 数。无论这项任务用哪个模型(包括“自动”)都会生效;留空按模型默认。 长的课程大纲提取不完整时,调高“读取文档”的上限。等待回答的时间按这个上限推算,调高后长任务等得更久。搜索没有输出,不需要设置。

读取文档与搜索

  • 把文档读成字段(导入课程大纲、识别扫描页)时会关闭推理,不能关闭的模型用最低强度;你为该用途设置了推理强度时以你的设置为准。
  • 文件搜索会按常见检索模型的要求区分查询和文档:nomic-embed-text、E5、Qwen3 Embedding、EmbeddingGemma 的前缀,以及 Gemini 的任务类型;Gemini 向量使用 768 维。你的模型因此发生变化时,下一次搜索后会自动重建文件索引,重建完成前按关键词匹配。
  • 每次请求能接收的文本条数较少的服务(阿里云百炼为 10 条)会自动改用更小的批次。

同时请求数

Semestra 同时发给一个服务商的请求最多 4 个,其余的排队等候。后台任务总会留出一个名额,Sem 和搜索不用排在它们后面。要修改,在服务商的 ⋯ 菜单里选编辑,在高级里设置最多同时请求数。服务商经常提示请求过于频繁时调低。

后台任务(导入、识别扫描页、建立搜索索引)遇到服务商限流时最多等待 5 分钟,状态栏显示为等待中。Sem 和搜索只等几秒,不会让你一直等。

内网地址

在 SEMESTRA_ALLOW_PRIVATE_EGRESS 为 false 的服务器上(托管版和直接运行的 semestra dev),解析到内网、回环或链路本地地址的接口地址会被拒绝, 提示“该地址指向私有网络,无法使用。”见 Ollama。