From 8b769714cef80f76b5f9e0247a95bf47987ae879 Mon Sep 17 00:00:00 2001 From: Hk-Gosuto Date: Sun, 8 Oct 2023 02:53:38 -0500 Subject: [PATCH] fix(43): fix dall-e plugin (#46) --- .../langchain-tools/dalle_image_generator.ts | 34 ++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/app/api/langchain-tools/dalle_image_generator.ts b/app/api/langchain-tools/dalle_image_generator.ts index bd1396d8a..0abd5d60e 100644 --- a/app/api/langchain-tools/dalle_image_generator.ts +++ b/app/api/langchain-tools/dalle_image_generator.ts @@ -1,5 +1,4 @@ import { Tool } from "langchain/tools"; -import OpenAI from "openai"; import S3FileStorage from "../../utils/r2_file_storage"; export class DallEAPIWrapper extends Tool { @@ -27,18 +26,29 @@ export class DallEAPIWrapper extends Tool { /** @ignore */ async _call(prompt: string) { - const openai = new OpenAI({ - apiKey: this.apiKey, - baseURL: this.baseURL, - }); - const response = await openai.images.generate({ - prompt: prompt, - n: this.n, - size: this.size, - }); + let image_url; + const apiUrl = `${this.baseURL}/images/generations`; - let image_url = response.data[0].url; - console.log(image_url); + try { + const requestOptions = { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Authorization': `Bearer ${this.apiKey}` + }, + body: JSON.stringify({ + prompt: prompt, + n: this.n, + size: this.size + }) + }; + const response = await fetch(apiUrl, requestOptions); + const json = await response.json(); + console.log("[DALL-E]", json); + image_url = json.data[0].url; + } catch (e) { + console.error("[DALL-E]", e); + } if (!image_url) return "No image was generated"; let filePath = await this.saveImageFromUrl(image_url); console.log(filePath);