From 89fc1a48846df965d45f5ebf569346d2ed4a3762 Mon Sep 17 00:00:00 2001 From: Vishnurr2k01 Date: Fri, 28 Oct 2022 06:42:37 +0530 Subject: [PATCH 1/4] code snippet --- .../components/Codesnippet/CodeSnippet.js | 179 +++++++++++++++++- frontend/package-lock.json | 69 ++++++- frontend/package.json | 4 +- frontend/pages/api/openai.js | 27 ++- frontend/pages/api/test.js | 4 + frontend/pages/codesnippet/index.js | 16 ++ frontend/pages/dashboard/codesnippet/index.js | 15 -- 7 files changed, 279 insertions(+), 35 deletions(-) create mode 100644 frontend/pages/api/test.js create mode 100644 frontend/pages/codesnippet/index.js delete mode 100644 frontend/pages/dashboard/codesnippet/index.js diff --git a/frontend/components/Codesnippet/CodeSnippet.js b/frontend/components/Codesnippet/CodeSnippet.js index 2cf4fdf..a05eced 100644 --- a/frontend/components/Codesnippet/CodeSnippet.js +++ b/frontend/components/Codesnippet/CodeSnippet.js @@ -1,10 +1,181 @@ -import React from 'react' +import React,{useState,useEffect} from 'react' +import axios from 'axios' +import OpenAIAPI from "react-openai-api"; + function CodeSnippet() { - return ( -
+ const [data, setData] = useState( { text:'' }); + const [query, setQuery] = useState(''); + const [search, setSearch] = useState(''); + const [isLoading, setIsLoading] = useState(false); + + + const changeHandler = (e) => { + setSearch(e.target.value); + } + const fetchData = async () => { + if (search) { + setIsLoading(true); + const res = await fetch(`/api/openai`, { + body: JSON.stringify({ + name: search + }), + headers: { + 'Content-Type': 'application/json' + }, + method: 'POST' + }) + const data = await res.json(); + setData(data); + setIsLoading(false); + }}; + + const submitHandler=()=>{ + fetchData() + } +// const fetchApi = async()=>{ +// // try { +// // const resp = await axios.post('https://xcode321.herokuapp.com/snippet/',{ +// // "prompt":"nodejs code for login" +// // }) +// // console.log(resp.data) +// // } catch (error) { +// // console.log(error) +// // } +// try { +// let response = await axios.post('/api/openai') +// console.log(response) +// } catch (error) { +// console.log(error) +// } +// } + + const onClick=()=>{ +fetchApi() + } + + let text= "{fn myworld() ok}" + var arr = text.split('') + console.log(arr,'arr') + return (<> +
+ + +
+ +
+ +
+ +
+ + + +
+
+
- ) + + +
+ +
+ +
+ +
+ + + +
+
+
+ + +
+ + changeHandler(e)} + /> +
+ Generate +
+
+
+
+
+
+
+
+{isLoading ? ( +
Loading ...
+ ) : ( + + {data.text} + + )} + + +
+
+
+
+

+ GPT-3 App + +

+ + +
+ +); } + export default CodeSnippet \ No newline at end of file diff --git a/frontend/package-lock.json b/frontend/package-lock.json index f330325..34859ef 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -11,9 +11,11 @@ "axios": "^1.1.3", "next": "13.0.0", "openai": "^3.0.1", + "openai-api": "^1.3.1", "react": "18.2.0", "react-dom": "18.2.0", - "react-icons": "^4.6.0" + "react-icons": "^4.6.0", + "react-openai-api": "^1.0.2" }, "devDependencies": { "autoprefixer": "^10.4.12", @@ -1091,6 +1093,14 @@ "node": ">=6.0.0" } }, + "node_modules/dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "engines": { + "node": ">=10" + } + }, "node_modules/electron-to-chromium": { "version": "1.4.284", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", @@ -2758,6 +2768,23 @@ "form-data": "^4.0.0" } }, + "node_modules/openai-api": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/openai-api/-/openai-api-1.3.1.tgz", + "integrity": "sha512-wKhm/BZS/PyzQRJTdl6kciwL4LpqqyertLYEbbPYDg7ySk1tEywPSBnMio0xdSQaRmdSYVS8VHzJvnwKb9tqkw==", + "dependencies": { + "axios": "^0.21.1", + "dotenv": "^8.2.0" + } + }, + "node_modules/openai-api/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, "node_modules/openai/node_modules/axios": { "version": "0.26.1", "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", @@ -3123,6 +3150,16 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, + "node_modules/react-openai-api": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/react-openai-api/-/react-openai-api-1.0.2.tgz", + "integrity": "sha512-jpyVrBmZryD3QbFLIW+6ltTRZ3En9m+ypppXS/selyKJ8URElP0Z/0YGqYHZ/X6oX9ryQdq/W435Mv1afsWbgQ==", + "peerDependencies": { + "axios": "^0.21.1", + "react": "^16.8.0", + "react-dom": "^16.8.0" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -4435,6 +4472,11 @@ "esutils": "^2.0.2" } }, + "dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==" + }, "electron-to-chromium": { "version": "1.4.284", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", @@ -5656,6 +5698,25 @@ } } }, + "openai-api": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/openai-api/-/openai-api-1.3.1.tgz", + "integrity": "sha512-wKhm/BZS/PyzQRJTdl6kciwL4LpqqyertLYEbbPYDg7ySk1tEywPSBnMio0xdSQaRmdSYVS8VHzJvnwKb9tqkw==", + "requires": { + "axios": "^0.21.1", + "dotenv": "^8.2.0" + }, + "dependencies": { + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "requires": { + "follow-redirects": "^1.14.0" + } + } + } + }, "optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -5879,6 +5940,12 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, + "react-openai-api": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/react-openai-api/-/react-openai-api-1.0.2.tgz", + "integrity": "sha512-jpyVrBmZryD3QbFLIW+6ltTRZ3En9m+ypppXS/selyKJ8URElP0Z/0YGqYHZ/X6oX9ryQdq/W435Mv1afsWbgQ==", + "requires": {} + }, "read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 10d688b..729613b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -12,9 +12,11 @@ "axios": "^1.1.3", "next": "13.0.0", "openai": "^3.0.1", + "openai-api": "^1.3.1", "react": "18.2.0", "react-dom": "18.2.0", - "react-icons": "^4.6.0" + "react-icons": "^4.6.0", + "react-openai-api": "^1.0.2" }, "devDependencies": { "autoprefixer": "^10.4.12", diff --git a/frontend/pages/api/openai.js b/frontend/pages/api/openai.js index a30c3ad..00a68ae 100644 --- a/frontend/pages/api/openai.js +++ b/frontend/pages/api/openai.js @@ -1,18 +1,17 @@ -import { Configuration, OpenAIApi } from "openai"; - +const { Configuration, OpenAIApi } = require("openai"); const configuration = new Configuration({ - apiKey: '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', -}); -const openai = new OpenAIApi(configuration); + apiKey: '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' }) -export default async function Handler(req, res) { - const { prompt } = req.body; +export default async (req, res) => { + let prompt = 'node js code for login'; + console.log(prompt,'prompt') + const openai = new OpenAIApi(configuration); +const response = await openai.createCompletion({ + model: "text-davinci-002", + prompt: prompt, + max_tokens: 100, + temperature: 0.9, +}); - const response = await openai.createCompletion({ - model: "text-davinci-002", - prompt: prompt, - max_tokens: 10, - temperature: 0.1, - }); - res.send(response) + res.status(200).json({text: `${response.data.choices[0].text}`}) } \ No newline at end of file diff --git a/frontend/pages/api/test.js b/frontend/pages/api/test.js new file mode 100644 index 0000000..633f96c --- /dev/null +++ b/frontend/pages/api/test.js @@ -0,0 +1,4 @@ + +export default async function handler(req,res){ + res.send('hello') +} \ No newline at end of file diff --git a/frontend/pages/codesnippet/index.js b/frontend/pages/codesnippet/index.js new file mode 100644 index 0000000..eff3e31 --- /dev/null +++ b/frontend/pages/codesnippet/index.js @@ -0,0 +1,16 @@ +import React from 'react' +import CodeSnippet from '../../components/Codesnippet/CodeSnippet' +import Sidebar from '../../components/Sidebar' + +function Code() { + return ( +
+ +
+ +
+
+ ) +} + +export default Code \ No newline at end of file diff --git a/frontend/pages/dashboard/codesnippet/index.js b/frontend/pages/dashboard/codesnippet/index.js deleted file mode 100644 index f08d4af..0000000 --- a/frontend/pages/dashboard/codesnippet/index.js +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react' -import Sidebar from '../../../components/Sidebar' - -function CodeSnippet() { - return ( -
- -
- -
-
- ) -} - -export default CodeSnippet \ No newline at end of file From 08f88e0938ad83dd3284b47fad6e4dd0b334c087 Mon Sep 17 00:00:00 2001 From: Vishnurr2k01 Date: Fri, 28 Oct 2022 08:01:24 +0530 Subject: [PATCH 2/4] code --- frontend/components/Codesnippet/CodeSnippet.js | 3 --- frontend/components/Sidebar.js | 11 +++++++++++ frontend/pages/api/openai.js | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/frontend/components/Codesnippet/CodeSnippet.js b/frontend/components/Codesnippet/CodeSnippet.js index a05eced..85e95f2 100644 --- a/frontend/components/Codesnippet/CodeSnippet.js +++ b/frontend/components/Codesnippet/CodeSnippet.js @@ -54,9 +54,6 @@ function CodeSnippet() { fetchApi() } - let text= "{fn myworld() ok}" - var arr = text.split('') - console.log(arr,'arr') return (<>
diff --git a/frontend/components/Sidebar.js b/frontend/components/Sidebar.js index 33f9f67..b7ae0bc 100644 --- a/frontend/components/Sidebar.js +++ b/frontend/components/Sidebar.js @@ -54,6 +54,17 @@ const Sidebar = () => { Create Table + +

+ Code Snippet +

+

{ diff --git a/frontend/pages/api/openai.js b/frontend/pages/api/openai.js index 00a68ae..3d2e8f2 100644 --- a/frontend/pages/api/openai.js +++ b/frontend/pages/api/openai.js @@ -1,6 +1,6 @@ const { Configuration, OpenAIApi } = require("openai"); const configuration = new Configuration({ - apiKey: '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' }) + apiKey: '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' }) export default async (req, res) => { let prompt = 'node js code for login'; From 774caf6dbdbdcf7335ad118a011cc66bdf70cceb Mon Sep 17 00:00:00 2001 From: Vishnurr2k01 Date: Fri, 28 Oct 2022 08:04:46 +0530 Subject: [PATCH 3/4] m --- frontend/components/Sidebar.js | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/frontend/components/Sidebar.js b/frontend/components/Sidebar.js index b7ae0bc..f1d9b8e 100644 --- a/frontend/components/Sidebar.js +++ b/frontend/components/Sidebar.js @@ -45,22 +45,20 @@ const Sidebar = () => {

Create Table

Code Snippet

@@ -71,11 +69,10 @@ const Sidebar = () => { setToggle(!toggle); setToggle2(false); }} - className={` text-2xl flex items-center text-text-prm mt-8 cursor-pointer h-10 px-2 py-2 ${ - router.pathname.includes("createapi") + className={` text-2xl flex items-center text-text-prm mt-8 cursor-pointer h-10 px-2 py-2 ${router.pathname.includes("createapi") ? "bg-gradient-to-r from-[#1e3b86] to-[#3765dc] rounded-sm" : "" - }`} + }`} > Create API {toggle ? ( @@ -91,7 +88,7 @@ const Sidebar = () => { {tables?.map((data) => { return ( -
  • {data.tablename}
  • +
  • {data.tablename}
  • ); })} @@ -110,11 +107,10 @@ const Sidebar = () => { setToggle2(!toggle2); setToggle(false); }} - className={`text-2xl flex items-center text-text-prm mt-8 cursor-pointer px-2 py-2 ${ - router.pathname.includes("apidocs") + className={`text-2xl flex items-center text-text-prm mt-8 cursor-pointer px-2 py-2 ${router.pathname.includes("apidocs") ? "bg-gradient-to-r from-[#1e3b86] to-[#3765dc] rounded-sm" : "" - }`} + }`} > API Docs {toggle2 ? ( @@ -127,12 +123,12 @@ const Sidebar = () => {
      {tables?.map((data) => { - return ( - -
    • {data.tablename}
    • - - ); - })} + return ( + +
    • {data.tablename}
    • + + ); + })}
    )} From fae7683c394ae254302e77ec56b3476c8aaf7ab6 Mon Sep 17 00:00:00 2001 From: Vishnurr2k01 Date: Fri, 28 Oct 2022 08:35:46 +0530 Subject: [PATCH 4/4] m --- frontend/pages/api/openai.js | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/frontend/pages/api/openai.js b/frontend/pages/api/openai.js index 3d2e8f2..767de97 100644 --- a/frontend/pages/api/openai.js +++ b/frontend/pages/api/openai.js @@ -1,17 +1,18 @@ const { Configuration, OpenAIApi } = require("openai"); const configuration = new Configuration({ - apiKey: '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' }) + apiKey: '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' +}) export default async (req, res) => { let prompt = 'node js code for login'; - console.log(prompt,'prompt') + console.log(prompt, 'prompt') const openai = new OpenAIApi(configuration); -const response = await openai.createCompletion({ - model: "text-davinci-002", - prompt: prompt, - max_tokens: 100, - temperature: 0.9, -}); + const response = await openai.createCompletion({ + model: "text-davinci-002", + prompt: prompt, + max_tokens: 100, + temperature: 0.9, + }); - res.status(200).json({text: `${response.data.choices[0].text}`}) + res.status(200).json({ text: `${response.data.choices[0].text}` }) } \ No newline at end of file