OpenAI API 拒绝设置不安全标头“User-Agent”

2023-12-24

我不明白为什么我会收到此错误。

拒绝设置不安全标头“User-Agent”

我正在尝试将 OpenAI 的 API 用于个人项目。我不明白为什么它拒绝设置这个“不安全的标头”以及如何或是否可以使其安全。我尝试用谷歌搜索这个问题,顶部的链接是一个 GitHub 论坛,它解释了 Chrome 可能会做的事情,但是我尝试在 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: `generate food suggestions from the following flavor cravings: ${formDataObj.foodDescription}`,
      temperature: 0.8,
      max_tokens: 256,
      top_p: 1,
      frequency_penalty: 0,
      presence_penalty: 0,
    })
    .then((response) => {
      setState({
        heading: `AI Food Suggestions for: ${formDataObj.foodDescription}`,
        response: `${response.data.choices[0].text}`
      });
    })
  }

正如您所说,您收到错误是因为 openai API 客户端“拒绝设置不安全标头“User-Agent”。由于使用它需要访问敏感信息(API 密钥),因此 nodejs 客户端有意将跨源请求限制为防止意外泄露秘密。

有关解决方法,请参阅https://github.com/openai/openai-node/issues/6 https://github.com/openai/openai-node/issues/6其中 AmanKishore 手动请求完成。

我最终编写了自己的完成函数,如下所示:

const 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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenAI API 拒绝设置不安全标头“User-Agent” 的相关文章

随机推荐