module OpenAI.V1.VectorStores.Files
(
VectorStoreFileID(..)
, CreateVectorStoreFile(..)
, _CreateVectorStoreFile
, VectorStoreFileObject(..)
, API
) where
import OpenAI.Prelude
import OpenAI.V1.ChunkingStrategy
import OpenAI.V1.DeletionStatus
import OpenAI.V1.Files (FileID)
import OpenAI.V1.Error
import OpenAI.V1.ListOf
import OpenAI.V1.Order
import OpenAI.V1.VectorStores (VectorStoreID)
import OpenAI.V1.VectorStores.Status
newtype VectorStoreFileID = VectorStoreFileID{ VectorStoreFileID -> Text
text :: Text }
deriving newtype (Maybe VectorStoreFileID
Value -> Parser [VectorStoreFileID]
Value -> Parser VectorStoreFileID
(Value -> Parser VectorStoreFileID)
-> (Value -> Parser [VectorStoreFileID])
-> Maybe VectorStoreFileID
-> FromJSON VectorStoreFileID
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser VectorStoreFileID
parseJSON :: Value -> Parser VectorStoreFileID
$cparseJSONList :: Value -> Parser [VectorStoreFileID]
parseJSONList :: Value -> Parser [VectorStoreFileID]
$comittedField :: Maybe VectorStoreFileID
omittedField :: Maybe VectorStoreFileID
FromJSON, String -> VectorStoreFileID
(String -> VectorStoreFileID) -> IsString VectorStoreFileID
forall a. (String -> a) -> IsString a
$cfromString :: String -> VectorStoreFileID
fromString :: String -> VectorStoreFileID
IsString, Int -> VectorStoreFileID -> ShowS
[VectorStoreFileID] -> ShowS
VectorStoreFileID -> String
(Int -> VectorStoreFileID -> ShowS)
-> (VectorStoreFileID -> String)
-> ([VectorStoreFileID] -> ShowS)
-> Show VectorStoreFileID
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> VectorStoreFileID -> ShowS
showsPrec :: Int -> VectorStoreFileID -> ShowS
$cshow :: VectorStoreFileID -> String
show :: VectorStoreFileID -> String
$cshowList :: [VectorStoreFileID] -> ShowS
showList :: [VectorStoreFileID] -> ShowS
Show, VectorStoreFileID -> Text
VectorStoreFileID -> ByteString
VectorStoreFileID -> Builder
(VectorStoreFileID -> Text)
-> (VectorStoreFileID -> Builder)
-> (VectorStoreFileID -> ByteString)
-> (VectorStoreFileID -> Text)
-> (VectorStoreFileID -> Builder)
-> ToHttpApiData VectorStoreFileID
forall a.
(a -> Text)
-> (a -> Builder)
-> (a -> ByteString)
-> (a -> Text)
-> (a -> Builder)
-> ToHttpApiData a
$ctoUrlPiece :: VectorStoreFileID -> Text
toUrlPiece :: VectorStoreFileID -> Text
$ctoEncodedUrlPiece :: VectorStoreFileID -> Builder
toEncodedUrlPiece :: VectorStoreFileID -> Builder
$ctoHeader :: VectorStoreFileID -> ByteString
toHeader :: VectorStoreFileID -> ByteString
$ctoQueryParam :: VectorStoreFileID -> Text
toQueryParam :: VectorStoreFileID -> Text
$ctoEncodedQueryParam :: VectorStoreFileID -> Builder
toEncodedQueryParam :: VectorStoreFileID -> Builder
ToHttpApiData, [VectorStoreFileID] -> Value
[VectorStoreFileID] -> Encoding
VectorStoreFileID -> Bool
VectorStoreFileID -> Value
VectorStoreFileID -> Encoding
(VectorStoreFileID -> Value)
-> (VectorStoreFileID -> Encoding)
-> ([VectorStoreFileID] -> Value)
-> ([VectorStoreFileID] -> Encoding)
-> (VectorStoreFileID -> Bool)
-> ToJSON VectorStoreFileID
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: VectorStoreFileID -> Value
toJSON :: VectorStoreFileID -> Value
$ctoEncoding :: VectorStoreFileID -> Encoding
toEncoding :: VectorStoreFileID -> Encoding
$ctoJSONList :: [VectorStoreFileID] -> Value
toJSONList :: [VectorStoreFileID] -> Value
$ctoEncodingList :: [VectorStoreFileID] -> Encoding
toEncodingList :: [VectorStoreFileID] -> Encoding
$comitField :: VectorStoreFileID -> Bool
omitField :: VectorStoreFileID -> Bool
ToJSON)
data CreateVectorStoreFile = CreateVectorStoreFile
{ CreateVectorStoreFile -> FileID
file_id :: FileID
, CreateVectorStoreFile -> Maybe ChunkingStrategy
chunking_strategy :: Maybe ChunkingStrategy
} deriving stock ((forall x. CreateVectorStoreFile -> Rep CreateVectorStoreFile x)
-> (forall x. Rep CreateVectorStoreFile x -> CreateVectorStoreFile)
-> Generic CreateVectorStoreFile
forall x. Rep CreateVectorStoreFile x -> CreateVectorStoreFile
forall x. CreateVectorStoreFile -> Rep CreateVectorStoreFile x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. CreateVectorStoreFile -> Rep CreateVectorStoreFile x
from :: forall x. CreateVectorStoreFile -> Rep CreateVectorStoreFile x
$cto :: forall x. Rep CreateVectorStoreFile x -> CreateVectorStoreFile
to :: forall x. Rep CreateVectorStoreFile x -> CreateVectorStoreFile
Generic, Int -> CreateVectorStoreFile -> ShowS
[CreateVectorStoreFile] -> ShowS
CreateVectorStoreFile -> String
(Int -> CreateVectorStoreFile -> ShowS)
-> (CreateVectorStoreFile -> String)
-> ([CreateVectorStoreFile] -> ShowS)
-> Show CreateVectorStoreFile
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CreateVectorStoreFile -> ShowS
showsPrec :: Int -> CreateVectorStoreFile -> ShowS
$cshow :: CreateVectorStoreFile -> String
show :: CreateVectorStoreFile -> String
$cshowList :: [CreateVectorStoreFile] -> ShowS
showList :: [CreateVectorStoreFile] -> ShowS
Show)
deriving anyclass ([CreateVectorStoreFile] -> Value
[CreateVectorStoreFile] -> Encoding
CreateVectorStoreFile -> Bool
CreateVectorStoreFile -> Value
CreateVectorStoreFile -> Encoding
(CreateVectorStoreFile -> Value)
-> (CreateVectorStoreFile -> Encoding)
-> ([CreateVectorStoreFile] -> Value)
-> ([CreateVectorStoreFile] -> Encoding)
-> (CreateVectorStoreFile -> Bool)
-> ToJSON CreateVectorStoreFile
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: CreateVectorStoreFile -> Value
toJSON :: CreateVectorStoreFile -> Value
$ctoEncoding :: CreateVectorStoreFile -> Encoding
toEncoding :: CreateVectorStoreFile -> Encoding
$ctoJSONList :: [CreateVectorStoreFile] -> Value
toJSONList :: [CreateVectorStoreFile] -> Value
$ctoEncodingList :: [CreateVectorStoreFile] -> Encoding
toEncodingList :: [CreateVectorStoreFile] -> Encoding
$comitField :: CreateVectorStoreFile -> Bool
omitField :: CreateVectorStoreFile -> Bool
ToJSON)
_CreateVectorStoreFile :: CreateVectorStoreFile
_CreateVectorStoreFile :: CreateVectorStoreFile
_CreateVectorStoreFile = CreateVectorStoreFile
{ $sel:chunking_strategy:CreateVectorStoreFile :: Maybe ChunkingStrategy
chunking_strategy = Maybe ChunkingStrategy
forall a. Maybe a
Nothing
}
data VectorStoreFileObject = VectorStoreFileObject
{ VectorStoreFileObject -> VectorStoreFileID
id :: VectorStoreFileID
, VectorStoreFileObject -> Text
object :: Text
, VectorStoreFileObject -> Natural
usage_bytes :: Natural
, VectorStoreFileObject -> POSIXTime
created_at :: POSIXTime
, VectorStoreFileObject -> VectorStoreID
vector_store_id :: VectorStoreID
, VectorStoreFileObject -> Status
status :: Status
, VectorStoreFileObject -> Maybe Error
last_error :: Maybe Error
, VectorStoreFileObject -> ChunkingStrategy
chunking_strategy :: ChunkingStrategy
} deriving stock ((forall x. VectorStoreFileObject -> Rep VectorStoreFileObject x)
-> (forall x. Rep VectorStoreFileObject x -> VectorStoreFileObject)
-> Generic VectorStoreFileObject
forall x. Rep VectorStoreFileObject x -> VectorStoreFileObject
forall x. VectorStoreFileObject -> Rep VectorStoreFileObject x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. VectorStoreFileObject -> Rep VectorStoreFileObject x
from :: forall x. VectorStoreFileObject -> Rep VectorStoreFileObject x
$cto :: forall x. Rep VectorStoreFileObject x -> VectorStoreFileObject
to :: forall x. Rep VectorStoreFileObject x -> VectorStoreFileObject
Generic, Int -> VectorStoreFileObject -> ShowS
[VectorStoreFileObject] -> ShowS
VectorStoreFileObject -> String
(Int -> VectorStoreFileObject -> ShowS)
-> (VectorStoreFileObject -> String)
-> ([VectorStoreFileObject] -> ShowS)
-> Show VectorStoreFileObject
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> VectorStoreFileObject -> ShowS
showsPrec :: Int -> VectorStoreFileObject -> ShowS
$cshow :: VectorStoreFileObject -> String
show :: VectorStoreFileObject -> String
$cshowList :: [VectorStoreFileObject] -> ShowS
showList :: [VectorStoreFileObject] -> ShowS
Show)
deriving anyclass (Maybe VectorStoreFileObject
Value -> Parser [VectorStoreFileObject]
Value -> Parser VectorStoreFileObject
(Value -> Parser VectorStoreFileObject)
-> (Value -> Parser [VectorStoreFileObject])
-> Maybe VectorStoreFileObject
-> FromJSON VectorStoreFileObject
forall a.
(Value -> Parser a)
-> (Value -> Parser [a]) -> Maybe a -> FromJSON a
$cparseJSON :: Value -> Parser VectorStoreFileObject
parseJSON :: Value -> Parser VectorStoreFileObject
$cparseJSONList :: Value -> Parser [VectorStoreFileObject]
parseJSONList :: Value -> Parser [VectorStoreFileObject]
$comittedField :: Maybe VectorStoreFileObject
omittedField :: Maybe VectorStoreFileObject
FromJSON)
type API =
"vector_stores"
:> Header' '[Required, Strict] "OpenAI-Beta" Text
:> ( Capture "vector_store_id" VectorStoreID
:> "files"
:> ReqBody '[JSON] CreateVectorStoreFile
:> Post '[JSON] VectorStoreFileObject
:<|> Capture "vector_store_id" VectorStoreID
:> "files"
:> QueryParam "limit" Natural
:> QueryParam "order" Order
:> QueryParam "after" Text
:> QueryParam "before" Text
:> QueryParam "filter" Status
:> Get '[JSON] (ListOf VectorStoreFileObject)
:<|> Capture "vector_store_id" VectorStoreID
:> "files"
:> Capture "file_id" VectorStoreFileID
:> Get '[JSON] VectorStoreFileObject
:<|> Capture "vector_store_id" VectorStoreID
:> "files"
:> Capture "file_id" VectorStoreFileID
:> Delete '[JSON] DeletionStatus
)