eryajf / chatgpt-dingtalk Goto Github PK
View Code? Open in Web Editor NEW🎒 钉钉 & 🤖 GPT-3.5 让你的工作效率直接起飞 🚀 私聊群聊方式、单聊串聊模式、角色扮演、图片创作 🚀
Home Page: https://wiki.eryajf.net
License: MIT License
🎒 钉钉 & 🤖 GPT-3.5 让你的工作效率直接起飞 🚀 私聊群聊方式、单聊串聊模式、角色扮演、图片创作 🚀
Home Page: https://wiki.eryajf.net
License: MIT License
超过97个tokens的文本就会报错,看起来有4000个token是completion的,这个是什么地方的限制吗。
"error": {
"message": "This model's maximum context length is 4097 tokens, however you requested 4995 tokens (995 in your prompt; 4000 for the completion). Please reduce your prompt; or completion length.",
"type": "invalid_request_error",
"param": null,
"code": null
}
我在完成接入后,发现字数过多的时候会发生截断的情况
共享会话的话,可以根据其他人的问题承接讨论。
不共享的话,大家各自问自己的。
各有利弊,想了解下现在是怎么设置的?
考虑支持账号池或APIkey池吗?这个还是非常有用的
请求openai失败了,错误信息:maximum text length exceeded,这是个什么问题?
看日志和代码目前是拼接之前的问题和答案之后发过去 ,但是可能会超过字数限制,而且对于收费影响也较大。
不知道是否有别的方式 。
chatgpt部署在甲骨文韩国首尔的arm服务器上,机器人也重建了一个,没有解决问题,钉钉机器人的服务器出口IP填写的是首尔arm服务器的IP,消息接收地址是 首尔http://首尔服务器IP:8090,不知道是不是该这样填写。
项目不更新了,都散了吧项目不更新了,都散了吧项目不更新了,都散了吧项目不更新了,都散了吧项目不更新了,都散了吧
45678900',
},
};
const requiredFields = {
payload: {
firstName: 'Example',
lastName: 'User',
email: '[email protected]',
password: 'TestPass12345678900',
},
};
const userData = {
firstName: 'Example',
lastName: 'User',
email: '[email protected]',
password: 'TestPass12345678900',
};
const spy = sinon.spy(validator, 'validate');
const spySchema = sinon.spy(userSchemas, 'registerSchema');
const spyUserModel = sinon.spy(userModel, 'createUser');
const spyHelper = sinon.spy(helper, 'getToken');
const spySendEmail = sinon.spy(mailer, 'sendVerificationEmail');
const spySendEmailFunction = sinon.spy(emailTemplate, 'sendVerificationEmail');
try {
await UserController.registerUser(req, res);
} catch (error) {
expect(error).to.be.an.instanceOf(Error);
}
expect(spy.calledOnce).to.be.true;
expect(spySchema.calledOnceWithExactly(requiredFields)).to.be.true;
expect(spyUserModel.calledOnceWithExactly(userData)).to.be.true;
expect(spyHelper.calledOnce).to.be.true;
expect(spySendEmail.calledOnce).to.be.true;
expect(spySendEmailFunction.calledOnce).to.be.true;
validator.validate.restore();
userSchemas.registerSchema.restore();
userModel.createUser.restore();
helper.getToken.restore();
mailer.sendVerificationEmail.restore();
emailTemplate.sendVerificationEmail.restore();
});
it('should throw an error if res.status is not 200', async () => {
const req = {
gtp api status code not equals 200, code is 429 ,details: {
"error": {
"message": "You exceeded your current quota, please check your plan and billing details.",
"type": "insufficient_quota",
"param": null,
"code": null
}
}
钉钉提示 : 消息接收地址校验失败(请确保公网可访问该地址,如无有效SSL证书,可选择禁用证书校验)
这个是什么原因
https://open.dingtalk.com/document/robots/enterprise-created-chatbot
{
"conversationId": "xxx",
"atUsers": [
{
"dingtalkId": "xxx",
"staffId":"xxx"
}
],
"chatbotCorpId": "dinge8a565xxxx",
"chatbotUserId": "$:LWCP_v1:$Cxxxxx",
"msgId": "msg0xxxxx",
"senderNick": "杨xx",
"isAdmin": true,
"senderStaffId": "user123",
"sessionWebhookExpiredTime": 1613635652738,
"createAt": 1613630252678,
"senderCorpId": "dinge8a565xxxx",
"conversationType": "2",
"senderId": "$:LWCP_v1:$Ff09GIxxxxx",
"conversationTitle": "机器人测试-TEST",
"isInAtList": true,
"sessionWebhook": "https://oapi.dingtalk.com/robot/sendBySession?session=xxxxx",
"text": {
"content": " 你好"
},
"msgtype": "text"
}
从wechat-chatgpt过来的,刚注册五分钟的账号啥也没发就被封了,蚌埠住了
📢 注意
:当下部署以及配置流程都已非常成熟,文档和issue中基本都覆盖到了,因此不再回答任何项目安装部署与配置使用上的问题,如果完全不懂,可考虑通过邮箱联系我进行付费的技术支持。
经过大家的一些体验,现在积累了不少的常见问题,这里统一整理,让你更快地了解ChatGPT,以及这个项目。
此处的链接没有跳转效果,可仅当做目录。
- 因为这个项目没有什么其他依赖,因此升级非常简单,如果你是docker部署的,那么停掉服务,删除本地镜像,然后重新拉取镜像部署即可,同理,如果你是二进制运行,那就下载最新release的二进制,然后替换原来的二进制,然后启动服务即可。
📢 注意:
无论任何时候升级,你都应该看看最新的配置文件说明,如果有新的内容,我都会在这里进行更新。你也应该仔细阅读,并且正确配置,以确保完整地体验到新的功能特性。
钉钉开放平台在开发管理页面配置机器人消息接收地址时由于没有https ,报错: 消息接收地址校验失败(请确保公网可访问该地址,如无有效SSL证书,可选择禁用证书校验)请问在哪里禁用证书校验,或者跳过这个限制使用http地址。
关于这个问题,可以先输入一个https://
,然后就能看到禁用https的选项了,选择禁用
,然后再把地址改成http
就好了。
📢 注意
:配置这一步的时候,务必让服务是启动状态,否则保存时无法通过验证。
如果服务器上图片有正常生成,那么原因一定是 service_url
的配置项没有正确配置,这项配置应该与钉钉管理后台配置的回调地址一样。
我发现也可以不在群里艾特机器人聊天,还可点击机器人,然后点击发消息,通过与机器人直接对话进行聊天:
由 @Raytow 同学发现,在机器人自动生成的测试群里无法私聊机器人,在其他群里单独添加这个机器人,就可以跟它私聊了.
如果你发现有比较优秀的prompt,欢迎PR。注意:一些与钉钉使用场景不是很匹配的,就不要提交了。
注意钉钉艾特群聊之后,会通过回调服务器的外网IP与域名把请求发过来,如果这个环节有问题,大概率是你的服务未暴漏出来让钉钉访问到。
可能是创建的机器人有问题,建议重新走一遍创建机器人的流程,创建一个新的机器人再试试。需要注意的是,机器人的名字尽量避开chatgpt等关键字,有人反馈可能官方会有限制 #42
首先程序里用模型是3.0,网页版肯定代表官方最新的成果,因此会有差别。不过,每个参数都可能影响你得到不一样的聊天效果,改变一个参数你就可能得到另一种回答,所以请自己尝试去调试,不要上来就抱怨人工智障。文档中有二十多中参数示例,如AI聊天机器人 ,产品名称生成,python代码修复器等等等...
这个问题我也遇到过,但并非稳定复现,时好时坏,所以目前给到的解决方案大概就是稍后再试下。
出现这个问题,那就是钉钉回调没带任何内容,不必再重复提问。
为这个问题我很困扰,特地问了一下gpt,看看她的解释:
有时候机器人会的第一个字母是?还有问问题,然后它回答的是昨天的问题延续,是网络的问题?还是?
model:text-davinci-003 这个模型感觉比网页版的gpt 的智能化差的很远呢? 有没有办法通过api的方式去调用 网页版的gpt
docker报错如下:
[INFO]2023/02/18 08:48:40 logger.go:21: gpt request error: %v
error, status code: 401
[WARNING]2023/02/18 08:48:40 logger.go:33: get gpt result falied: %v
请问是什么原因
每次都会把上次的提问和回复作为新的问题提交
这是符合预期的吗?
eg:
Q1:你好
A1:你好,很高兴认识你。
Q2:今天天气怎么样
Q2实际发送给openAI的请求是:"你好 你好,很高兴认识你。 今天天气怎么样"
我现在让机器人给我生成一张图片
机器人会回复
(图片链接)
这几个字,连链接都看不到。。能不能让机器人把图片发出来?
重要:提交问题时,请务必带上输出日志,以及个人排查的成果。
原docker部署的0.0.8版本正常使用。近期看到版本有更新,下载0.1.1新的镜像部署后。
运行测试curl只有参数日志。 没有与openai的接口调用日志了。切换回低版本无问题,请问是哪里有变化了?
session timeout设置了60s,实际上是每过30s就超时,超时配置不起作用
[WARNING]2023/02/16 09:05:35 logger.go:33: send message error: %v
Post "": unsupported protocol scheme ""
[WARNING]2023/02/16 09:05:35 logger.go:33: process request failed: %v
Post "": unsupported protocol scheme ""
不知道啥问题
[INFO]2023/02/10 04:24:37 logger.go:21: gtp request error: %v Post "https://api.openai.com/v1/completions": dial tcp: lookup api.openai.com on 183.60.82.98:53: read udp 172.17.0.2:52575->183.60.82.98:53: i/o timeout
钉钉机器人最近都不能用了,提示:由于系统维护,@能力暂不可用,由此带来的不便非常抱歉,你们不会吗
可以部署成企业微信机器人吗?
请问下,机器人回复:机器人太累了,让她休息会儿,过一会儿再来请求。这是什么原因
1用最新代码部署上下文还是不能用。
2.钉钉加机器人验证接口时依旧会出现unmarshal request body failed: unexpected end of JSON input报错。 推测与钉钉验证接口参数有关。实际使用机器人时没有这个报错。
[INFO]2022/12/28 11:22:09 logger.go:21: gtp request error: %v
Post "https://api.openai.com/v1/completions": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
[INFO]2022/12/28 11:22:09 logger.go:21: request openai error: %v
RT
logger.go:33: 回调参数为空,以至于无法正常解析,请检查原因
一是答复格式和截取方式似乎有些问题,经常在答复开头有个“?”,并且增加一个换行。说请继续后,前几个字感觉之前还有内容,可能是截取掉了一些内容。我有截图,不知道如何上传。
二是看gpt-3的api是有性格描述的,是用Prompt给模型一个性格设定,这样可以帮助更好回答,因为我不太懂go语言,看看可不可以把这个参量加上,方便自行调整模型状态。
三是在windows上部署偶尔会见程序卡死,在命令行用ctrl+c才会推进,不知道是什么原因。
感谢帮助
懒人使用可执行文件使用时的细节:
如果在使用下载对应zip包,非linux部署,进行chatgpt-dingtalk可执行文件的直接使用时,需更改如下:
1、目前使用可执行文件,会报错config.json不存在问题:
记得在下载zip包,解压之后,重新命名一下json文件为config.json即可。
2、在钉钉的开发平台中修改如下信息:
服务器出口IP
127.0.0.1
消息接收地址
http://chat.eryajf.net:8090/
目的是:请求的时候会请求到自己本机地址的服务器和对应端口
部署完成后,容器日志报回调参数为空,不知道如何排查问题
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.