Closed aichemistry closed 1 year ago
命令行要增加proxy才行,推荐使用 ClashPro 的增强模式
命令行要增加proxy才行,推荐使用 ClashPro 的增强模式
请原谅我没有前端的基础,我定位到response500的返回好像在这段fetchOpenAIResult代码里,它被sumup.ts调用:
const res = await fetch('https://api.openai.com/v1/chat/completions', { headers: { 'Content-Type': 'application/json', Authorization:
Bearer ${apiKey ?? ''}`,
},
method: 'POST',
body: JSON.stringify(payload),
})
if (res.status !== 200) {
const errorJson = await res.json()
throw new Error(OpenAI API Error [${res.statusText}]: ${errorJson.error?.message}
)
}`
您能不能给出更清晰的指示?对于这段话我不太理解,啥是在命令行中增加proxy。我现在通过clash挂梯子可以科学上网也可以正常访问openai的服务。谢谢
命令行要增加proxy才行,推荐使用 ClashPro 的增强模式
@JimmyLv 问题就在const res = await fetch('https://api.openai.com/v1/chat/completions', {
headers: {
'Content-Type': 'application/json',
Authorization: Bearer ${apiKey ?? ''}
,
},
method: 'POST',
body: JSON.stringify(payload),
})这里fetch failed了,而我询问chat-gpt,得到的回复是:
如果您需要在 TypeScript 代码中使用代理配置来修改上述 fetch
请求的设置,您可以使用以下方法之一:
使用环境变量:
在您的 TypeScript 项目中,您可以读取环境变量并将代理信息用于 fetch
请求。首先,在操作系统或您的开发环境中设置代理环境变量(例如 HTTP_PROXY 和 HTTPS_PROXY),然后在代码中使用这些环境变量。以下是示例代码:
// 从环境变量中获取代理信息
const proxyHost = process.env.HTTP_PROXY || '';
const proxyPort = process.env.HTTPS_PROXY || '';
// 构建代理 URL
const proxyUrl = `http://${proxyHost}:${proxyPort}`;
// 设置 fetch 请求的代理
const res = await fetch('https://api.openai.com/v1/chat/completions', {
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${apiKey ?? ''}`,
},
method: 'POST',
body: JSON.stringify(payload),
agent: new ProxyAgent(proxyUrl), // 使用代理设置
});
在此示例中,我们从环境变量中获取代理主机和端口,然后构建代理 URL 并将其用于 fetch
请求的代理设置。请注意,您可能需要使用适用于您的 TypeScript 项目的代理库(例如 proxy-agent
)来实现代理功能。
配置网络请求库:
如果您使用的是特定的网络请求库,如 Axios,您可以配置该库以使用代理。以下是一个 Axios 的示例:
const axios = require('axios');
const ProxyAgent = require('proxy-agent'); // 使用适当的代理库
const proxyHost = process.env.HTTP_PROXY || '';
const proxyPort = process.env.HTTPS_PROXY || '';
const proxyUrl = `http://${proxyHost}:${proxyPort}`;
// 创建 Axios 实例并设置代理
const axiosInstance = axios.create({
baseURL: 'https://api.openai.com/v1',
httpAgent: new ProxyAgent(proxyUrl), // 使用代理设置
});
try {
const response = await axiosInstance.post('/chat/completions', payload, {
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${apiKey ?? ''}`,
},
});
// 处理响应
} catch (error) {
// 处理错误
}
这个示例中,我们创建了一个 Axios 实例,并通过 httpAgent
选项设置了代理。同样,您需要使用适当的代理库,如 proxy-agent
。
确保您已正确配置代理并将其用于您的请求,以便请求可以通过代理服务器发送到目标服务器。 这是否和您的意思相符呢?
通过clash挂梯子只能用于浏览器,所以我说命令行需要clash pro 最简单的办法是你在命令行ping一个openai.com,确认是否连接成功哈
错误报告 🐞
错误描述 🤔
您好作者,我对于您的项目很感兴趣,在设置完所有的事项后我成功运行了,只是在粘贴了b站的视频链接后,点击一键总结没有响应。我怀疑是否是openai方面的问题?因为我看到upstash和supabase有流量进入。但我不知道问题是如何产生的,以及该如何解决,希望能够获得一些帮助。
我已经充值了openai,并且创建了api key。
附加信息 📝
请提供以下信息以帮助我们更快地解决问题:
![Uploading image.png…]()
感谢您的反馈!🙏