Какво е Ollama API?

Ollama е инструмент с отворен код за локално стартиране на големи езикови модели (LLMs) на вашата машина. Той предоставя REST API, който приема HTTP заявки, позволявайки ви да взаимодействате с модели като Llama 3, Mistral, Gemma и много други директно от вашия терминал или код на приложението. API следва прост модел на заявка/отговор, базиран на JSON, и поддържа генериране на текст, многоходови чат разговори и текстови embeddings.

cURL е най-разпространеният начин за тестване и взаимодействие с Ollama API. Въпреки това, конструирането на правилната cURL команда с всички необходими параметри, хедъри и форматиране на JSON тялото може да бъде досадно и склонно към грешки, особено при настройване на опции на модела като temperature и top-k семплиране.

Описание на инструмента

Този инструмент генерира готови за употреба cURL команди за Ollama API endpoints. Изберете endpoint, конфигурирайте вашия модел и параметри и получете правилно форматирана cURL команда незабавно. Генерираната команда включва всички необходими хедъри, структура на JSON тялото и опции на модела — готова за поставяне във вашия терминал.

Примери

Основно генериране на текст:

curl -X POST "http://localhost:11434/api/generate" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "prompt": "Explain quantum computing in simple terms",
  "stream": true
}'

Чат със системен prompt и персонализирана temperature:

curl -X POST "http://localhost:11434/api/chat" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "messages": [
    { "role": "system", "content": "You are a helpful coding assistant." },
    { "role": "user", "content": "Write a Python function to reverse a string" }
  ],
  "stream": false,
  "options": {
    "temperature": 0.3
  }
}'

Генериране на embeddings:

curl -X POST "http://localhost:11434/api/embeddings" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "prompt": "The quick brown fox jumps over the lazy dog",
  "stream": false
}'

Функционалности

  • Поддържа и трите основни Ollama endpoints: /api/generate, /api/chat и /api/embeddings
  • Конфигурируеми опции на модела: temperature, top-p, top-k, максимален брой токени, наказание за повторение и seed
  • Поддръжка на системен prompt за generate и chat endpoints
  • Опция за JSON формат на отговора за структуриран изход
  • Изтегляне на генерираната команда като .sh файл

Обяснение на опциите

Опция Описание По подразбиране Диапазон
Temperature Управлява случайността на изхода. По-ниските стойности произвеждат по-фокусиран текст, по-високите увеличават креативността. 0.7 0–2
Top P Праг за nucleus семплиране. Моделът разглежда токени, чиято кумулативна вероятност достига тази стойност. 0.9 0–1
Top K Ограничава избора на токени до K-те най-вероятни кандидати на всяка стъпка. 40 1–100
Максимален брой токени Максималният брой токени за генериране в отговора. Задайте -1 за неограничен. 128 -1–4096
Наказание за повторение Наказва повтарящите се токени. Стойности над 1.0 обезкуражават повторението. 1.1 0–2
Seed Фиксиран seed за възпроизводим изход. Оставете празно за произволни резултати. Произволно цяло число
Формат на отговора Задайте JSON, за да принудите модела да върне валиден JSON изход. Няма Няма / JSON
Stream Когато е активиран, отговорът се предава поток от токен по токен. Деактивирайте, за да получите пълния отговор наведнъж. Вкл. Вкл. / Изкл.

Случаи на употреба

  • Бързо прототипиране и тестване на Ollama API извиквания от терминала без ръчно писане на JSON
  • Генериране на cURL команди за споделяне с колеги или включване в документация
  • Експериментиране с различни параметри на модела за намиране на оптимални настройки за вашия случай на употреба