티스토리 뷰
GPT-4 비전 모델을 사용하면 단일 API 호출로 텍스트와 이미지 등 멀티모달 입력을 해석할 수 있습니다.
- 이미지가 모호하거나 불분명하면 모델이 최선을 다해 해석은 하지만, 결과의 정확도는 떨어질 수 있습니다.
- 현재 지원되는 파일 형식 (png, jpeg, jpg, webp, gif) 입니다.
- 이미지 용량은 20mb 로 제한되어 있습니다.
- 모델이 이미지를 처리한 뒤, 이미지는 자동삭제됩니다.
- 오래 실행되는 대화의 경우, base64 대신 URL 을 통한 이미지를 전달하는 것이 좋음.
- 이미지 크기를 예상되는 최대 크기보다 작게 다운사이딩하면 지연 시간을 개선할 수 있음.
참조: https://platform.openai.com/docs/guides/vision
비용 계산
이미지 입력에는 텍스트와 마찬가지로 토큰 기반의 비용이 부과됩니다. 비용은 이미지 크기와 각 image_url 블록의 상세 옵션에 따라 결정됩니다. 디테일이 적은 이미지는 각각 85토큰으로 청구되며, 디테일이 많은 이미지는 2048 x 2048 정사각형에 맞춰 크기를 조정하고 768픽셀의 가장 짧은 면으로 크기를 조정한 후, 512픽셀 정사각형으로 구성된 개수에 따라 170 토큰이 추가됩니다. 항상 최종 합계에는 85토큰이 더해집니다.
- 1024 x 1024 이미지의 경우, 초기 크기 조정 없기 때문에 765 토큰 (detail: high)
- 2048 x 4096 이미지의 경우, 1024 x 2048 로 축소 하여 1105 토큰 (detail: high)
- 입력 크기에 관계 없이 디테일이 낮은 이미지는 고정 비용으로 85 토큰 (detail: row)
아래 Pricing 으로 가서 vision 의 가격을 예상할 수 있음.
참조: https://openai.com/pricing
nodejs 기반 예제
import OpenAI from "openai";
import dotenv from "dotenv";
dotenv.config({
path:
process.env.NODE_ENV === "production"
? ".env.production"
: ".env.development",
});
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY, // This is also the default, can be omitted
});
export default async function (req, res) {
const question = req.body.question || "";
const response = await openai.chat.completions.create({
model: "gpt-4-vision-preview",
messages: [
{
role: "user",
content: [
{ type: "text", text: question },
{
type: "image_url",
image_url: {
url: "<이미지 url>",
},
},
],
},
],
});
res.status(200).json({ result: response.choices[0].message.content });
}
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- webpack
- dockerfile
- NextJS
- docker
- vscode
- 스벨트
- NUXT
- seo
- nextjs13
- 깃허브
- Storybook
- React
- 티스토리챌린지
- vue router
- 오블완
- nextjs14
- nuxt2
- AWS
- svelte
- Github Actions
- openAI
- Vite
- Embedding
- 네이버 서치 어드바이저
- cors
- 서버 to 서버
- vue composition api
- 타입스크립트
- nodejs
- Git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함