스택큐힙리스트

OpenAI API는 "User-Agent"로 불안전한 헤더를 설정하는 것을 거부했습니다. 본문

카테고리 없음

OpenAI API는 "User-Agent"로 불안전한 헤더를 설정하는 것을 거부했습니다.

스택큐힙리스트 2024. 1. 27. 12:49
반응형

이 오류를 받는 이유를 이해하지 못하겠습니다.



User-Agent를 불안전한 헤더로 설정하는 것을 거부했습니다



개인 프로젝트를 위해 OpenAI의 API를 사용하려고 합니다. 이 불안전한 헤더를 설정하는 거부되는 이유를 이해하지 못하고, 어떻게 하면 안전하게 만들 수 있는지 알아보고 있습니다. 이 문제에 대해 구글링을 해보았지만 상위 링크에는 Chrome에서 하는 일일 수도 있는 것에 대해 설명한 GitHub 포럼이 나옵니다. 그러나 Safari에서도 앱을 사용해보려고 했지만 작동하지 않았습니다.

const onFormSubmit = (e) => {
e.preventDefault();
const formData = new FormData(e.target),
formDataObj = Object.fromEntries(formData.entries())
console.log(formDataObj.foodDescription);
//////OPENAI
const configuration = new Configuration({
apiKey: process.env.REACT_APP_OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
openai.createCompletion(text-curie-001, {
prompt: `다음의 맛에 따라 음식 제안을 생성해주세요: ${formDataObj.foodDescription}`,
temperature: 0.8,
max_tokens: 256,
top_p: 1,
frequency_penalty: 0,
presence_penalty: 0,
})
.then((response) => {
setState({
heading: `${formDataObj.foodDescription}에 대한 인공지능 음식 제안`,
response: `${response.data.choices[0].text}`
});
})
}

답변 1

당신이 말하신 대로, openai API 클라이언트에서 User-Agent 헤더를 설정하는 것이 거절되므로 오류가 발생합니다. 민감한 정보 (API 키)에 액세스해야 하기 때문에 Node.js 클라이언트는 실수로 비밀을 누설하는 것을 방지하기 위해 크로스 오리진 요청을 구체적으로 제한합니다.


워크어라운드 방법은 다음을 참조하세요. https://github.com/openai/openai-node/issues/6에서 AmanKishore가 직접 요청을 보내는 것입니다.


나는 다음과 같이 나만의 완성 함수를 작성하게 되었습니다:

DEFAULT_PARAMS라는 상수 정의 = {
model: text-davinci-002,
temperature: 0.7,
max_tokens: 256,
top_p: 1,
frequency_penalty: 0,
presence_penalty: 0
}
export async function query(params = {}) {
const params_ = { ...DEFAULT_PARAMS, ...params };
const requestOptions = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + String(openai_api_key)
},
body: JSON.stringify(params_)
};
const response = await fetch('https://api.openai.com/v1/completions', requestOptions);
const data = await response.json();
return data.choices[0].text;
}

답변 2

OpenAI API가 안전하지 않은 'User-Agent' 헤더 설정을 거부했습니다
User-Agent 헤더의 안전하지 않은 설정에 대해 SEO에 주의한 한국어 글을 작성해주세요.
사용자가 웹 브라우저를 통해 인터넷에 연결하면 웹 사이트는 사용자 에이전트 (User-Agent) 헤더를 통해 해당 사용자의 브라우저 및 운영 체제 정보를 알 수 있습니다. 이 정보를 통해 웹 사이트는 각 사용자에게 최적화된 콘텐츠를 제공할 수 있습니다. 그러나 최근 OpenAI API가 위험하다고 인식되는 'User-Agent' 헤더 설정을 거부하고 있는 상황입니다.
이 'User-Agent' 헤더는 웹 개발자가 웹 사이트의 유저 에이전트를 구별하는 데 사용하는 중요한 요소입니다. 예를 들어, 특정 유저 에이전트를 식별할 수 있는 특정 헤더 문자열을 사용하면 사용자에게 맞춤형 콘텐츠를 제공하는 등 다양한 기능을 구현할 수 있습니다.
하지만 최근 OpenAI API는 이러한 'User-Agent' 헤더의 설정을 거부하고 있습니다. 이는 OpenAI API 엔진을 통해 인공지능 모델에 대한 사용자 요청을 보낼 때 'User-Agent' 헤더를 자동으로 설정하는 작업에 영향을 미치는 것입니다. 그 결과, 개발자는 자체적으로 'User-Agent' 헤더를 설정해야 하거나 다른 방법을 찾아야 합니다.
이러한 변경은 OpenAI API를 이용하는 개발자들에게는 불편을 야기할 수 있습니다. 기존에 작성된 코드를 수정해야 할 필요가 생기고, 추가적인 작업이 요구될 수 있습니다. 이는 개발자들이 더 많은 시간과 노력을 투자해야 한다는 것을 의미합니다.
하지만 이러한 변경은 사용자 프라이버시 및 보안 측면에서 중요한 이점을 제공할 수 있습니다. 예를 들어, 사용자 에이전트 정보가 노출되면 개인 식별 정보가 노출될 수 있으며, 이는 사용자의 개인 정보 보호 노력에 위협이 될 수 있습니다. 따라서 OpenAI는 이러한 보안 문제를 예방하고 사용자의 개인 정보를 보호하기 위해 이 조치를 취한 것으로 볼 수 있습니다.
이러한 변경과 관련하여 개발자들은 SEO (Search Engine Optimization) 측면에서 주의가 필요합니다. 검색 엔진은 웹 사이트의 내용과 레이아웃을 인덱싱할 때 'User-Agent' 헤더 정보를 참고하기도 합니다. 따라서 'User-Agent' 헤더의 설정이 올바르게 이루어져야 검색 엔진의 색인 작업에 영향을 줄 수 있지만, OpenAI API의 변경으로 인해 이러한 설정이 잘못되는 상황이 발생할 수 있습니다.
이에 따라 개발자들은 OpenAI API를 사용하면서 사용자 에이전트 정보가 제대로 설정되도록 검토하고 수정해야 합니다. 이러한 변경 작업은 SEO에 영향을 줄 수 있으므로 주의가 필요합니다. 검색 엔진은 웹 사이트의 내용을 인덱싱하고 노출하는 데 사용하는데, 잘못된 'User-Agent' 헤더 설정으로 인해 검색 결과의 노출이 줄어들거나 올바른 대상층에게 콘텐츠가 전달되지 않을 수 있습니다.
결론적으로, OpenAI API가 안전하지 않은 'User-Agent' 헤더 설정을 거부하는 변경은 개인정보 보호 측면에서는 이점을 제공할 수 있지만, 개발자들은 유의해야 합니다. 사용자 에이전트 설정을 수정함에 있어 SEO에 영향을 미칠 가능성이 있으므로, 이러한 변경에 대해 신중히 대처해야 합니다. OpenAI API를 효과적으로 이용하며 동시에 올바른 SEO 적용을 위해 개발자들은 주의를 기울여야 합니다.

반응형
Comments