diff --git a/package-lock.json b/package-lock.json index 9279891..daa8358 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,6 @@ "redis": "^4.6.14", "socket.io": "^4.7.5", "socket.io-client": "^4.7.5", - "talib": "^1.1.5", "token": "^0.1.0", "validator": "^13.11.0", "web": "^0.0.2", @@ -2174,11 +2173,6 @@ "mkdirp": "bin/cmd.js" } }, - "node_modules/nan": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", - "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==" - }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -3126,34 +3120,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/talib": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/talib/-/talib-1.1.5.tgz", - "integrity": "sha512-at8OQzwnAt5h/6d28/rL6xEO6d7/WzkKNd7NUtNVNewFGPwazAeglXo/sqTNLBZ0zUtZ8w4sXwpapKzH3eIX6A==", - "funding": [ - { - "type": "PayPal", - "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=AZDHC49PNM7MY&item_name=talib" - }, - { - "type": "Coinbase", - "url": "https://commerce.coinbase.com/checkout/1da811db-5adf-4d02-9ab3-dd68e62234e1" - } - ], - "hasInstallScript": true, - "os": [ - "darwin", - "linux", - "freebsd", - "win32" - ], - "dependencies": { - "nan": "^2.17.0" - }, - "engines": { - "node": ">=8.16.0" - } - }, "node_modules/to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", diff --git a/package.json b/package.json index 7089a76..61fe55a 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,6 @@ "redis": "^4.6.14", "socket.io": "^4.7.5", "socket.io-client": "^4.7.5", - "talib": "^1.1.5", "token": "^0.1.0", "validator": "^13.11.0", "web": "^0.0.2", diff --git a/routes/myPageRouter.js b/routes/myPageRouter.js index 14a6730..85cf995 100644 --- a/routes/myPageRouter.js +++ b/routes/myPageRouter.js @@ -4,6 +4,7 @@ const pendingOrderService = require("../service/pendingOrder/pendingOrderService const axios = require("axios"); const marketPriceService = require("../service/marketPriceOrder/marketPriceOrder"); const stockPriceService = require("../service/stockPrice/stockPrice"); +const fs = require("fs"); require("dotenv").config(); router.post("/krStock", async function (req, res) { @@ -88,4 +89,67 @@ router.post("/stt", async function (req, res) { } }); +router.post("/json", async function (req, res) { + class CompletionExecutor { + constructor() { + this.host = process.env.CHAT_HOST; + this.apiKey = process.env.CHAT_APIKEY; + this.apiKeyPrimaryVal = process.env.CHAT_APIKEYPRIMARYVAL; + this.requestId = process.env.CHAT_REQUESTID; + } + + async execute(completionRequest) { + const headers = { + "X-NCP-CLOVASTUDIO-API-KEY": this.apiKey, + "X-NCP-APIGW-API-KEY": this.apiKeyPrimaryVal, + "X-NCP-CLOVASTUDIO-REQUEST-ID": this.requestId, + "Content-Type": "application/json; charset=utf-8", + Accept: "text/event-stream", + }; + try { + const response = await axios.post( + `${this.host}/testapp/v1/tasks/bjleehl4/chat-completions`, + completionRequest, + { headers, responseType: "stream" } + ); + + //여기 부분 데이터 처리하는 부분 ----- + response.data.on("data", (chunk) => { + const result = chunk.toString("utf-8"); + try { + if (result) { + const message = JSON.parse(result.split("data:")[1]); + if (message.message.content.includes("item")) { + console.log(message.message.content); + } + } + } catch (err) { + console.log("불가"); + } + }); + } catch (error) { + console.error("Error message:", error.message); + } + } + } + const completionExecutor = new CompletionExecutor(); + const presetText = [ + { role: "system", content: "" }, + { role: "user", content: req.body.text }, //여기에 사용자 메세지가 들어가야 함. 여기만 바뀌면 됨 + ]; + const requestData = { + messages: presetText, + topP: 0.8, + topK: 0, + maxTokens: 256, + temperature: 0.5, + repeatPenalty: 5.0, + stopBefore: [], + includeAiFilters: true, + seed: 0, + }; + + completionExecutor.execute(requestData).then((data) => {}); +}); + module.exports = router;