blackantt 发表于 2024-4-23 00:14:21

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

这个命令在windows下怎么运行呢?

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


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

isdkz 发表于 2024-4-23 00:14:22

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

小甲鱼的二师兄 发表于 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 数据中的双引号进行转义,即在每个双引号前加一个反斜杠(\)。

不二如是 发表于 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 字符串才会被正确解析。

blackantt 发表于 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?\"}'

isdkz 发表于 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 的多个参数

blackantt 发表于 2024-4-25 20:05:06

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

明白了
页: [1]
查看完整版本: curl -X POST http://localhost:11434/api/generate -d '{ 怎么运行呢?