# GPT 6 Sol API OpenAI에서 제공하는 GPT 6 Sol LLM 모델의 전체 API 참조 문서입니다. ## 모델 변형 이 API는 네 가지 모델 변형을 지원합니다. | 모델 | ID | 설명 | |-------|----|-------------| | **GPT 6 Sol Text to Text** | `gpt-6-sol-text-to-text` | 범용 텍스트 추론 및 작성 | | **GPT 6 Sol Image to Text** | `gpt-6-sol-image-to-text` | 텍스트 지시를 통한 이미지 이해 | | **GPT 6 Sol Web Search** | `gpt-6-sol-web-search` | 웹 검색 기능을 갖춘 텍스트 LLM 워크플로 | | **GPT 6 Sol File Analysis** | `gpt-6-sol-file-analysis` | 텍스트 지시를 통한 파일 분석 | ## 빠른 비교 | 기능 | 텍스트 입력 및 텍스트 출력 | 이미지 입력 및 텍스트 출력 | 웹 검색 | 파일 분석 | |---------|--------------|---------------|------------|---------------| | 텍스트 입력 | 필수 ✅ | 선택 사항 | 필수 ✅ | 선택 사항 | | 이미지 입력 | 지원하지 않음 ❌ | 선택 사항 | 선택 사항 | 선택 사항 | | 파일 입력 | 지원하지 않음 ❌ | 지원하지 않음 ❌ | 선택 사항 | 선택 사항 | | 스트리밍 응답 | SSE | SSE | SSE | SSE | | `max_tokens` | 선택 사항 | 선택 사항 | 선택 사항 | 선택 사항 | ## GPT 6 Sol Text to Text ### 엔드포인트 ```http POST /api/v1/chat/completions ``` ### 요청 매개변수 #### 필수 | 매개변수 | 유형 | 설명 | |-----------|------|-------------| | `model` | string | `"gpt-6-sol-text-to-text"`이어야 합니다. | | `messages` | array | 순서대로 정렬된 메시지입니다. 메시지 구조는 LLM API를 참조하세요. | | `stream` | boolean | SSE 응답은 `true`, 단일 JSON 응답은 `false`로 설정합니다. | #### 메시지 입력 지원 | 필드 | 텍스트 | 파일 | 이미지 | |-------|------|------|-------| | `messages` | 필수 ✅ | 지원하지 않음 ❌ | 지원하지 않음 ❌ | #### 선택 사항 | 매개변수 | 유형 | 범위 | 설명 | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | 최대 출력 토큰 수입니다. 기본 상한값은 없습니다. | ### 요청 예시 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-sol-text-to-text', messages: [ { role: 'user', content: 'Write a short launch announcement for a new AI feature.' } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 6 Sol Image to Text ### 엔드포인트 ```http POST /api/v1/chat/completions ``` ### 요청 매개변수 #### 필수 | 매개변수 | 유형 | 설명 | |-----------|------|-------------| | `model` | string | `"gpt-6-sol-image-to-text"`이어야 합니다. | | `messages` | array | 순서대로 정렬된 메시지입니다. LLM API와 메시지 첨부 파일 문서를 참조하세요. | | `stream` | boolean | SSE 응답은 `true`, 단일 JSON 응답은 `false`로 설정합니다. | #### 메시지 입력 지원 | 필드 | 텍스트 | 파일 | 이미지 | |-------|------|------|-------| | `messages` | 선택 사항 | 지원하지 않음 ❌ | 선택 사항 | #### 선택 사항 | 매개변수 | 유형 | 범위 | 설명 | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | 최대 출력 토큰 수입니다. 기본 상한값은 없습니다. | ### 요청 예시 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-sol-image-to-text', messages: [ { role: 'user', content: [ { type: 'text', text: 'Describe the image and extract any visible text.' }, { type: 'image_url', image_url: { url: 'https://example.com/sample-image.jpg' } } ] } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 6 Sol Web Search ### 엔드포인트 ```http POST /api/v1/chat/completions ``` ### 요청 매개변수 #### 필수 | 매개변수 | 유형 | 설명 | |-----------|------|-------------| | `model` | string | `"gpt-6-sol-web-search"`이어야 합니다. | | `messages` | array | 순서대로 정렬된 메시지입니다. LLM API와 메시지 첨부 파일 문서를 참조하세요. | | `stream` | boolean | SSE 응답은 `true`, 단일 JSON 응답은 `false`로 설정합니다. | #### 메시지 입력 지원 | 필드 | 텍스트 | 파일 | 이미지 | |-------|------|------|-------| | `messages` | 필수 ✅ | 선택 사항 | 선택 사항 | #### 선택 사항 | 매개변수 | 유형 | 범위 | 설명 | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | 최대 출력 토큰 수입니다. 기본 상한값은 없습니다. | ### 요청 예시 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-sol-web-search', messages: [ { role: 'user', content: 'Find recent product launch trends in AI developer tools.' } ], stream: true, max_tokens: 2048 }) }); ``` ## GPT 6 Sol File Analysis ### 엔드포인트 ```http POST /api/v1/chat/completions ``` ### 요청 매개변수 #### 필수 | 매개변수 | 유형 | 설명 | |-----------|------|-------------| | `model` | string | `"gpt-6-sol-file-analysis"`이어야 합니다. | | `messages` | array | 순서대로 정렬된 메시지입니다. LLM API와 메시지 첨부 파일 문서를 참조하세요. | | `stream` | boolean | SSE 응답은 `true`, 단일 JSON 응답은 `false`로 설정합니다. | #### 메시지 입력 지원 | 필드 | 텍스트 | 파일 | 이미지 | |-------|------|------|-------| | `messages` | 선택 사항 | 선택 사항 | 선택 사항 | #### 선택 사항 | 매개변수 | 유형 | 범위 | 설명 | |-----------|------|-------|-------------| | `max_tokens` | integer | `> 1` | 최대 출력 토큰 수입니다. 기본 상한값은 없습니다. | ### 요청 예시 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Accept': 'text/event-stream', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-6-sol-file-analysis', messages: [ { role: 'user', content: [ { type: 'text', text: 'Summarize this document and list the key action items.' }, { type: 'file', file: { filename: 'demo.pdf', file_data: 'https://example.com/demo.pdf' } } ] } ], stream: true, max_tokens: 2048 }) }); ``` ## 응답 형식 GPT 6 Sol LLM 모델은 OpenAI 호환 완성 응답을 반환합니다. `stream: true`이면 응답은 서버 전송 이벤트(SSE) 형식이며, `stream: false`이면 단일 JSON 객체입니다. ### 성공 응답 ```text data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-sol-image-to-text","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-sol-image-to-text","choices":[{"index":0,"delta":{"content":"The image shows"},"finish_reason":null}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-sol-image-to-text","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gpt-6-sol-image-to-text","choices":[],"usage":{"prompt_tokens":12,"completion_tokens":8,"total_tokens":20}} data: [DONE] ``` ### 오류 응답 ```text event: error data: {"error":{"message":"API requests too frequent, exceeding rate limit","type":"rate_limit_error","code":"1302","param":null}} ``` ## 모범 사례 1. **메시지 구조 유지:** 컨텍스트를 하나의 프롬프트로 합치지 말고 `messages[]`를 사용해 대화 기록을 전달하세요. 2. **메시지에 파일과 이미지 첨부:** `image_url`과 `file` 부분을 해당 항목을 소개하는 메시지 안에 넣으세요. 3. **SSE 파싱 사용:** `choices[0].delta.content`를 이어 붙여 점진적으로 표시하고 `data: [DONE]`을 성공적인 완료로 처리하세요. 4. **지원되는 입력만 전송:** 텍스트, 이미지, 파일 부분을 선택한 모델 변형에 맞게 구성하세요. 5. **요청 상태를 로컬에 저장:** 청크에는 완성 응답의 `id`가 포함되지만, 클라이언트는 활성 요청 상태를 통해 청크를 라우팅해야 합니다.