@hackage openai-hs0.2.2.0
Unofficial OpenAI client
Categories
License
BSD-3-Clause
Maintainer
Alexander Thiemann <mail@thiemann.at>
Links
Versions
Installation
Dependencies (12)
- aeson
- base >=4.7 && <5
- bytestring
- casing
- cpphs
- http-client Show all…
Dependents (0)
openai-hs
Unofficial OpenAI SDK/client for Haskell. It's generated via servant-client from openai-servant with a small amount of hand-written code. Contributions are welcome!
Install
# stack
stack install openai-hs
# cabal
cabal install openai-hs
Example
{-# LANGUAGE OverloadedStrings #-}
import OpenAI.Client
import Network.HTTP.Client
import Network.HTTP.Client.TLS
import System.Environment (getEnv)
import qualified Data.Vector as V
main :: IO ()
main =
do manager <- newManager tlsManagerSettings
apiKey <- T.pack <$> getEnv "OPENAI_KEY"
-- create a openai client that automatically retries up to 4 times on network
-- errors
let client = makeOpenAIClient apiKey manager 4
result <-
searchDocuments cli (eId firstEngine) $
SearchResultCreate
{ sccrDocuments = V.fromList ["pool", "gym", "night club"]
, sccrQuery = "swimmer"
}
print result
Features
Supported actions:
- List engines
- Retrieve engine
- Create text completion
- Run semantic search
Running the tests
You can run all tests with stack test. You'll need an OpenAI API Key assigned to the OPENAI_KEY environment variable.