Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gpt api 로 키워드 생성하기 #10

Open
pol-dev-shinroo opened this issue Apr 7, 2023 · 0 comments
Open

gpt api 로 키워드 생성하기 #10

pol-dev-shinroo opened this issue Apr 7, 2023 · 0 comments

Comments

@pol-dev-shinroo
Copy link
Contributor

pol-dev-shinroo commented Apr 7, 2023

gpt api 사용법:

import { Configuration, OpenAIApi } from "openai";

interface useChatGPTParam {
  title?: string;
  desc?: string;
  content?: string;
}

class UseChatGPT {
  private openai: OpenAIApi;

  constructor(apiKey: string) {
    const configuration = new Configuration({ apiKey });
    this.openai = new OpenAIApi(configuration);
  }

  async getKeywords({ title, desc, content }: useChatGPTParam) {
    let prompt;
    if (title) {
      prompt = `list 3 korean keywords related to this text: ${title}.`;
    } else if (desc) {
      prompt = `list 3 korean keywords related to this text: ${desc}`;
    } else if (content) {
      prompt = `list 2 keywords in korean related to the content: ${content}`;
    } else {
      throw new Error("No input provided");
    }

    const { data } = await this.openai.createCompletion({
      model: "text-davinci-003",
      prompt,
      max_tokens: 80,
      temperature: 0,
    });

    return data.choices[0].text;
  }
}

export default UseChatGPT;

해당 api 를 사용하여 프론트에서 뉴스 상세페이지에 들어갈 때에 (newsId)로 db에 해당뉴스에 대한 키워드를 생성후 다시 db에 저장합니다.
따라서 node-cron으로 현재 데이터 베이스에 있는 모든 뉴스에 gpt api를 돌리는것이 아니라, 프론트에서 뉴스 상세 페이지로 넘어갈때에 키워드를 생성 => db에 뉴스 테이블 업데이트를 하는 방향으로 합니다.

  • 이유는 비용입니다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant