Пример с curl и полным набором параметров
Полноценный пример запроса с curl и полным набором параметров с учетом контекста
#!/bin/bash
# Первый запрос - получаем контекст
echo "=== Первый запрос ==="
response1=$(curl -s http://localhost:11434/api/generate -d '{
"model": "qwen3:4b",
"prompt": "Расскажи о преимуществах языка Python",
"stream": false,
"format": "json",
"options": {
"temperature": 0.7,
"top_p": 0.9,
"top_k": 40,
"num_predict": 256,
"stop": ["\n", "###"],
"repeat_penalty": 1.1,
"presence_penalty": 0.0,
"frequency_penalty": 0.0,
"seed": 42,
"mirostat": 2,
"mirostat_tau": 5.0,
"mirostat_eta": 0.1,
"num_ctx": 2048,
"num_thread": 8
},
"template": "Ответь как эксперт: {{ .Prompt }}\n\nОтвет:"
}')
# Извлекаем ответ и контекст
answer1=$(echo $response1 | jq -r '.response')
context=$(echo $response1 | jq '.context')
echo "Ответ: $answer1"
echo "Контекст получен"
# Второй запрос с контекстом
echo -e "\n=== Второй запрос с контекстом ==="
response2=$(curl -s http://localhost:11434/api/generate -d '{
"model": "qwen3:4b",
"prompt": "А какие у Python недостатки?",
"context": '"$context"',
"stream": false,
"format": "text",
"options": {
"temperature": 0.5,
"top_p": 0.8,
"top_k": 30,
"num_predict": 200,
"stop": ["\n\n"],
"repeat_penalty": 1.2,
"seed": 123
}
}')
answer2=$(echo $response2 | jq -r '.response')
echo "Ответ: $answer2"