* Upload a file to OpenAI * @param content File content * @param filename Filename * @returns The uploaded file ID
(content: string, filename: string)
| 54 | * @returns The uploaded file ID |
| 55 | */ |
| 56 | async function uploadFile(content: string, filename: string): Promise<string> { |
| 57 | try { |
| 58 | console.log(`Uploading file: ${filename}...`); |
| 59 | |
| 60 | const file = new File( |
| 61 | [content], |
| 62 | filename, |
| 63 | { type: 'text/plain' } |
| 64 | ); |
| 65 | |
| 66 | const uploadedFile = await openai.files.create({ |
| 67 | file, |
| 68 | purpose: "assistants" |
| 69 | }); |
| 70 | |
| 71 | console.log(`File uploaded successfully with ID: ${uploadedFile.id}`); |
| 72 | |
| 73 | return uploadedFile.id; |
| 74 | } catch (error: unknown) { |
| 75 | const errorMessage = error instanceof Error ? error.message : String(error); |
| 76 | console.error(`Failed to upload file: ${errorMessage}`); |
| 77 | throw error; |
| 78 | } |
| 79 | } |
| 80 | |
| 81 | /** |
| 82 | * Add a file to a vector store |
no outgoing calls
no test coverage detected