https://github.com/rimo030/openai
๐ก OpenAI Study
https://github.com/rimo030/openai
nestjs openai websocket whisper
Last synced: about 2 months ago
JSON representation
๐ก OpenAI Study
- Host: GitHub
- URL: https://github.com/rimo030/openai
- Owner: rimo030
- Created: 2025-09-24T08:33:47.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-29T05:37:10.000Z (9 months ago)
- Last Synced: 2025-09-29T07:16:52.144Z (9 months ago)
- Topics: nestjs, openai, websocket, whisper
- Language: TypeScript
- Homepage:
- Size: 152 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ฅ๏ธ OpenAI
OpenAI API๋ฅผ ํ์ฉํ WebSocket ๊ธฐ๋ฐ ์ค์๊ฐ ํต์ ์๋ฒ์
๋๋ค.
- [ERD](./prisma/docs/ERD.md)
## ๐ ๊ธฐ์ ์คํ
| ๋ถ๋ฅ | ๊ธฐ์ ์คํ |
| :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Language | []() |
| Backend | []() []() [](https://nestia.io/) [](https://typia.io/) []() |
| AI/ML | []() |
| WebSocket | [](https://github.com/samchon/tgrid) |
| DB | []() |
| Testing | [](https://nestia.io/docs/sdk/e2e/) |
| DevOps | []() |
## ๐ฏ ์ฃผ์ ๊ธฐ๋ฅ
### ๐ค ์์ฑ ์ธ์ (STT)
- TGrid WebSocket ๊ธฐ๋ฐ ์ค์๊ฐ ์์ฑ-ํ
์คํธ ๋ณํ
- OpenAI Whisper ๋ชจ๋ธ ์ฌ์ฉ
- ์ธ๊ทธ๋จผํธ๋ณ ์์ธ ์ ๋ณด DB ์ ์ฅ (์์/์ข
๋ฃ ์๊ฐ, ์ ๋ขฐ๋, ์์ถ ๋น์จ ๋ฑ)
### ๐ฌ ์ฑํ
- TGrid WebSocket ๊ธฐ๋ฐ ์ค์๊ฐ ์ฑํ
- ์คํธ๋ฆฌ๋ฐ ์๋ต ์ง์
- ์ผ๋ฐ ์๋ต ๋ฐ ์คํธ๋ฆฌ๋ฐ ์๋ต ๋ชจ๋ ์ ๊ณต
### ๐ ํ์ผ ๊ด๋ฆฌ
- OpenAI Files API ์ฐ๋
- ํ์ผ ์
๋ก๋ (base64 ์ธ์ฝ๋ฉ ์ง์)
- ํ์ผ ๋ฆฌ์คํธ ์กฐํ (purpose๋ณ ํํฐ๋ง)
- Assistants, Fine-tuning ๋ฑ ๋ค์ํ ์ฉ๋ ์ง์
### ๐๏ธ Vector Store
- Vector Store ์์ฑ ๋ฐ ๊ด๋ฆฌ
- ํ์ผ ์ถ๊ฐ/์ญ์ ๊ธฐ๋ฅ
- Vector Store ๋ฆฌ์คํธ ์กฐํ
- Vector Store๋ณ ํ์ผ ๋ฆฌ์คํธ ์กฐํ
- Vector Store ์ญ์
### ๐ค RAG (Responses API)
- OpenAI Responses API๋ฅผ ํ์ฉํ RAG ๊ตฌํ
- Vector Store ๊ธฐ๋ฐ ๋ฌธ์ ๊ฒ์ ๋ฐ ์๋ต ์์ฑ
- ๋ค์ค Vector Store ์ง์
### ๐ ๋ชจ๋ํฐ๋ง
- ํ ํฐ ์ฌ์ฉ๋ ๋ฐ ๋น์ฉ ์ถ์
## ๐ ๏ธ ํ๋ก์ ํธ ์คํ
๋ก์ปฌ์์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ์๋ฒ๋ฅผ ์คํ์ํฌ ์ ์์ต๋๋ค.
### 1. ์ค์น
```sh
git clone https://github.com/rimo030/whisper.git
```
```sh
cd whisper
```
```sh
npm i
```
### 2. ํ๊ฒฝ ๋ณ์ ์ค์
`.env.example` ํ์ผ์ ์ฐธ๊ณ ํด `.env` ํ๊ฒฝ ๋ณ์ ํ์ผ ์ธํ
### 3. ๋ก์ปฌ DB ์์ฑ
docker-compose๋ฅผ ์ด์ฉํด PostgreSQL ์ปจํ
์ด๋๋ฅผ ์์ฑํฉ๋๋ค.
```sh
docker compose up -d
```
### 4. DB ์คํค๋ง ์์ฑ
Prisma๋ฅผ ์ด์ฉํด ์คํค๋ง๋ฅผ ๋๊ธฐํํฉ๋๋ค.
```sh
npx prisma db push
```
### 5. ์๋ฒ ์คํ
์๋ ๋ช
๋ น์ด๋ก ๋ก์ปฌ ์๋ฒ๋ฅผ ์คํ์ํฌ ์ ์์ต๋๋ค.
```sh
# ๊ฐ๋ฐ ๋ชจ๋
npm run start:dev
# ํ๋ก๋์
๋ชจ๋
npm run start
```
## ๐ ๏ธ Prisma ๋ช
๋ น์ด
ORM์ผ๋ก Prisma๋ฅผ ์ฑํํ๊ณ ์์ต๋๋ค.
- DB ์คํค๋ง ๋๊ธฐํ
```sh
npx prisma db push
# DB ์ด๊ธฐํ
npx prisma db push --force-reset
```
- Prisma Client ์์ฑ
```sh
npx prisma generate
```
## โฐ ํ
์คํ
๋ก์ปฌ์์ ํ
์คํธ ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค.
### 1. Nestia SDK ์์ฑ
```sh
npm run build:sdk
```
### 2. ํ
์คํธ ๋น๋
```sh
npm run build:test
```
### 3. ํ
์คํธ ์ฝ๋ ์คํ
ํ
์คํธ ์ฝ๋๋ [/test](./test)์ ์์ฑ๋๊ณ ์์ต๋๋ค.
```sh
npm run test
```
## ๐ก API ์ฌ์ฉ๋ฒ
### WebSocket ์ฐ๊ฒฐ
```typescript
import { IConnection } from '@nestia/fetcher';
import { test_api_web_socket_connect } from './test/features/web-sockets/test_api_web_socket_connect';
const connection: IConnection = {
host: 'localhost:3000',
};
const { connector, driver } = await test_api_web_socket_connect(connection);
```