piapia123
zh

大模型 curl 生成

网络

所有处理都在浏览器本地完成,数据不上传服务器

输入
把文件拖到这里可直接载入
输出

「用 curl 调一次模型」几乎每个人都要手写一遍,而两种后端的细节处处不同:路径(`/api/chat` 与 `/v1/chat/completions`)、采样参数的位置(Ollama 嵌在 `options` 里,OpenAI 在顶层)、要不要 `Authorization`、JSON 模式怎么写、响应形态也不同。写错时的报错通常很含糊 —— 一个 400,或者一段看不懂的 JSON。 所以这里把两套的差别做成一个下拉,输出的是能直接粘进终端的完整命令与请求体,另外单独给一块「两种后端不一样的地方」,换后端时照着改就行。 ⚠️ 它只生成命令,不发送请求,也不读你的环境变量 —— `$OPENAI_API_KEY` 是原样交给 shell 去展开的。这一点很重要:一个「请求生成器」很容易被当成「请求发送器」,而本站没有任何后端,也从不代表你发请求。

功能

  • 两套接口合一个:Ollama 原生(`/api/chat`)与 OpenAI 兼容(`/v1/chat/completions`)
  • ⚠️ 把两边的差别单独列出来:最常写错的是 Ollama 的采样参数在 `options` 里、OpenAI 的在顶层
  • 输出的 curl 命令可直接粘进终端(请求体用单引号包住,里面的单引号按 shell 的规则正确断开)
  • 请求体单独一块,可整块复制去改别的语言
  • 系统提示词可选;不填时不会塞一条空的进消息数组
  • JSON 模式两边写法不同,按当前后端生成对应的那个字段
  • 温度越界(不在 0–2)在生成前就报错,不会给你一条注定 400 的命令
  • ⚠️ 密钥写成 `$OPENAI_API_KEY` 这样的变量引用 —— 工具不读环境、不碰真实密钥
  • 全部在浏览器本地完成,只生成文本

使用方法

  1. 写下要发给模型的提示词
  2. 选接口(本机 Ollama 还是 OpenAI 兼容的服务)
  3. 需要就填服务地址、模型名与系统提示词;不填用各后端的常见默认值
  4. 复制整条 curl 命令,粘进终端执行

常见问题

它会替我发请求吗?
不会。本站是纯静态站点,没有任何后端,这个工具的输出是一段文本 —— 命令、请求体、以及两套接口的字段对照。它不联网、不读你的环境变量、也不知道你的密钥是什么。要真的调用,把生成的命令粘进终端自己执行。
为什么 Ollama 那条命令里没有密钥?
因为 Ollama 默认只监听本机(`127.0.0.1:11434`)且不做鉴权,本地调用不需要密钥。⚠️ 但这也是它最需要注意的地方:一旦把 Ollama 暴露到公网而没有加反向代理做鉴权,任何人都能在你的机器上跑模型、吃满你的显卡与内存 —— 这比泄露一个 API key 严重得多。要远程用,请套一层带鉴权的反向代理。
为什么我把 temperature 写在顶层,改了没反应?
因为 Ollama 的采样参数在 `options` 对象里(`options.temperature`、`options.num_predict`),而 OpenAI 兼容接口放在顶层。写在顶层不会报错 —— Ollama 会把不认识的字段静默忽略,于是你得到一个「参数改了但输出没变」的现象。这个工具按当前后端把位置放对,并在「两种后端不一样的地方」里把这几处对照列出来。
能生成 Python 或 JavaScript 版本吗?
目前只生成 curl。选它的理由是通用的下限:curl 在任何装了它的机器上都能跑,粘进文档、工单、README 都不会失真,而且它把 HTTP 请求的每一部分(方法、头、体)都摊开写着 —— 换成别的语言时,照抄这几个部分就行。请求体是独立的一块 JSON,直接拿去 `requests.post(url, json=body)` 或 `fetch(url, {body})` 都能用。

相关工具