Skip to content

Commit 86f04fe

Browse files
committed
[Files] Support retrieve file content
1 parent 635a1cd commit 86f04fe

5 files changed

Lines changed: 53 additions & 0 deletions

File tree

docs/docs/reference/openai/files.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,3 +114,16 @@ Returns:
114114
"purpose": "fine-tune"
115115
}
116116
```
117+
118+
### Retrieve file content
119+
120+
---
121+
122+
Returns information about a specific file.
123+
124+
```java
125+
String id = "file-XjGxS3KTG0uNmNOK362iJua3";
126+
this.client.retrieveFileContent(entity.getId());
127+
```
128+
129+
Returns the original content of the uploaded file.

docs/docs/reference/openai/files.zh.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,3 +114,16 @@ this.client.retrieveFile(entity.getId());
114114
"purpose": "fine-tune"
115115
}
116116
```
117+
118+
### Retrieve file content
119+
120+
---
121+
122+
返回有关特定文件的信息。
123+
124+
```java
125+
String id = "file-XjGxS3KTG0uNmNOK362iJua3";
126+
this.client.retrieveFileContent(entity.getId());
127+
```
128+
129+
返回上传文件的原始内容。

src/main/java/org/devlive/sdk/openai/DefaultApi.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,4 +165,11 @@ Single<FileEntity> fetchUploadFile(@Url String url,
165165
*/
166166
@GET
167167
Single<FileEntity> fetchRetrieveFile(@Url String url);
168+
169+
/**
170+
* Returns the contents of the specified file
171+
* 返回指定文件的内容
172+
*/
173+
@GET
174+
Single<Object> fetchRetrieveFileContent(@Url String url);
168175
}

src/main/java/org/devlive/sdk/openai/DefaultClient.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,13 @@ public FileEntity retrieveFile(String id)
161161
.blockingGet();
162162
}
163163

164+
public Object retrieveFileContent(String id)
165+
{
166+
String url = String.join("/", ProviderUtils.getUrl(provider, UrlModel.FETCH_FILES), id, "content");
167+
return this.api.fetchRetrieveFileContent(url)
168+
.blockingGet();
169+
}
170+
164171
public void close()
165172
{
166173
if (ObjectUtils.isNotEmpty(this.client)) {

src/test/java/org/devlive/sdk/openai/FileClientTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,17 @@ public void testRetrieveFile()
5050

5151
Assert.assertNotNull(this.client.retrieveFile(entity.getId()));
5252
}
53+
54+
@Test
55+
public void testRetrieveFileContent()
56+
throws InterruptedException
57+
{
58+
String file = this.getClass().getResource("/test.jsonl").getFile();
59+
FileEntity entity = this.client.uploadFile(FileEntity.builder()
60+
.file(new File(file))
61+
.build());
62+
Thread.sleep(3000);
63+
64+
Assert.assertNotNull(this.client.retrieveFileContent(entity.getId()));
65+
}
5366
}

0 commit comments

Comments
 (0)