鱼C论坛

 找回密码
 立即注册
查看: 252|回复: 6

[其他] curl -X POST http://localhost:11434/api/generate -d '{ 怎么运行呢?

[复制链接]
发表于 2024-4-23 00:14:21 | 显示全部楼层 |阅读模式
5鱼币
这个命令在windows下怎么运行呢?

curl -X POST http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt":"Why is the sky blue?"
}'


在 cmd 下,一行一行的输入吗?还是需要收成1行再输入?

最佳答案

查看完整内容

curl -X POST http://localhost:11434/api/generate -d "{\"model\": \"llama3\", \"prompt\":\"Why is the sky blue?\"}"
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-4-23 00:14:22 | 显示全部楼层
curl -X POST http://localhost:11434/api/generate -d "{\"model\": \"llama3\", \"prompt\":\"Why is the sky blue?\"}"
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-4-23 01:53:39 | 显示全部楼层
curl -X POST http://localhost:11434/api/generate -d "{ "model": "llama3", "prompt":"Why is the sky blue?"}"
注意:在 Windows 的命令提示符下,需要对 JSON 数据中的双引号进行转义,即在每个双引号前加一个反斜杠(\)。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-4-24 21:11:42 | 显示全部楼层
无非就以下两种方式在 Windows cmd 中运行~

方式一:单行命令

将整个命令整理成一行来运行,这通常是最直接的方式。

但是,需要注意的是,Windows 中的命令行处理器(cmd)对于引号的处理与 Unix/Linux 系统不同。

在 Windows 下,鱼油需要使用双引号来包围整个 JSON 数据,并在必要时使用转义字符(如 \" 代替内部的双引号):
curl -X POST http://localhost:11434/api/generate -d "{"model": "llama3", "prompt":"Why is the sky blue?"}"

方式二:多行命令使用 ^
如果命令太长或者为了提高可读性,可以使用 Windows cmd 的行继续符 ^ 来分割命令。

每行的末尾添加一个 ^,然后换行继续输入。

注意,^ 后面必须紧跟换行,中间不能有任何空格或其他字符:
curl -X POST http://localhost:11434/api/generate -d "{^
  "model": "llama3",^
  "prompt":"Why is the sky blue?"^
}"
确保每个内部的双引号都正确转义(使用 \"),这样 JSON 字符串才会被正确解析。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-4-25 14:59:10 | 显示全部楼层
isdkz 发表于 2024-4-23 00:14
curl -X POST http://localhost:11434/api/generate -d "{\"model\": \"llama3\", \"prompt\":\"Why is the ...


为啥外围用单引号不行,只能用双引号呢?

curl -X POST http://localhost:11434/api/generate -d '{\"model\": \"llama3\", \"prompt\":\"Why is the sky blue?\"}'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-4-25 18:35:33 | 显示全部楼层
blackantt 发表于 2024-4-25 14:59
为啥外围用单引号不行,只能用双引号呢?

curl -X POST http://localhost:11434/api/generate -d '{\ ...

因为 cmd 命令中单引号并不用来表示字符串,它会把单引号当成字符串中的一部分,这一点是跟 linux 是不一样的

这是平台的差异,就比如C语言不用单引号表示字符串,而 python 可以用单引号表示字符串一样的道理

所以你使用 curl -X POST http://localhost:11434/api/generate -d '{\"model\": \"llama3\", \"prompt\":\"Why is the sky blue?\"}' 这条命令时, '{\"model\": \"llama3\", \"prompt\":\"Why is the sky blue?\"}' 会以空格分隔开被当成了传给 curl 的多个参数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-4-25 20:05:06 | 显示全部楼层
isdkz 发表于 2024-4-25 18:35
因为 cmd 命令中单引号并不用来表示字符串,它会把单引号当成字符串中的一部分,这一点是跟 linux 是不一 ...

明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 10:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表