카테고리 없음

[Node.js_4기] 최종 프로젝트 3주차_day4 (24/04/11)

TUNA_K 2024. 4. 12. 09:35
목차

 

1. 문제

2. 시도

3. 결과

4. 배운점

 

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대신 사용하는 방법을 생각해볼 생각이다.