openai新出了chatgpt的官方api,求调用插件

openai新出了chatgpt的官方api。

目前的@tomlbz/openai和davinci-003插件,都会报类似这样的网络问题
Error: connect ETIMEDOUT 108.160.167.165:443
at TCPConnectWrap.afterConnect [as oncomplete]
不知道是我的网络问题还是openai接口改了什么东西。

4 个赞

附议!我昨天稍微看了一下@tomlbz/openai,不知道在model里添加一下行不行,请问你是如何实现的?不介意分享一下你的操作过程吗?
ps.出现的问题可能来自于GFW

1 个赞

一样的问题。很大概率是被GFW墙了。翻出去了就能用。win麻了

2 个赞

原因是openai的api改了。我在改代码了,一会儿提个pr。

3 个赞

model直接照着之前的加就行。新的api类似于这样,但是我改完之后还是一样的报错。高估了自己的能力了,还是等大佬吧。

const completion = await openai.createChatCompletion({
    model: config.model,
    messages: [{role: "user", content:prompt}],
    max_tokens: config.ntokens,
    temperature: config.temperature,
    presence_penalty: config.presencePenalty,
    frequency_penalty: config.frequencyPenalty,
    user: config.botname
});
return completion.data.choices[0].message.content.trim();

下边这个是旧的api,放在这里做对比。

const completion = await openai.createCompletion({
    model: config.model,
    prompt: prompt,
    max_tokens: config.ntokens,
    temperature: config.temperature,
    presence_penalty: config.presencePenalty,
    frequency_penalty: config.frequencyPenalty,
    user: config.botname
});
return completion.data.choices[0].text.trim();

我之前以为是openai的api的原因导致的报错,结果改完之后还是一样的报错。我代理开全局也没有用,不知道为啥。yarn的proxy我也设置了。

3 个赞

好,感谢!我这边也是这个情况,别说3.5了,连以前的3.0也没法用了,整个就在用不了的状态

1 个赞



应该是GFW。可能我的代理之前其实一直没接管插件的流量吧。不知道该怎么设置来让代理接管插件的流量。

2 个赞

tomlbz已经快两个月没有contribution了,佬们加油,自己弄出来 :star_struck:

2 个赞

我把42的后端代码改了一点,现在用openchat插件和我改过的这个后端代码可以正常调用gpt-3.5-turbo。

@Delire @alin @Paff

不过还是很简陋,有不少需要改进的点。比如现在所有的用户都是在同一个会话里,比如不能动态地更改role参数。等大佬写更好用的插件吧。

5 个赞

感恩的心,感谢有您!

1 个赞

我学会怎么让openai走代理了。

我先改了koishi-plugin-openai插件的代码,用了最新的createChatCompletion接口,我没试不改接口的话会怎么样。
使用我的这个插件的方法可以参考我之前的这个issue,仿照这个步骤来是没问题的。

然后是代理,代理的关键是更改node_modules\openai\dist\common.js文件,把这个文件的第148行加个proxy参数:

const axiosRequestArgs = Object.assign(Object.assign({}, axiosArgs.options), { url: ((configuration === null || configuration === void 0 ? void 0 : configuration.basePath) || basePath) + axiosArgs.url , proxy: {
    protocol: 'socks5',
    host: '127.0.0.1',
    port: 7890
}});

注意openai的版本应该是最新版3.2.1,我没试之前的openai版本会怎么样。
另外每次更新任意插件的时候这个文件都会恢复原状,所以每次更新完插件之后都要再手动改一下这里。

然后就好了。
@Delire @alin @Paff

3 个赞

好耶ヽ(✿゚▽゚)ノ

1 个赞

我发布了openchat2插件,后端在这里 GitHub - yi03/openchat2 ,应该能用。

我的需求已经基本满足了。记忆应该还有更好的处理办法,之后再改吧。有啥需求可以提issue。

@Delire @alin @Paff

6 个赞

好耶好耶 太强了

好耶!!!!太感谢了!

1 个赞

佬。太强了:heart_eyes::heart_eyes::heart_eyes::heart_eyes::heart_eyes::heart_eyes:

1 个赞

强强,有需要叫我可以协助开发

2 个赞

我发布了openai-api插件,不再需要自建后端,并且功能和openchat2一模一样。有什么问题可以提issue。
@Delire @alin @Paff

6 个赞

wow,这个新的 openai-api 插件就是直接使用 ChatGPT 的官方 API 进行聊天的吗?好棒