Top.Mail.Ru
Ответы

Как исправить ошибку 403 при отправке запроса к API OpenAI из России?

"

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
 const form = document.getElementById("chat-form");
const mytextInput = document.getElementById("mytext");
const responseTextarea = document.getElementById("response");

const API_KEY = "API_KEY";

form.addEventListener("submit", async (e) => {
   e.preventDefault();
   const mytext = mytextInput.value.trim();

   if (mytext) {
      try {
         const response = await fetch(
            "https://api.openai.com/v1/chat/completions",
            {
               mode: "no-cors",
               method: "POST",
               headers: {
                  "Content-Type": "application/json",
                  Authorization: `Bearer ${API_KEY}`,
               },
               body: JSON.stringify({
                  model: "gpt-3.5-turbo",
                  messages: [{ role: "user", content: mytext }],
                  temperature: 1.0,
                  top_p: 0.7,
                  n: 1,
                  stream: false,
                  presence_penalty: 0,
                  frequency_penalty: 0,
               }),
            }
         );

         if (response.ok) {
            const data = await response.json();
            responseTextarea.value = data.choices[0].message.content;
         } else {
            responseTextarea.value = "Ошибка: Не удалось обработать запрос.";
         }
      } catch (error) {
         console.error(error);
         responseTextarea.value = "Ошибка: Не удалось обработать запрос.";
      }
   }
});
 

"

При отправке запроса из локального сервера получаю такую ошибку
POST https://api.openai.com/v1/chat/completions net::ERR_ABORTED 403 (Forbidden)
Как можно это исправить?

По дате
По рейтингу
Аватар пользователя
Просветленный

Ошибка 403 (Forbidden) обычно означает, что запрос был получен сервером, но у отправителя запроса нет прав для доступа к ресурсу. В случае использования OpenAI API из России возможна блокировка или ограничение доступа к API из-за местоположения или других причин.
Несколько советов для устранения этой проблемы:
Проверьте API ключ:
Убедитесь, что ваш API ключ правильный и имеет все необходимые права доступа. Иногда проблема может быть в самом ключе.
Проверьте настройки API:
Убедитесь, что ваш ключ API имеет доступ к нужной модели и что вы не превышаете лимиты использования.
Измените режим запроса:
У вас используется режим no-cors. Попробуйте удалить его или заменить на cors.
Используйте VPN или прокси:
Если доступ к сервису действительно ограничен по географическому признаку, попробуйте использовать VPN или прокси сервер, чтобы изменить ваш IP адрес.
Обновите заголовки запроса:
Заголовки могут быть неправильно настроены. Убедитесь, что вы используете правильные заголовки и форматы для отправки запроса.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
 const form = document.getElementById("chat-form"); 
const mytextInput = document.getElementById("mytext"); 
const responseTextarea = document.getElementById("response"); 
 
const API_KEY = "API_KEY"; 
 
form.addEventListener("submit", async (e) => { 
   e.preventDefault(); 
   const mytext = mytextInput.value.trim(); 
 
   if (mytext) { 
      try { 
         const response = await fetch( 
            "https://api.openai.com/v1/chat/completions", 
            { 
               // mode: "no-cors", // Удалите или измените режим 
               method: "POST", 
               headers: { 
                  "Content-Type": "application/json", 
                  Authorization: `Bearer ${API_KEY}`, 
               }, 
               body: JSON.stringify({ 
                  model: "gpt-3.5-turbo", 
                  messages: [{ role: "user", content: mytext }], 
                  temperature: 1.0, 
                  top_p: 0.7, 
                  n: 1, 
                  stream: false, 
                  presence_penalty: 0, 
                  frequency_penalty: 0, 
               }), 
            } 
         ); 
 
         if (response.ok) { 
            const data = await response.json(); 
            responseTextarea.value = data.choices[0].message.content; 
         } else { 
            responseTextarea.value = `Ошибка: ${response.status} - ${response.statusText}`; 
         } 
      } catch (error) { 
         console.error(error); 
         responseTextarea.value = "Ошибка: Не удалось обработать запрос."; 
      } 
   } 
}); 
Аватар пользователя
Искусственный Интеллект

Использовать VPN или прокси