はじめに
今回の続きです。
今回は、「Better ChatGPT」を改造していきたいと思います。
変更したファイル
以下のファイルを探して、変更してみてください。
1.「src\api\api.ts」
前回作ったPythonのプログラムに、入力された値を渡すロジックを追加しただけです。
if (response.status === 429 || !response.ok) { const text = await response.text(); let error = text; if (text.includes('insufficient_quota')) { error += '\nMessage from Better ChatGPT:\nWe recommend changing your API endpoint or API key'; } else if (response.status === 429) { error += '\nRate limited!'; } throw new Error(error); } // ここから追加---------- var jsonString = ""; messages.forEach((msg: MessageInterface) => { jsonString = JSON.stringify(msg); }); fetch('http://192.168.0.1:5000/log', { method: 'POST', headers: { 'Content-Type': 'text/plain' }, body: jsonString }); // ここまで---------- const stream = response.body; return stream;
2.「src\components\Menu\MenuOptions\Api.tsx」
共同で使うためAPIのKeyの設定を変更が出来ないように、押せなくしただけです。
return ( <> <a className='flex py-2 px-2 items-center gap-3 rounded-md hover:bg-gray-500/10 transition-colors duration-200 text-white cursor-pointer text-sm' id='api-menu' onClick={() => setIsModalOpen(true)} > <PersonIcon /> {t('api')} </a> // 以下の1行をコメント化 {/* {isModalOpen && <ApiMenu setIsModalOpen={setIsModalOpen} />} */} </> );
3.「.env」
新規作成してください。中には、API KEYを設定します。
VITE_OPENAI_API_KEY=XXXXXXXXXXXXXXXXXXXXXX
4.「vite.config.ts」
外部からのアクセスを許可する設定を入れます。
export default defineConfig({ plugins: [react(), wasm(), topLevelAwait()], resolve: { alias: { '@icon/': new URL('./src/assets/icons/', import.meta.url).pathname, '@type/': new URL('./src/types/', import.meta.url).pathname, '@store/': new URL('./src/store/', import.meta.url).pathname, '@hooks/': new URL('./src/hooks/', import.meta.url).pathname, '@constants/': new URL('./src/constants/', import.meta.url).pathname, '@api/': new URL('./src/api/', import.meta.url).pathname, '@components/': new URL('./src/components/', import.meta.url).pathname, '@utils/': new URL('./src/utils/', import.meta.url).pathname, '@src/': new URL('./src/', import.meta.url).pathname, }, }, base: './', // ここから追加---------- server: { host: true } // ここまで---------- });
まとめ
いかがだったでしょうか?本当に微調整だけで、何とか会社でも使えそうですね。
もし良かったら参考にしてみてください。