Skip to content

Commit 54a96b1

Browse files
amirai21asafgardin
authored andcommitted
feat: FilePathOrFileObject
1 parent 6131ee8 commit 54a96b1

File tree

6 files changed

+28
-8
lines changed

6 files changed

+28
-8
lines changed

examples/studio/conversational-rag/rag-engine.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@ async function uploadQueryUpdateDelete() {
2626
{ path: 'test10' },
2727
);
2828

29+
// const fileContent = Buffer.from('This is the content of the file.');
30+
// const dummyFile = new File([fileContent], 'example.txt', { type: 'text/plain' });
31+
32+
// // Use the File object in the create method
33+
// const uploadFileResponse: UploadFileResponse = await client.ragEngine.create(dummyFile, {
34+
// path: 'test10',
35+
// });
36+
2937
const fileId = uploadFileResponse.fileId;
3038
let file: FileResponse = await waitForFileProcessing(client, fileId);
3139
console.log(file);

src/AI21.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { APIClient } from './APIClient';
66
import { Headers } from './types';
77
import * as Runtime from './runtime';
88
import { ConversationalRag } from './resources/rag/conversationalRag';
9-
import { RAGEngine } from 'resources';
9+
import { RAGEngine } from './resources';
1010

1111
export interface ClientOptions {
1212
baseURL?: string | undefined;

src/APIClient.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { Fetch } from 'fetch';
1515
import { createReadStream } from 'fs';
1616
import { basename as getBasename } from 'path';
1717
import FormData from 'form-data';
18+
import { FilePathOrFileObject } from 'types/rag';
1819

1920
const validatePositiveInteger = (name: string, n: unknown): number => {
2021
if (typeof n !== 'number' || !Number.isInteger(n)) {
@@ -37,7 +38,6 @@ const appendBodyToFormData = (formData: FormData, body: Record<string, any>): vo
3738
}
3839
};
3940

40-
export type FilePathOrFileObject = string | File;
4141

4242
function makeFormDataFromFilePath(filePath: string): FormData {
4343
const formData = new FormData();
@@ -92,9 +92,6 @@ export abstract class APIClient {
9292
return this.makeRequest('delete', path, opts);
9393
}
9494

95-
upload<Req, Rsp>(path: string, file: string, opts?: RequestOptions<Req>): Promise<Rsp>;
96-
upload<Req, Rsp>(path: string, file: File, opts?: RequestOptions<Req>): Promise<Rsp>;
97-
9895
upload<Req, Rsp>(path: string, file: FilePathOrFileObject, opts?: RequestOptions<Req>): Promise<Rsp> {
9996
let formData: FormData;
10097

src/resources/rag/ragEngine.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,29 @@
11
import * as Models from '../../types';
22
import { APIResource } from '../../APIResource';
3-
import { UploadFileResponse, UploadFileRequest, ListFilesFilters, UpdateFileRequest } from '../../types/rag';
3+
import { UploadFileResponse, UploadFileRequest, ListFilesFilters, UpdateFileRequest, FilePathOrFileObject } from '../../types/rag';
44
import { FileResponse } from 'types/rag/FileResponse';
55

66
const RAG_ENGINE_PATH = '/library/files';
77

88
export class RAGEngine extends APIResource {
99
create(
10-
filePath: string,
10+
file: string,
11+
body: UploadFileRequest,
12+
options?: Models.RequestOptions,
13+
): Promise<UploadFileResponse>;
14+
15+
create(
16+
file: File,
17+
body: UploadFileRequest,
18+
options?: Models.RequestOptions,
19+
): Promise<UploadFileResponse>;
20+
21+
create(
22+
file: FilePathOrFileObject,
1123
body: UploadFileRequest,
1224
options?: Models.RequestOptions,
1325
): Promise<UploadFileResponse> {
14-
return this.client.upload<UploadFileRequest, UploadFileResponse>(RAG_ENGINE_PATH, filePath, {
26+
return this.client.upload<UploadFileRequest, UploadFileResponse>(RAG_ENGINE_PATH, file, {
1527
body: body,
1628
...options,
1729
} as Models.RequestOptions<UploadFileRequest>) as Promise<UploadFileResponse>;

src/types/rag/FilePathOrFileObject.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export type FilePathOrFileObject = string | File;

src/types/rag/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@ export { type UploadFileResponse } from './UploadFileResponse';
1515
export { type ListFilesFilters } from './ListFilesFilters';
1616

1717
export { type UpdateFileRequest } from './UploadFileRequest';
18+
19+
export { type FilePathOrFileObject } from './FilePathOrFileObject';

0 commit comments

Comments
 (0)