langchain-hs-0.0.1.0: Haskell implementation of Langchain
Copyright(c) 2025 Tushar Adhatrao
LicenseMIT
MaintainerTushar Adhatrao <tusharadhatrao@gmail.com>
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Langchain.LLM.OpenAI

Description

OpenAI implementation of LangChain's LLM interface. Not tested

Synopsis

Documentation

data OpenAI Source #

Constructors

OpenAI 

Instances

Instances details
Show OpenAI Source # 
Instance details

Defined in Langchain.LLM.OpenAI

LLM OpenAI Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Data Types

data ChatCompletionRequest Source #

Main request type for chat completions Contains all parameters for configuring the OpenAI chat completion API call.

Instances

Instances details
ToJSON ChatCompletionRequest Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic ChatCompletionRequest Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep ChatCompletionRequest :: Type -> Type #

Show ChatCompletionRequest Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq ChatCompletionRequest Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep ChatCompletionRequest Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep ChatCompletionRequest = D1 ('MetaData "ChatCompletionRequest" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "ChatCompletionRequest" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "messages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Message]) :*: (S1 ('MetaSel ('Just "model") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "frequencyPenalty") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Double)))) :*: ((S1 ('MetaSel ('Just "logitBias") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Map Text Double))) :*: S1 ('MetaSel ('Just "logprobs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool))) :*: (S1 ('MetaSel ('Just "maxCompletionTokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "maxTokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int))))) :*: ((S1 ('MetaSel ('Just "metadata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Map Text Text))) :*: (S1 ('MetaSel ('Just "modalities") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [Modality])) :*: S1 ('MetaSel ('Just "n") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)))) :*: ((S1 ('MetaSel ('Just "parallelToolCalls") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "prediction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe PredictionOutput))) :*: (S1 ('MetaSel ('Just "presencePenalty") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Double)) :*: S1 ('MetaSel ('Just "reasoningEffort") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ReasoningEffort)))))) :*: (((S1 ('MetaSel ('Just "responseFormat") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ResponseFormat)) :*: (S1 ('MetaSel ('Just "seed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "serviceTier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "stop") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Either Text [Text]))) :*: S1 ('MetaSel ('Just "store") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool))) :*: (S1 ('MetaSel ('Just "stream") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "streamOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe StreamOptions))))) :*: (((S1 ('MetaSel ('Just "temperature") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Double)) :*: S1 ('MetaSel ('Just "toolChoice") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ToolChoice))) :*: (S1 ('MetaSel ('Just "tools") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [Tool_])) :*: S1 ('MetaSel ('Just "topLogprobs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Int)))) :*: ((S1 ('MetaSel ('Just "topP") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Double)) :*: S1 ('MetaSel ('Just "user") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "webSearchOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe WebSearchOptions)) :*: S1 ('MetaSel ('Just "audio") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe AudioConfig))))))))

data ChatCompletionResponse Source #

Instances

Instances details
FromJSON ChatCompletionResponse Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic ChatCompletionResponse Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep ChatCompletionResponse :: Type -> Type #

Show ChatCompletionResponse Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq ChatCompletionResponse Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep ChatCompletionResponse Source # 
Instance details

Defined in Langchain.LLM.OpenAI

data Message Source #

Represents a single message in a conversation Contains role, content, and optional metadata like function calls or audio responses.

Instances

Instances details
FromJSON Message Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON Message Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic Message Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep Message :: Type -> Type #

Methods

from :: Message -> Rep Message x #

to :: Rep Message x -> Message #

Show Message Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq Message Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Methods

(==) :: Message -> Message -> Bool #

(/=) :: Message -> Message -> Bool #

type Rep Message Source # 
Instance details

Defined in Langchain.LLM.OpenAI

data Role Source #

Represents different roles in a conversation User: Human user input Assistant: AI-generated response System: System-level instructions Developer: Special role for developer messages Tool: Tool interaction messages Function: Function call messages

Instances

Instances details
FromJSON Role Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON Role Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic Role Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep Role :: Type -> Type #

Methods

from :: Role -> Rep Role x #

to :: Rep Role x -> Role #

Show Role Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Methods

showsPrec :: Int -> Role -> ShowS #

show :: Role -> String #

showList :: [Role] -> ShowS #

Eq Role Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Methods

(==) :: Role -> Role -> Bool #

(/=) :: Role -> Role -> Bool #

type Rep Role Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep Role = D1 ('MetaData "Role" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) ((C1 ('MetaCons "User" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Assistant" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "System" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Developer" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Tool" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Function" 'PrefixI 'False) (U1 :: Type -> Type))))

data MessageContent Source #

Instances

Instances details
FromJSON MessageContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON MessageContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic MessageContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep MessageContent :: Type -> Type #

Show MessageContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq MessageContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep MessageContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep MessageContent = D1 ('MetaData "MessageContent" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "StringContent" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: C1 ('MetaCons "ContentParts" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TextContent])))

data TextContent Source #

Constructors

TextContent 

Fields

Instances

Instances details
FromJSON TextContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON TextContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic TextContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep TextContent :: Type -> Type #

Show TextContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq TextContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep TextContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep TextContent = D1 ('MetaData "TextContent" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "TextContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "text_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "contentType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data Tool_ Source #

Constructors

Tool_ 

Instances

Instances details
FromJSON Tool_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON Tool_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic Tool_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep Tool_ :: Type -> Type #

Methods

from :: Tool_ -> Rep Tool_ x #

to :: Rep Tool_ x -> Tool_ #

Show Tool_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Methods

showsPrec :: Int -> Tool_ -> ShowS #

show :: Tool_ -> String #

showList :: [Tool_] -> ShowS #

Eq Tool_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Methods

(==) :: Tool_ -> Tool_ -> Bool #

(/=) :: Tool_ -> Tool_ -> Bool #

type Rep Tool_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep Tool_ = D1 ('MetaData "Tool_" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "Tool_" 'PrefixI 'True) (S1 ('MetaSel ('Just "toolType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "function") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Function_)))

data Function_ Source #

Instances

Instances details
FromJSON Function_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON Function_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic Function_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep Function_ :: Type -> Type #

Show Function_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq Function_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep Function_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep Function_ = D1 ('MetaData "Function_" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "Function_" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "parameters") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Value)) :*: S1 ('MetaSel ('Just "strict") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)))))

data ToolCall Source #

Constructors

ToolCall 

Instances

Instances details
FromJSON ToolCall Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON ToolCall Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic ToolCall Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep ToolCall :: Type -> Type #

Methods

from :: ToolCall -> Rep ToolCall x #

to :: Rep ToolCall x -> ToolCall #

Show ToolCall Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq ToolCall Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep ToolCall Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep ToolCall = D1 ('MetaData "ToolCall" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "ToolCall" 'PrefixI 'True) (S1 ('MetaSel ('Just "id_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "toolType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "function") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FunctionCall_))))

data FunctionCall_ Source #

Constructors

FunctionCall_ 

Fields

Instances

Instances details
FromJSON FunctionCall_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON FunctionCall_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic FunctionCall_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep FunctionCall_ :: Type -> Type #

Show FunctionCall_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq FunctionCall_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep FunctionCall_ Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep FunctionCall_ = D1 ('MetaData "FunctionCall_" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "FunctionCall_" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "arguments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data Usage Source #

Instances

Instances details
FromJSON Usage Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic Usage Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep Usage :: Type -> Type #

Methods

from :: Usage -> Rep Usage x #

to :: Rep Usage x -> Usage #

Show Usage Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Methods

showsPrec :: Int -> Usage -> ShowS #

show :: Usage -> String #

showList :: [Usage] -> ShowS #

Eq Usage Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Methods

(==) :: Usage -> Usage -> Bool #

(/=) :: Usage -> Usage -> Bool #

type Rep Usage Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep Usage = D1 ('MetaData "Usage" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "Usage" 'PrefixI 'True) ((S1 ('MetaSel ('Just "completionTokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "promptTokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "totalTokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "completionTokensDetails") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CompletionTokensDetails)) :*: S1 ('MetaSel ('Just "promptTokensDetails") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe PromptTokensDetails))))))

data Choice Source #

Instances

Instances details
FromJSON Choice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic Choice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep Choice :: Type -> Type #

Methods

from :: Choice -> Rep Choice x #

to :: Rep Choice x -> Choice #

Show Choice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq Choice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Methods

(==) :: Choice -> Choice -> Bool #

(/=) :: Choice -> Choice -> Bool #

type Rep Choice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

data FinishReason Source #

Instances

Instances details
FromJSON FinishReason Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic FinishReason Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep FinishReason :: Type -> Type #

Show FinishReason Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq FinishReason Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep FinishReason Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep FinishReason = D1 ('MetaData "FinishReason" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) ((C1 ('MetaCons "Stop" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Length" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ContentFilter" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ToolCalls" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FunctionCall" 'PrefixI 'False) (U1 :: Type -> Type))))

data LogProbs Source #

Instances

Instances details
FromJSON LogProbs Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic LogProbs Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep LogProbs :: Type -> Type #

Methods

from :: LogProbs -> Rep LogProbs x #

to :: Rep LogProbs x -> LogProbs #

Show LogProbs Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq LogProbs Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep LogProbs Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep LogProbs = D1 ('MetaData "LogProbs" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "LogProbs" 'PrefixI 'True) (S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [LogProbContent])) :*: S1 ('MetaSel ('Just "refusal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [LogProbContent]))))

data LogProbContent Source #

Constructors

LogProbContent 

Instances

Instances details
FromJSON LogProbContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic LogProbContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep LogProbContent :: Type -> Type #

Show LogProbContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq LogProbContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep LogProbContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep LogProbContent = D1 ('MetaData "LogProbContent" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "LogProbContent" 'PrefixI 'True) ((S1 ('MetaSel ('Just "bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [Int])) :*: S1 ('MetaSel ('Just "logprob") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double)) :*: (S1 ('MetaSel ('Just "token") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "topLogprobs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TopLogProb]))))

data TopLogProb Source #

Constructors

TopLogProb 

Fields

Instances

Instances details
FromJSON TopLogProb Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic TopLogProb Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep TopLogProb :: Type -> Type #

Show TopLogProb Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq TopLogProb Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep TopLogProb Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep TopLogProb = D1 ('MetaData "TopLogProb" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "TopLogProb" 'PrefixI 'True) (S1 ('MetaSel ('Just "bytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [Int])) :*: (S1 ('MetaSel ('Just "logprob") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "token") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

data AudioConfig Source #

Configuration for audio processing Specifies format and voice preferences for text-to-speech

Constructors

AudioConfig 

Fields

Instances

Instances details
FromJSON AudioConfig Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON AudioConfig Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic AudioConfig Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep AudioConfig :: Type -> Type #

Show AudioConfig Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq AudioConfig Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep AudioConfig Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep AudioConfig = D1 ('MetaData "AudioConfig" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "AudioConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "format") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "voice") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data AudioResponse Source #

Constructors

AudioResponse 

Instances

Instances details
FromJSON AudioResponse Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON AudioResponse Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic AudioResponse Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep AudioResponse :: Type -> Type #

Show AudioResponse Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq AudioResponse Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep AudioResponse Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep AudioResponse = D1 ('MetaData "AudioResponse" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "AudioResponse" 'PrefixI 'True) ((S1 ('MetaSel ('Just "data_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "expiresAt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :*: (S1 ('MetaSel ('Just "id_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "transcript") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

data Modality Source #

Instances

Instances details
FromJSON Modality Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON Modality Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic Modality Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep Modality :: Type -> Type #

Methods

from :: Modality -> Rep Modality x #

to :: Rep Modality x -> Modality #

Show Modality Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq Modality Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep Modality Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep Modality = D1 ('MetaData "Modality" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "TextModality" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AudioModality" 'PrefixI 'False) (U1 :: Type -> Type))

data ToolChoice Source #

Instances

Instances details
FromJSON ToolChoice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON ToolChoice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic ToolChoice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep ToolChoice :: Type -> Type #

Show ToolChoice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq ToolChoice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep ToolChoice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep ToolChoice = D1 ('MetaData "ToolChoice" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) ((C1 ('MetaCons "None" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Auto" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Required" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SpecificTool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SpecificToolChoice))))

data SpecificToolChoice Source #

Constructors

SpecificToolChoice 

Fields

Instances

Instances details
FromJSON SpecificToolChoice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON SpecificToolChoice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic SpecificToolChoice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep SpecificToolChoice :: Type -> Type #

Show SpecificToolChoice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq SpecificToolChoice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep SpecificToolChoice Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep SpecificToolChoice = D1 ('MetaData "SpecificToolChoice" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SpecificToolChoice" 'PrefixI 'True) (S1 ('MetaSel ('Just "toolType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "function") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value)))

data ReasoningEffort Source #

Constructors

Low 
Medium 
High 

Instances

Instances details
FromJSON ReasoningEffort Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON ReasoningEffort Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic ReasoningEffort Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep ReasoningEffort :: Type -> Type #

Show ReasoningEffort Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq ReasoningEffort Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep ReasoningEffort Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep ReasoningEffort = D1 ('MetaData "ReasoningEffort" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "Low" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Medium" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "High" 'PrefixI 'False) (U1 :: Type -> Type)))

data PredictionOutput Source #

Instances

Instances details
FromJSON PredictionOutput Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON PredictionOutput Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic PredictionOutput Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep PredictionOutput :: Type -> Type #

Show PredictionOutput Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq PredictionOutput Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep PredictionOutput Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep PredictionOutput = D1 ('MetaData "PredictionOutput" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "PredictionOutput" 'PrefixI 'True) (S1 ('MetaSel ('Just "predictionType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MessageContent)))

data PredictionContent Source #

Instances

Instances details
FromJSON PredictionContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON PredictionContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic PredictionContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep PredictionContent :: Type -> Type #

Show PredictionContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq PredictionContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep PredictionContent Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep PredictionContent = D1 ('MetaData "PredictionContent" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "PredictionContent" 'PrefixI 'True) (S1 ('MetaSel ('Just "content") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MessageContent) :*: S1 ('MetaSel ('Just "contentType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data ResponseFormat Source #

Instances

Instances details
FromJSON ResponseFormat Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON ResponseFormat Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic ResponseFormat Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep ResponseFormat :: Type -> Type #

Show ResponseFormat Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq ResponseFormat Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep ResponseFormat Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep ResponseFormat = D1 ('MetaData "ResponseFormat" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "JsonObjectFormat" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "JsonSchemaFormat" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value)))

data StreamOptions Source #

Constructors

StreamOptions 

Fields

Instances

Instances details
FromJSON StreamOptions Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON StreamOptions Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic StreamOptions Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep StreamOptions :: Type -> Type #

Show StreamOptions Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq StreamOptions Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep StreamOptions Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep StreamOptions = D1 ('MetaData "StreamOptions" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "StreamOptions" 'PrefixI 'True) (S1 ('MetaSel ('Just "includeUsage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

data WebSearchOptions Source #

Instances

Instances details
FromJSON WebSearchOptions Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON WebSearchOptions Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic WebSearchOptions Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep WebSearchOptions :: Type -> Type #

Show WebSearchOptions Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq WebSearchOptions Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep WebSearchOptions Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep WebSearchOptions = D1 ('MetaData "WebSearchOptions" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "WebSearchOptions" 'PrefixI 'True) (S1 ('MetaSel ('Just "searchContextSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "userLocation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe UserLocation))))

data UserLocation Source #

Instances

Instances details
FromJSON UserLocation Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON UserLocation Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic UserLocation Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep UserLocation :: Type -> Type #

Show UserLocation Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq UserLocation Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep UserLocation Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep UserLocation = D1 ('MetaData "UserLocation" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "UserLocation" 'PrefixI 'True) (S1 ('MetaSel ('Just "approximate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ApproximateLocation)))

data ApproximateLocation Source #

Constructors

ApproximateLocation 

Fields

Instances

Instances details
FromJSON ApproximateLocation Source # 
Instance details

Defined in Langchain.LLM.OpenAI

ToJSON ApproximateLocation Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic ApproximateLocation Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep ApproximateLocation :: Type -> Type #

Show ApproximateLocation Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq ApproximateLocation Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep ApproximateLocation Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep ApproximateLocation = D1 ('MetaData "ApproximateLocation" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "ApproximateLocation" 'PrefixI 'True) (S1 ('MetaSel ('Just "locationType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data CompletionTokensDetails Source #

Instances

Instances details
FromJSON CompletionTokensDetails Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Generic CompletionTokensDetails Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Associated Types

type Rep CompletionTokensDetails :: Type -> Type #

Show CompletionTokensDetails Source # 
Instance details

Defined in Langchain.LLM.OpenAI

Eq CompletionTokensDetails Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep CompletionTokensDetails Source # 
Instance details

Defined in Langchain.LLM.OpenAI

type Rep CompletionTokensDetails = D1 ('MetaData "CompletionTokensDetails" "Langchain.LLM.OpenAI" "langchain-hs-0.0.1.0-inplace" 'False) (C1 ('MetaCons "CompletionTokensDetails" 'PrefixI 'True) ((S1 ('MetaSel ('Just "acceptedPredictionTokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "audioTokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "reasoningTokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "rejectedPredictionTokens") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))

data PromptTokensDetails Source #

Constructors

PromptTokensDetails 

Functions

createChatCompletion :: Text -> ChatCompletionRequest -> IO (Either String ChatCompletionResponse) Source #

Creates a chat completion request Sends the request to OpenAI API and returns the parsed response.

Example usage: response <- createChatCompletion "your-api-key" request case response of Right res -> print (choices res) Left err -> putStrLn err

defaultChatCompletionRequest :: ChatCompletionRequest Source #

Default chat completion request Uses "gpt-4o-mini-2024-07-18" as the default model. All other parameters are set to Nothing.