packages feed

langchain-hs-0.0.5.0: src/Langchain/PromptTemplate/Chat.hs

{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}

{- |
Module      : Langchain.PromptTemplate.Chat
Description : Chat prompt template primitives
Copyright   : (c) 2025-2026 Tushar Adhatrao
License     : MIT
Maintainer  : Tushar Adhatrao <tusharadhatrao@gmail.com>
Stability   : experimental

Minimal chat prompt primitives ported from LangChain Python chat prompts.
-}
module Langchain.PromptTemplate.Chat
  ( BaseMessagePromptTemplate (..)
  , extractTemplateVariables
  ) where

import Langchain.Core.Error (LangchainError)
import Langchain.Core.Model.Types (Message)
import Langchain.PromptTemplate.Prompt (extractTemplateVariables)

-- | Base class for message prompt templates.
class BaseMessagePromptTemplate template input where
  formatMessages :: template -> input -> Either LangchainError [Message]