Semestra

AI 与 BYOK

Semestra 的 AI 功能使用你自己的服务商。密钥如何保存、用哪个模型。

Sem(助手)、课程大纲和课表识别、图片读取以及文件搜索,都会调用你配置的 AI 服务商:使用你自己的密钥(BYOK)。 Semestra 不转售模型调用,所以没有 AI 额度,Semestra 也不会收 AI 费用;费用由你的服务商直接向你收取。

在哪里配置

全局设置里的 AI 分组:

页面内容
服务商你的服务商:类型、名称、接口地址、密钥,以及接口支持的能力
模型每种用途使用哪个模型,以及可选的模型参数
用量已用的 token 数和估算费用

密钥如何保存

  • 密钥写入数据库前用服务器的 SEMESTRA_ENCRYPTION_KEY 加密。API 只会返回打码后的提示。
  • 保存服务商前会先试调用一次,修改密钥时也会再试一次。
  • 数据导出永远不包含密钥。导入备份后,原本有密钥的服务商会保持关闭,直到你重新填写密钥。

用途

每次 AI 调用都有一个用途,每种用途需要服务商具备一种能力。

用途用于需要的能力
Sem与助手对话,以及压缩对话chat
读取文档从课程大纲中提取课程信息、截止日期和成绩构成chat
读取图片课表截图vision
OCR扫描版 PDF 和照片里的文字vision
搜索在课程文件中查找段落embedding
轻量任务对话标题、推荐问题、整理 Sem 的记忆chat

文件索引

新添加的课程文件会立即读取并建立索引,扫描页会在这时交给图像模型、段落交给搜索模型。想控制这部分开销,可以在学业项目(或某门课程)的设置里关闭 文件索引 → 自动为新文件建立索引。关闭期间添加的文件,在你手动建立索引或导入用到它时才会建立索引。

搜索向量只对生成它的模型有效,所以更换搜索模型会在后台为所有已建立索引的文件重新计算向量。已有向量时,设置里会先确认再更换。

由哪个模型回答

对每种用途,Semestra 依次尝试:

  1. 你在模型页为这个用途选择的模型,前提是它的服务商已启用且具备所需能力。
  2. 任一已启用且具备该能力的服务商,使用该服务商类型的推荐模型。
  3. 自部署实例上的全实例服务商。

都不满足时,功能会显示一个不打扰的“连接 AI”提示,而不是报错。

推荐模型(第 2 步使用):

服务商Sem、读取文档、读取图片轻量任务搜索
Anthropicclaude-sonnet-5-5claude-haiku-5-5(无)
OpenAIgpt-5;读取文档和图片用 gpt-5-minigpt-5-nanotext-embedding-3-small
Geminigemini-2.5-pro;读取文档和图片用 gemini-2.5-flashgemini-2.5-flash-litegemini-embedding-001
Ollamaqwen3:8b(不读图片)qwen3:8bnomic-embed-text

OCR 使用轻量任务的模型(Ollama 没有)。自部署的服务器也可以在本机用 PaddleOCR 识别、完全不用模型,见本机 OCR。搜索用的向量也可以在本机计算,见本机 embedding。

兼容接口没有推荐模型:请在模型页选择;接口不能列出模型时,直接输入模型名。

费用估算

用量页用服务器内置的 genai-prices 价格表估算费用。兼容接口按接口地址匹配(DeepSeek、 OpenRouter 等);没有已知价格的模型不显示费用,Ollama 始终免费。