Skip to content

Commit 93a947f

Browse files
committed
Add endpoint to submit tool output
1 parent 7fd7a32 commit 93a947f

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed

openai-api-servant/src/OpenAI/Api.hs

+5
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,11 @@ type ThreadsApi =
155155
:<|> OpenAIAuth :> AzureAPIVer
156156
:> Capture "thread_id" ThreadId :> "runs"
157157
:> Capture "run_id" RunId :> Get '[JSON] Run
158+
:<|> OpenAIAuth :> AzureAPIVer
159+
:> Capture "thread_id" ThreadId :> "runs"
160+
:> Capture "run_id" RunId :> "submit_tool_outputs"
161+
:> ReqBody '[JSON] ToolOutputs
162+
:> Post '[JSON] Run
158163
:<|> OpenAIAuth :> AzureAPIVer
159164
:> Capture "thread_id" ThreadId :> "runs"
160165
:> ReqBody '[JSON] RunCreate :> Post '[JSON] Run

openai-api-servant/src/OpenAI/Resources.hs

+19
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,8 @@ module OpenAI.Resources
135135
RunStatus(..),
136136
RunRequiredAction(..),
137137
SubmitToolOutputs(..),
138+
ToolOutput(..),
139+
ToolOutputs(..),
138140
ThreadAndRunCreate(..),
139141

140142
-- * Vector Stores
@@ -1353,6 +1355,23 @@ data RunCreate = RunCreate
13531355

13541356
$(deriveJSON (jsonOpts 3) ''RunCreate)
13551357

1358+
data ToolOutput = ToolOutput
1359+
{ toToolCallId :: Maybe T.Text
1360+
, toOutput :: Maybe T.Text
1361+
}
1362+
deriving stock (Show, Eq, Generic)
1363+
deriving anyclass NFData
1364+
1365+
$(deriveJSON (jsonOpts 2) ''ToolOutput)
1366+
1367+
data ToolOutputs = ToolOutputs
1368+
{ tosToolOutputs :: [ToolOutput]
1369+
}
1370+
deriving stock (Show, Eq, Generic)
1371+
deriving anyclass NFData
1372+
1373+
$(deriveJSON (jsonOpts 3) ''ToolOutputs)
1374+
13561375
-- | Create a thread and run it in one request.
13571376
data ThreadAndRunCreate = ThreadAndRunCreate
13581377
{ tarcAssistantId :: AssistantId

openai-api/src/OpenAI/Client.hs

+5
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,13 @@ module OpenAI.Client
142142
RunStatus(..),
143143
RunRequiredAction(..),
144144
SubmitToolOutputs(..),
145+
ToolOutput(..),
146+
ToolOutputs(..),
145147
ThreadAndRunCreate(..),
146148
createRun,
147149
createThreadAndRun,
148150
getRun,
151+
submitToolOutputs,
149152
cancelRun,
150153

151154
-- * Fine tunes (out of date)
@@ -346,6 +349,7 @@ EP3 (createRun, Maybe String, ThreadId, RunCreate, Run)
346349
EP3 (cancelRun, Maybe String, ThreadId, RunId, Run)
347350
EP2 (createThreadAndRun, Maybe String, ThreadAndRunCreate, Run)
348351
EP3 (getRun, Maybe String, ThreadId, RunId, Run)
352+
EP4 (submitToolOutputs, Maybe String, ThreadId, RunId, ToolOutputs, Run)
349353

350354
EP2 (createVectorStore, Maybe String, VectorStoreCreate, VectorStore)
351355
EP2 (deleteVectorStore, Maybe String, VectorStoreId, DeleteConfirmation)
@@ -384,6 +388,7 @@ completeChatStreaming' :: Token -> ChatCompletionRequest -> Maybe String -> Clie
384388
:<|> ( createThread'
385389
:<|> createThreadAndRun'
386390
:<|> getRun'
391+
:<|> submitToolOutputs'
387392
:<|> createRun'
388393
:<|> cancelRun'
389394
:<|> deleteThread'

0 commit comments

Comments
 (0)