{-# LANGUAGE DuplicateRecordFields #-}
{- |
#Ollama-Haskell#
This library lets you run LlMs from within Haskell projects. Inspired by `ollama-python`.
-}
module Ollama
( -- * Main APIs
-- ** Generate Texts
generate
, generateJson
, defaultGenerateOps
, GenerateOps (..)
, GenerateResponse (..)
-- ** Chat with LLMs
, chat
, chatJson
, Role (..)
, defaultChatOps
, ChatResponse (..)
, ChatOps (..)
-- ** Embeddings
, embedding
, embeddingOps
, EmbeddingOps (..)
, EmbeddingResp (..)
-- * Ollama operations
-- ** Copy Models
, copyModel
-- ** Create Models
, createModel
, createModelOps
-- ** Delete Models
, deleteModel
-- ** List Models
, list
-- ** List currently running models
, ps
-- ** Push and Pull
, push
, pushOps
, pull
, pullOps
-- ** Show Model Info
, showModel
, showModelOps
-- * Types
, ShowModelResponse (..)
, Models (..)
, ModelInfo (..)
, RunningModels (..)
, RunningModel (..)
, Message (..)
, Format(..)
)
where
import Data.Ollama.Chat
( ChatOps (..)
, ChatResponse (..)
, Message (..)
, Role (..)
, chat
, chatJson
, defaultChatOps
)
import Data.Ollama.Copy (copyModel)
import Data.Ollama.Create (createModel, createModelOps)
import Data.Ollama.Delete (deleteModel)
import Data.Ollama.Embeddings (embedding, embeddingOps, EmbeddingOps (..), EmbeddingResp (..))
import Data.Ollama.Generate
( GenerateOps (..)
, GenerateResponse (..)
, defaultGenerateOps
, generate
, generateJson
)
import Data.Ollama.List (ModelInfo (..), Models (..), list)
import Data.Ollama.Ps (RunningModel (..), RunningModels (..), ps)
import Data.Ollama.Pull (pull, pullOps)
import Data.Ollama.Push (push, pushOps)
import Data.Ollama.Show (ShowModelResponse (..), showModel, showModelOps)
import Data.Ollama.Common.Types (Format (..))