Javascript를 활용한 프리셋 API
이 예제 코드는 LaaS에서 preset API를 활용하는 방법을 설명합니다.
1. 배포된 프리셋 조회
- 배포된 프리셋의 정보를 조회 할 때 사용
 
const axios = require('axios');
async function requestPresetInfo() {
    const project = 'YOUR_PROJECT_CODE';
    const apiKey = 'YOUR_API_KEY';
    const hash = 'YOUR_PRESET_HASH';
    const laasPresetUrl = `https://api-laas.wanted.co.kr/api/preset/${hash}`;
    try {
        const response = await axios.get(laasPresetUrl, {
            headers: {
                project: project,
                apiKey: apiKey
            }
        });
        console.log('Response:', response.data);
    } catch (error) {
        console.error('Error fetching preset info:', error);
    }
}
2. Chat 호출
- 배포된 프리셋을 사용하여 LLM의 chat API를 호출
 
case1) 기본 프리셋 호출
const axios = require('axios');
async function requestChatCompletion() {
    const projectCode = 'YOUR_PROJECT_CODE';
    const apiKey = 'YOUR_API_KEY';
    const hash = 'YOUR_PRESET_HASH';
    const laasChatUrl = 'https://api-laas.wanted.co.kr/api/preset/v2/chat/completions';
    const requestBody = {
        hash: hash
    };
    try {
        const response = await axios.post(laasChatUrl, requestBody, {
            headers: {
                project: projectCode,
                apiKey: apiKey,
                'Content-Type': 'application/json; charset=utf-8'
            }
        });
        console.log('Response:', response.data);
    } catch (error) {
        console.error('Error in chat completion request:', error);
    }
}
위의 코드는 에디터를 다음과 같이 설정 했을 때와 동일하게 처리됩니다.

case2) 가변 포함 프리셋 호출
- 가변값 
question을원티드랩으로 설정한 예시입니다. 
const axios = require('axios');
async function requestChatCompletion() {
    const projectCode = 'YOUR_PROJECT_CODE';
    const apiKey = 'YOUR_API_KEY';
    const hash = 'YOUR_PRESET_HASH';
    const laasChatUrl = 'https://api-laas.wanted.co.kr/api/preset/v2/chat/completions';
    const requestBody = {
        hash: hash,
        params: {
            question: '원티드랩'
        }
    };
    try {
        const response = await axios.post(laasChatUrl, requestBody, {
            headers: {
                project: projectCode,
                apiKey: apiKey,
                'Content-Type': 'application/json; charset=utf-8'
            }
        });
        console.log('Response:', response.data);
    } catch (error) {
        console.error('Error in chat completion request:', error);
    }
}
API 호출시 프리셋의 가변값이, params에 전달한 값으로 설정되어 호출됩니다.
에디터에서 설정한 값은 API 호출시 사용 되지 않기 때문에 params를 설정하지 않을 경우, 빈 값으로 설정되어 호출됩니다.
