Skip to content

Commit a711a83

Browse files
committed
ResponsesAPI - examples: deleteModelResponse and ListModelResponseInputItems
1 parent 34d4163 commit a711a83

File tree

3 files changed

+77
-2
lines changed

3 files changed

+77
-2
lines changed

openai-examples/src/main/scala/io/cequence/openaiscala/examples/responsesapi/CreateModelResponseForImage.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.cequence.openaiscala.examples.responsesapi
22

33
import scala.concurrent.Future
4-
import io.cequence.openaiscala.domain.responsesapi.Inputs
4+
import io.cequence.openaiscala.domain.responsesapi.{ Inputs, Input }
55
import io.cequence.openaiscala.domain.responsesapi.InputMessageContent
66
import io.cequence.openaiscala.domain.ChatRole
77
import io.cequence.openaiscala.examples.Example
@@ -12,7 +12,7 @@ object CreateModelResponseForImage extends Example {
1212
service
1313
.createModelResponse(
1414
Inputs.Items(
15-
io.cequence.openaiscala.domain.responsesapi.Message.InputContent(
15+
Input.ofInputMessage(
1616
Seq(
1717
InputMessageContent.Text("what is in this image?"),
1818
InputMessageContent.Image(
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package io.cequence.openaiscala.examples.responsesapi
2+
3+
import scala.concurrent.Future
4+
import io.cequence.openaiscala.domain.responsesapi.{ Inputs, Input }
5+
import io.cequence.openaiscala.domain.responsesapi.InputMessageContent
6+
import io.cequence.openaiscala.domain.ChatRole
7+
import io.cequence.openaiscala.examples.Example
8+
9+
object DeleteModelResponse extends Example {
10+
11+
override def run: Future[Unit] =
12+
for {
13+
response <- service
14+
.createModelResponse(
15+
Inputs.Items(
16+
Input.ofInputSystemTextMessage("You are a pirate who likes to rhyme."),
17+
Input.ofInputMessage(
18+
Seq(
19+
InputMessageContent.Text("What is in this image?"),
20+
InputMessageContent.Image(
21+
imageUrl = Some(
22+
"https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
23+
)
24+
)
25+
),
26+
role = ChatRole.User
27+
)
28+
)
29+
)
30+
31+
deleteResponse <- service.deleteModelResponse(response.id)
32+
} yield {
33+
println(s"Response ID : ${response.id}")
34+
println(s"Response Text : ${response.outputText.getOrElse("N/A")}")
35+
println(s"Delete response: ${deleteResponse}")
36+
}
37+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package io.cequence.openaiscala.examples.responsesapi
2+
3+
import scala.concurrent.Future
4+
import io.cequence.openaiscala.domain.responsesapi.{ Inputs, Input }
5+
import io.cequence.openaiscala.domain.responsesapi.InputMessageContent
6+
import io.cequence.openaiscala.domain.ChatRole
7+
import io.cequence.openaiscala.examples.Example
8+
import io.cequence.openaiscala.domain.SortOrder
9+
10+
object ListModelResponseInputItems extends Example {
11+
12+
override def run: Future[Unit] =
13+
for {
14+
response <- service
15+
.createModelResponse(
16+
Inputs.Items(
17+
Input.ofInputSystemTextMessage("You are a pirate who likes to rhyme."),
18+
Input.ofInputMessage(
19+
Seq(
20+
InputMessageContent.Text("What is in this image?"),
21+
InputMessageContent.Image(
22+
imageUrl = Some(
23+
"https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
24+
)
25+
)
26+
),
27+
role = ChatRole.User
28+
)
29+
)
30+
)
31+
32+
inputItemsResponse <- service.listModelResponseInputItems(response.id, order = Some(SortOrder.asc))
33+
} yield {
34+
println(s"Response ID : ${response.id}")
35+
println(s"Response Text : ${response.outputText.getOrElse("N/A")}")
36+
println(s"Input Items :\n${inputItemsResponse.data.map(item => s"${item.`type`} : ${item.toString()}").mkString("\n")}")
37+
}
38+
}

0 commit comments

Comments
 (0)