스택큐힙리스트

OpenAI GPT-3 API: TL;DR 출력 길이를 확장하는 방법은 무엇인가요? 본문

카테고리 없음

OpenAI GPT-3 API: TL;DR 출력 길이를 확장하는 방법은 무엇인가요?

스택큐힙리스트 2023. 3. 28. 06:03
반응형

저는 OpenAI의 TLDR을 이용하여 2-3 페이지 기사의 3-6 문장 요약을 제작하고 싶습니다. 기사 텍스트를 붙여 넣었지만 출력물이 1-2 문장으로 유지되는 것 같습니다.

답변 1

주어진 프롬프트에 대한 3문장 요약을 얻을 수 있는 옵션입니다.

OpenAI API에 3 문장 요약을 원하는 방법이 여러 가지 있습니다.

옵션 1: Write TL;DR in 3 sentences (7 토큰)

옵션 2: TL;DR 3 sentences (5 토큰)

옵션 3 : Write summary in 3 sentences (5 토큰)

옵션 4: Summary 3 sentences (3 토큰)

참고 : 나는 Tokenizer를 사용하여 토큰 수를 계산했습니다.

상기 모든 것은 3문장 요약을 반환합니다.

옵션 4를 선택하십시오.

왜냐하면 사용한 토큰당 지불하기 때문입니다. 따라서 옵션 4가 가장 적게 비용이 들 것입니다.

또한, TL;DR를 작성하면 3개의 토큰이 소모되며, Summary 3 sentences를 작성하는 것과 동일합니다. 다시 말해, 소비는 같지만 Summary 3 sentences를 작성하면 3문장 요약본을 제공합니다.

또한, OpenAI API가 3개의 문장을 반환할 수 있도록 max_tokens 매개 변수를 충분히 높게 설정하는 것을 잊지 마세요.

예시

공식 OpenAI website에서 예를 들어봅시다.

프롬프트:

A neutron star is the collapsed core of a massive supergiant star, which

had a total mass of between 10 and 25 solar masses, possibly more if the

star was especially metal-rich.[1] Neutron stars are the smallest and

densest stellar objects, excluding black holes and hypothetical white

holes, quark stars, and strange stars.[2] Neutron stars have a radius on

the order of 10 kilometres (6.2 mi) and a mass of about 1.4 solar masses.

[3] They result from the supernova explosion of a massive star, combined

with gravitational collapse, that compresses the core past white dwarf star

density to that of atomic nuclei.

Summary 3 sentences

완성

중성자 별은 지름 약 10 킬로미터, 질량 1.4 태양 질량으로 가장 작고 가장 밀도가 높은 성적 물체입니다. 중성자 별은 10-25 태양 질량 사이의 대질량성 별의 초신성 폭발과 중력 붕괴에 의해 백색 왜성 밀도 이상으로 핵을 압축함으로써 형성됩니다. 따라서, 중성자 별은 대질량 초거성의 붕괴된 핵을 대표합니다.

답변 2

OpenAI GPT-3 API: TL;DR 생성 길이 확장 방법

OpenAI의 GPT-3는 자연어 생성 모델로써 매우 큰 성능을 보입니다. 이번에는 GPT-3를 이용하여 긴 문서를 요약하여 TL;DR(Text long; Didn't Read)를 생성하는 방법을 알아보겠습니다.

GPT-3 API에서 TL;DR를 생성하면 일반적으로 2~3문장 정도의 요약 내용이 출력됩니다. 하지만 때로는 이정도의 개수로는 요약이 부족해 보이는 경우가 있을 수 있습니다. 이런 경우에는 요약 출력 길이를 늘릴 필요가 있습니다.

GPT-3에서 TL;DR 생성 길이를 확장하는 방법은 매우 간단합니다. 특정 토큰을 생성할 때 이를 반복하여 출력합니다. 다음은 OpenAI GPT-3 API를 사용하여 TL;DR 출력 길이를 확장하는 예시 코드입니다.

```

import openai

import re

openai.api_key = [Your API Key]

model_engine = text-davinci-002

def generate_TLDR(text, length=3):

prompt = fPlease summarize the following text: \n{text} \n\nTL;DR:

response = openai.Completion.create(

engine=model_engine,

prompt=prompt,

max_tokens=1024,

n=1,

stop=None,

temperature=0.5

)

output = response.choices[0].text

output = re.sub('[^a-zA-Z0-9.’]', ' ', output)

output = output.strip()

# extend output length

for i in range(length - 1):

response = openai.Completion.create(

engine=model_engine,

prompt=prompt + \n\n + .join(output.split()[-50:]) + \n\nTL;DR:,

max_tokens=1024,

n=1,

stop=None,

temperature=0.5

)

new_output = response.choices[0].text

new_output = re.sub('[^a-zA-Z0-9.’]', ' ', new_output)

new_output = new_output.strip()

output += + new_output

return output

```

위의 코드에서 length는 TL;DR의 생성 길이를 의미합니다. 이를 원하는 길이로 설정하여 TL;DR 출력의 길이를 확장할 수 있습니다.

결론적으로 GPT-3 API를 사용하여 긴 문서를 요약하여 TL;DR을 생성하는 방법을 알아보았습니다. 긴 문서를 요약할 때는 TL;DR의 출력 길이를 적절히 조절하여 요약의 품질을 개선할 수 있습니다.

반응형
Comments