diff --git a/api/src/main/java/com/theokanning/openai/assistants/run/ToolCall.java b/api/src/main/java/com/theokanning/openai/assistants/run/ToolCall.java index e341544..60ec99e 100644 --- a/api/src/main/java/com/theokanning/openai/assistants/run/ToolCall.java +++ b/api/src/main/java/com/theokanning/openai/assistants/run/ToolCall.java @@ -39,7 +39,7 @@ public class ToolCall { * For now, this is always going to be an empty object. */ @JsonProperty("file_search") - Map fileSearch; + ToolCallFileSearch fileSearch; ToolCallFunction function; } diff --git a/api/src/main/java/com/theokanning/openai/assistants/run/ToolCallFileSearch.java b/api/src/main/java/com/theokanning/openai/assistants/run/ToolCallFileSearch.java new file mode 100644 index 0000000..1f6bf3e --- /dev/null +++ b/api/src/main/java/com/theokanning/openai/assistants/run/ToolCallFileSearch.java @@ -0,0 +1,27 @@ +package com.theokanning.openai.assistants.run; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.theokanning.openai.assistants.assistant.FileSearchRankingOptions; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ToolCallFileSearch { + /** + * The ranking options for the file search. + */ + @JsonProperty("ranking_options") + private FileSearchRankingOptions rankingOptions; + + /** + * The results of the file search. + */ + private List results; +} diff --git a/api/src/main/java/com/theokanning/openai/assistants/run/ToolCallFileSearchResult.java b/api/src/main/java/com/theokanning/openai/assistants/run/ToolCallFileSearchResult.java new file mode 100644 index 0000000..b41608b --- /dev/null +++ b/api/src/main/java/com/theokanning/openai/assistants/run/ToolCallFileSearchResult.java @@ -0,0 +1,37 @@ +package com.theokanning.openai.assistants.run; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ToolCallFileSearchResult { + /** + * The ID of the file that result was found in. + */ + @JsonProperty("file_id") + private String fileId; + + /** + * The name of the file that result was found in. + */ + @JsonProperty("file_name") + private String fileName; + + /** + * The score of the result. All values must be a floating point number between 0 and 1. + */ + private Double score; + + /** + * The content of the result that was found. The content is only included if requested via the include query parameter. + */ + private List content; +} diff --git a/api/src/main/java/com/theokanning/openai/assistants/run/ToolCallFileSearchResultContent.java b/api/src/main/java/com/theokanning/openai/assistants/run/ToolCallFileSearchResultContent.java new file mode 100644 index 0000000..2edeaae --- /dev/null +++ b/api/src/main/java/com/theokanning/openai/assistants/run/ToolCallFileSearchResultContent.java @@ -0,0 +1,22 @@ +package com.theokanning.openai.assistants.run; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ToolCallFileSearchResultContent { + /** + * The type of the content. + */ + private String type; + + /** + * The text content of the file. + */ + private String text; +}