일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 데이터구조
- 데이터과학
- 데이터베이스
- 프로그래밍언어
- 소프트웨어공학
- 컴퓨터과학
- 네트워크보안
- 소프트웨어
- 2
- I'm Sorry
- 알고리즘
- 사이버보안
- 클라우드컴퓨팅
- 인공지능
- 컴퓨터공학
- 컴퓨터비전
- 자바스크립트
- Yes
- 웹개발
- 머신러닝
- 네트워크
- 프로그래밍
- 데이터분석
- 파이썬
- 딥러닝
- 보안
- 코딩
- 빅데이터
- 버전관리
- 자료구조
- Today
- Total
스택큐힙리스트
OpenAI API는 다양한 변화 없이 완성을 반복합니다. 본문
저는 공식 OpenAI npm 종속성을 사용하여 Javascript에서 챗봇을 구현해 보았습니다.
내가 이 문제를 해결한 방법은, 채팅 메시지의 배열을 가지고 개행으로 연결하여 API에 프롬프트로 전송하는 것입니다.
Hello: 안녕하세요
arr.push(This is a conversation between you and an AI)
arr.push(You: Hello, how are you doing)
arr.push(AI: I'm great, how about you?)
arr.push(You: I'm good, thanks!)
그런 다음 다음 질문을 배열에 넣고, OpenAI 엔드포인트를 완료하기 위해 빈 AI: 문자열을 추가합니다.
API를 완료하기 위한 결과 프롬프트는 다음과 같습니다.
```
This is a conversation between you and an AI
You: Hello, how are you doing
AI: I'm great, how about you?
You: I'm good, thanks!
You: How's the weather today?
AI:
```
그러면 응답도 배열에 추가되어 대화를 계속할 수 있습니다... (이 때 말풍선에서 마지막 약 20줄만 보내게 됩니다)
하지만 문제는 봇이 자기 자신을 반복하기 시작한다는 것입니다. 무작위 시간에 좋아요, 당신은 어떤가요?와 같은 대답을 시작하며, 프롬프트에서 마지막 질문으로 보내는 모든 질문에 대한 답변이 됩니다.
Hello! - 안녕하세요!
```
This is a conversation between you and an AI
You: Hello, how are you doing
AI: I'm great, how about you?
You: I'm good, thanks!
You: How's the weather today?
AI: It is looking great!
You: That's nice, any plans for today?
AI: It is looking great!
You: What are you talking about?
AI: It is looking great!
```
문서에서 찾은 유일한 중요한 것은 frequency_penalty와 presence_penalty입니다. 그러나 이를 변경해도 큰 변화가 없는 것 같습니다.
이것은 위의 예제에서 사용된 매개변수입니다.
const completion = await openai.createCompletion(text-davinci-001, {
prompt: p,
max_tokens: 200,
temperature: 0.6,
frequency_penalty: 1.5,
presence_penalty: 1.2,
});
return completion.data.choices[0].text.trim()
나는 물론 다른 온도와 벌칙 조합들로도 시도해보았다.
이것은 그저 이미 알려진 문제인가, 아니면 내가 무언가를 잘못 이해하고 있는 건가?
답변 1
주파수와 존재성 패널티는 최대 값이 1이며, API에서 그 이상의 값을 처리하는 방법을 잘 모릅니다.
2023년 1월 19일 현재 가장 최신 버전인 text-davinci-003를 시도해보세요. 이곳에서 이번 챗봇 프롬프트인 official example를 확인할 수 있습니다. 창의성을 위해 기온은 .9으로 설정되어 있으며, 주제 반복을 피하기 위해 존재 벌칙은 .6입니다.
not recommended 중일 때, 약간의 위험이 있는 베이스 시리즈 모델 davinci를 시도해볼 수도 있다.
답변 2
OpenAI API의 완성 결과는 반복되는데, 이는 심각한 문제입니다. OpenAI API는 인공지능을 통해 사람들이 쉽게 텍스트 생성을 할 수 있도록 기능을 제공하는 플랫폼입니다. 이러한 API를 사용하면 사용자는 문장의 시작 부분만 입력하고, API는 그에 대한 뒷부분을 자동으로 완성시켜줍니다. 그러나 이 API의 완성 결과가 반복되는 문제가 발생하고 있습니다.이러한 문제가 발생하는 이유는 인공지능 모델이 항상 같은 결과를 출력하도록 프로그래밍된 경우입니다. 이러한 인공지능 모델은 입력된 문장의 컨텍스트를 파악하지 못하고, 단순히 똑같은 결과를 출력하는 것입니다. 이는 사용자에게 혼란을 초래하고, 사용성을 저하시키는 문제로 발전할 수 있습니다.
이러한 문제를 해결하기 위해 OpenAI는 모델의 다양성을 증가시키는 작업을 진행하고 있습니다. 이는 인공지능 모델이 다양한 결과를 출력할 수 있도록 하는 것입니다. 또한 이러한 다양성을 증가시키기 위해 OpenAI는 모델의 학습 데이터를 다양화하고, 다양한 학습 알고리즘을 적용하는 등의 작업을 진행하고 있습니다.
이러한 작업이 성공적으로 진행된다면, OpenAI API의 사용성과 효과성을 크게 향상시킬 수 있을 것으로 기대됩니다. 개선된 API는 더욱 다양하고 창의적인 결과물을 제공하며, 사용자들의 높은 만족도를 얻을 수 있을 것입니다. 따라서 OpenAI는 이러한 문제를 적극적으로 해결하고, 더 나은 플랫폼을 제공하기 위한 노력을 계속하고 있습니다.