
2023년 11월에 openai api 에서 나온 어시스턴트 API 로 나만의 AI 챗봇을 만들 수 있습니다. 스레드를 이용하여 대화를 계속 이어 나아갈 수 있으며, 코드 실행, 파일 업로드, 문서 검색 등의 도구 사용도 가능합니다. 어시스트 => 스레드 => 메세지 => Run 순으로 만드시면 됩니다. 스레드에 메세지를 저장하고, 사용자, 어시스트간의 메시지를 추가만 하면 됩니다. Run 에서 계속 실행이 되며, 위에 과정은 스레드 안에서 실행은 한 상태며 응답을 주고 받습니다. 그렇기 때문에 어시스트, 스레드는 한 번 만들면 메시지만 추가하기만 하면 됩니다. 내 어시스턴트를 만들 때 성격과 목표를 주면 해당 역할에 맞춰서 움직이며 사용자와 어시스턴트간의 메세지를 주고 받을 수 있다. 쉽게 말해 나만의..

openai api 에서 제공하는 DALL-E 3 를 이용한 이미지 생성 방법 입니다. 아래는 간단한 소개입니다. 텍스트 프롬프트를 기반으로 처음부터 이미지 생성(DALL-E 3, DALL-E 2) 새 텍스트 프롬프트에 따라 모델이 기존 이미지의 일부 영역을 대체하도록 하여 이미지의 편집된 버전 생성(DALL-E2) 기존 이미지의 변형 만들기 (DALL-E 2) 텍스트를 이용한 이미지를 생성 후, URL or Base64 로 받을 수 있습니다. URL 은 1시간보장됩니다. 예제 import openai from "@/config/openai"; export default async function (req, res) { const response = await openai.images.generate({..
Embedding 주어진 텍스트에 대한 임베딩을 만들어주는 모델로, 두 문장의 임배딩 유사도를 계산함으로서 문맥적 검색을 수행할 수 있습니다. 즉 챗봇이 대답하고자 하는 내용을 포함한 FAQ 가 있다고 가정하면, 이를 임베딩 벡터 데이터베이스로 만들어두고, 사용자의 요청을 벡터화 해서 임베딩 벡터 데이터베이스의 벡터들과 유사도를 측정, 가장 유사한 내용을 가지고 오는 것입니다. 동작 플로우 이해를 돕기 위한 동작 플로우 입니다. (질문, 대답) (검색, 결과) 등의 데이터셋 준비 임베딩할 데이터를 특정 기준으로 묶어서 text 화를 합니다. 생성된 임베딩을 사용하여 검색, 추천, 시각화 등의 작업을 수행할 수 있음 임베딩 만들기 OpenAI 권장 모델: text-embedding-ada-002 impor..
jwt - 토큰을 이용한 관리 방법으로 로그인시 아이디, 날짜, 유효기간 등 정보를 암호화함. - db 에 따로 저장하지 않기 때문에 db 에 부하를 줄일 수 있음. - 클라이언트와 서버 간의 교환을 쉽게 할 수 있는 방법으로 서버에서 jwt 토큰에 대한 인증만 해주면 됨. session - 로그인시 필요한 정보를 서버에 보내고 jwt 와 다른 점은 db 에 저장함. - session id 를 넘겨주기 때문에 이 session id 를 db 와 비교하여 판단함. - get, post 요청시마다 로그인 상태 체크를 하기 때문에 db 조회가 많아짐.
빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 지속적 통합 및 지속적 배포(CI/CD) 플랫폼으로 레포지토리에 대한 모든 PR 을 빌드, 테스트하는 워크플로우를 만들거나 병합된 PR 을 배포할 수 있습니다. github actions 에서 파일을 선택해서 만들어도 되고 직접 .github/workflows/deploy.yml에 만들어도 됩니다. name: Deploy on: push: branches: [main] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout source code uses: actions/checkout@v4 - name: Setup node.js uses: actions/setup-node@v3 with: node-v..

Docker 란? 컨테이너 기술 기반에 오픈소스 플랫폼입니다. 가상 머신이 서버 하드웨어를 가상화하는 방식과 비슷하게 컨테이너는 서버 운영 체제를 가상화합니다. 컨테이너란? 격리를 시켜주는 것. 우리가 사용하고자 하는 os, runtime, jar ... 등 이러한 격리가 가능한 이유는 리눅스(커널)의 cgroup, namespace 기능을 사용합니다. cgroup: 자원(CPU, 메모리, network bandwidth)에 대한 제어를 가능하게 해주는 리눅스 커널의 기능 namespace: 프로세스를 독립시켜주는 가상화 기술 (시스템, 네트워크 ...) 그 이상은 우리는 복잡하니 이러한 것이다~ 라고만 알고 있자. 결국, 우리는 만들어진 것을 잘 쓰면 된다!! 즉, Docker 는 이러한 컨테이너의 작..
- Total
- Today
- Yesterday
- nodejs
- docker
- openAI
- nextjs14
- vue composition api
- nextjs15
- webpack
- 서버 to 서버
- NextJS
- 타입스크립트
- 오블완
- nuxt2
- dockerfile
- Vite
- React
- vscode
- NUXT
- AWS
- 깃허브
- svelte
- 스벨트
- vue router
- ChatGPT
- 네이버 서치 어드바이저
- Git
- 티스토리챌린지
- Github Actions
- cors
- nextjs13
- seo
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |