大模型:把GPT搬回家 - chatGPT的本地化API -Node.js调用

chatGPT拒绝了中国大陆和中国香港的访问,包括api的调用。这使得我们无法使用目前来讲确实YYLX的生产工具,仔细想一下其实还是可以曲线解决的,本文的介绍仅供学习参考。

用Node.js+chatGPT提供的API,就可以在自己本地或者自己的服务器上将chatGPT本地化。

一、前提:

1.你可以注册成功chatGPT 并付费成为plus用户。在2024年初,openAI仍在给新注册用户免费提供增进,最高18 最低5美刀。现在已经没有了。所以现在新注册用户尽管能创建appKey,但是在调用的时候会提示余额不足。

如图 ,0元的余额,是无法使用api获取正常回答的。

2.关于如何注册chatGPT,度娘有完整的教程可送搜索。

3.关于如何升级成为plus用户,有人用中国大陆的信用卡成功升级,具体也可度娘。

4.本文设想你购买了一台阿里云海外服务器,所有操作均在这台服务器上操作。

以下是获取appKey的操作,现在的key是一个164位的字符串,很长。如果你之前创建过那些短的,现在仍让可用。

二、appKey

三、Node.js -- https Call

复制代码
const https = require('https');

// 替换为你的 OpenAI API 密钥
const apiKey = 'sk-********';
const apiUrl = 'api.openai.com';
const path = '/v1/chat/completions';

const options = {
    hostname: apiUrl,
    path: path,
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${apiKey}`
    }
};

const req = https.request(options, res => {
    let data = '';

    res.on('data', chunk => {
        data += chunk;
    });

    res.on('end', () => {
        console.log('Response received:');
        console.log(JSON.parse(data).choices[0].message.content);
    });
});

req.on('error', error => {
    console.error('Error:', error);
});

const requestData = {
    model: 'gpt-4o',
    messages: [
        { role: 'system', content: '你是一个汽车行业的专家,帮我解决汽车行业特别是汽车芯片行业的问题!' },
        { role: 'user', content: '你好?' },
    ]
};

req.write(JSON.stringify(requestData));

req.end();

解释一下

这里用了node.js 内置的 http模块来实现整个call。OpenAI在官网也有关于node.js的demo代码,因为每个人的node.js版本不一样,多数时候无法实现demo跑通。因此这个https的方法,避开了很多不兼容的坑。

因为本人没有升级Plus 因此返回提示是这样的:

三、Node.js -- request Call

javascript 复制代码
const request = require('request');

// 替换为你的 OpenAI API 密钥
const apiKey = 'sk-proj-******'
const apiUrl = 'https://api.openai.com/v1/chat/completions';

const requestData = {
    model: 'gpt-4o',
    messages: [
        { role: 'system', content: '你是一个汽车行业的专家,帮我解决汽车行业特别是汽车芯片行业的问题!' },
        { role: 'user', content: '你好?' },
    ]
};

const options = {
    url: apiUrl,
    method: 'POST',
    json: true,
    headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${apiKey}`
    },
    body: requestData
};

request(options, (error, response, body) => {
    if (error) {
        console.error('Error:', error);
    } else {
        console.log('Response received:');
        console.log(body);
    }
});

解释一下:

这个版本使用了 request 模块,结构更清晰,代码更简洁。

这里使用了 model: 'gpt-4o',因为账号是free 0 balance,所以响应是这样的:

四、如何本地化

把你的海外服务器上的响应做个中转,回到你本机或者你的本地服务器。

相关推荐
孤狼GPT10 分钟前
ChatGPT、Codex实战:为什么AI一次改太多代码,反而更容易出问题?
chatgpt·codex·ai agent·chatgpt plus·chatgpt pro·ai coding
不灭的程序员阿澄4 小时前
把多个 AI 网站装进一个常驻托盘的桌面窗口里,像切换原生 App 一样切换 AI
人工智能·chatgpt
精彩AI说5 小时前
ChatGPT生成的内容太长怎么办?控制字数、精简回答与输出长度设置方法
chatgpt·ai写作·提示词·ai工具·chatgpt教程·内容精简
Linguwen6 小时前
中山GEO分享会回顾文
人工智能·chatgpt
最强小杰18 小时前
gpt-5.6-sol 频繁报 503 怎么办?区分容量熔断和限速 429 的排查方法 + 可复用 retry wrapper
java·人工智能·gpt·ai
孤狼GPT1 天前
ChatGPT、Codex实战:为什么AI改代码越来越快,但你越来越不敢直接合并?
chatgpt·codex·ai agent·chatgpt plus·chatgpt pro·ai coding
奇牙coding1231 天前
gpt-5.6-luna 频繁 429 但 gpt-5.5 正常怎么办?不是配额问题,是 luna 独立的并发 session 限速桶
gpt·ai
松小鼠呀1 天前
我不敢再生孩子:ChatGPT 曾花 $2m 让他闭嘴,AI 巨头到底隐藏了什么秘密?
人工智能·安全·chatgpt·ai编程·科技热点
自律懒人1 天前
Codex token 计费 4 个隐藏加价点:同一段代码两个模型计费差 30%,3 步算清真实账单
gpt
仙逆GPT1 天前
ChatGPT、Codex趋势:为什么AI时代最重要的能力,不是写代码,而是定义问题?
chatgpt·codex·ai agent·chatgpt plus·chatgpt pro·ai coding