diff --git a/api/src/main/java/com/theokanning/openai/assistants/assistant/FileSearchTool.java b/api/src/main/java/com/theokanning/openai/assistants/assistant/FileSearchTool.java index 3b0a514..543ace0 100644 --- a/api/src/main/java/com/theokanning/openai/assistants/assistant/FileSearchTool.java +++ b/api/src/main/java/com/theokanning/openai/assistants/assistant/FileSearchTool.java @@ -5,9 +5,20 @@ * @date 2024年04月18 13:36 **/ +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; @Data +@NoArgsConstructor +@AllArgsConstructor public class FileSearchTool implements Tool { final String type = "file_search"; + + /** + * The maximum number of results the file search tool should output. The default is 20 for gpt-4* models and 5 for gpt-3.5-turbo. This number should be between 1 and 50 inclusive. + */ + @JsonProperty("max_num_results") + Integer maxNumResults; } diff --git a/api/src/test/resources/assistants/Assistant.json b/api/src/test/resources/assistants/Assistant.json index 43d83f4..569b094 100644 --- a/api/src/test/resources/assistants/Assistant.json +++ b/api/src/test/resources/assistants/Assistant.json @@ -7,7 +7,8 @@ "instructions": "You are an HR bot, and you have access to files to answer employee questions about company policies.", "tools": [ { - "type": "file_search" + "type": "file_search", + "max_num_results": 10 } ], "tool_resources": { diff --git a/api/src/test/resources/assistants/AssistantRequest.json b/api/src/test/resources/assistants/AssistantRequest.json index c420b15..c0a8b89 100644 --- a/api/src/test/resources/assistants/AssistantRequest.json +++ b/api/src/test/resources/assistants/AssistantRequest.json @@ -3,7 +3,8 @@ "name": "Math Tutor", "tools": [ { - "type": "file_search" + "type": "file_search", + "max_num_results": 1 } ], "tool_resources": { diff --git a/example/src/main/java/example/AssistantExample.java b/example/src/main/java/example/AssistantExample.java index f228ac7..cead5b3 100644 --- a/example/src/main/java/example/AssistantExample.java +++ b/example/src/main/java/example/AssistantExample.java @@ -192,7 +192,7 @@ static void fileSearchExample() throws UnsupportedEncodingException { .name("file search assistant") .instructions("你是一个中国传统音乐教授,负责根据用户的需求解答问题") //add file search tool to assistant - .tools(Collections.singletonList(new FileSearchTool())) + .tools(Collections.singletonList(new FileSearchTool(1))) .temperature(0D) .build(); Assistant assistant = service.createAssistant(assistantRequest);