카테고리 없음
[Node.js_4기] 최종 프로젝트 3주차_day4 (24/04/11)
TUNA_K
2024. 4. 12. 09:35
목차
1. 문제
이전에도 계속 언급했던 처리량 제한 문제를 해결하기위해 검색을 계속하던 도중 Rapid API라는 것을 발견했다.
여러 유무료의 API를 제공하는 API장터 같은 사이트로, 여기서 무료 API를 골라 사용하면 제한량이 될 때 마다 다른 계정으로 갈아치우든 하면 해결할 수 있지 않을까. 라는 생각으로 사용해보았다.
2. 시도
원래 openai API를 번역에 사용했었는다.
이걸 일단 google translate api(free)를 사용해서 대체해 보았다.
public async translateText2({ lang, prompt }: TranslateDto): Promise<string> {
const encodedParams = new URLSearchParams();
encodedParams.append('from', 'en');
encodedParams.append('to', lang);
encodedParams.append('text', prompt);
const options = {
method: 'POST',
url: 'https://google-translate113.p.rapidapi.com/api/v1/translator/text',
headers: {
'content-type': 'application/x-www-form-urlencoded',
'X-RapidAPI-Key': process.env.RAPIDAPI_KEY,
'X-RapidAPI-Host': 'google-translate113.p.rapidapi.com',
},
data: encodedParams,
};
try {
const response = await firstValueFrom(this.httpService.request(options));
return response.data;
} catch (error) {
console.error('Error in translation:', error);
throw error;
}
}
대부분의 api는 위와같은 형태로 사용할 수 있다. openai API와 달리 따로 api 사용을 공부할 필요가 없다는 점이 편했다.
3. 결과
큰 발전은 없었지만, 약 300ms정도의 시간 이득을 보고, gpt를 사용한 번역의 경우 다른 text api와 같은 모델을 사용하여 사용량이 겹치기 토큰 제한량에 영향을 줄 수 있다.
4. 배운점
Rapid API를 사용하여 다양한 API중 하나를 취사 선택하여 내가 원하는 서비스를 개발할 수 있다는 것.
image recognition쪽 api도 다양하게 많아서 이쪽도 gpt4대신 사용하는 방법을 생각해볼 생각이다.