chatgpt安装

当前位置: 主页 > chatgpt安装

一篇读懂(qq怎么设置优雅的访问了别人的空间)怎么在qq引起他注意,如何优雅地在你的QQ中部署chatgpt或davinci-3,

时间:2023-04-23 01:20:55|栏目:chatgpt安装|点击:

预览 2023.3.2

就在那时,chatgpt的非官方api资源整合包在PyPi上架了:openai · PyPI

只须要升级换代你的openai到0.27.0就能初始化新一代的chatgpt的API了,具体内容文件格式请点选:Chat completion - OpenAI API

我也将chatgpt的API资源整合进了我的架构中,只须要将server.yml 中的openai_config的model换成"gpt-3.5-turbo"方可:

turboUSB较之于达文西,反应速度又较为明显的提高,逻辑推理产品价格多于达文西的六分之一。所以TNUMBERX诸位三级开发人员优先选择考量turbo。目前turbo暂不全力支持finetone。

前段时间在好友的JURLIQUE下,正式宣布注册登记了一个openai帐号(以后嫌麻烦事始终用的快照),不过我最钟爱的倒不是这玩意操控性多好,我特别关注openai是不是提供更多可供亚洲地区间接初始化的API,去非官方网站上一看,还真有,尽管止2023.2.14,openai还没申明chatgpt的API(今后的听众在看的这时候如果已经有了,有了提过戳我呵呵)。但是openai对外开放了机能丰富的其它机能,其中completion的机能就和chatgpt类似于,能用作聚合相关联的语句。对闲聊没市场需求的好友机能如果绰绰有余了。

我先展现呵呵最后的效用:

单纯全力支持了呵呵心智辨识:

单纯全力支持了语句辨识:

单纯全力支持了回答者心智辨识:

这首诗就将单纯谈谈怎样将openai的服务项目网络连接QQ中。

相关联服务项目端的代码我已经上传到我的GitHub上,欢迎star和提issue:

LSTM-Kirigaya/go-cqhttp-python-server: python server for go-cqhttp (github.com)github.com/LSTM-Kirigaya/go-cqhttp-python-server

原料

为了实现本首诗的效用,你须要:

一个openai帐号一个QQ小号一台能正常使用的Linux云服务项目器python>=3.5足够的耐心

Step1 获取openai api key

openai提供更多了三种方式来全力支持用户基于API的初始化:python,js,命令行工具发起请求,这些在openai的非官方网站上写得很清楚了。但是无论是哪种,都须要openai api key才能成功出访,在注册登记完openai的帐号后,能出访如下链接来创建openai api key:OpenAI API

点击红框中按钮聚合key

将聚合的key保存在电子记事本中,然后注册登记进入环境变量中,打开.bashrc或者.zshrc,在末尾写入:

export OPENAI_API_KEY=<openai api key>

保存后刷新。

Step2 测试openai的文本聚合API

openai的api在亚洲地区就能使用,不须要给你的应用程序指定代理服务项目器,这一点还是很省心的。

新建文件,输入:

import openai import os openai.api_key = os.environ[OPENAI_API_KEY] if __name__ == __main__: question = input(enter your question:) response = openai.Completion.create( model="text-davinci-003", prompt=question, temperature=0.7, max_tokens=1024, top_p=1, frequency_penalty=0, presence_penalty=0 ) choices = response[choices] first_item = choices[0] answer: str = first_item[text] print(> , answer.strip())

然后运行上述代码,输入你的问题,看看片刻后是否有结果(如果速度太慢,能尝试把max_tokens调小一点):

成功返回结果,说明openai key没问题。

Step3 布署go-cqhttp让服务项目器登录QQ小号

首先,我们须要下载go-cqhttp的可执行文件,这个项目能让你的服务项目器或者PC模拟某种移动设备(IPad,安卓手机,安卓手表)登录QQ帐号。

进入release发行界面:Releases · Mrs4s/go-cqhttp (github.com)

由于我们的是64位的Linux服务项目器,所以下载下图红框框中的版本:

登录你的服务项目器,新建一个qqbot文件夹,进入这个文件夹:

wget https://github.com/Mrs4s/go-cqhttp/releases/download/v1.0.0-rc4/go-cqhttp_linux_amd64.tar.gz tar -zxvf go-cqhttp_linux_amd64.tar.gz

为了持久化运行,我们创建一个虚拟终端,没安装screen的同学能apt/yum install screen:

screen -S qqbot

解压后运行一次go-cqhttp来聚合初始配置文件,我选择的连接方式为http,然后退出:

./go-cqhttp -faststart

此时,文件夹下会出现config.yml,在这个文件中配置呵呵登录配置,须要修改的地方多于两处。

第一处,帐号与密码:

特别注意,uin是number类型,password是string类型

第二处,反向HTTP的post的url:

其中,5700是go-cqhttp的监听端口,go-cqhttp会监听5700端口,一旦有响应则将捕获到的响应发送出去。后面我们通过python编写本地server服务项目时能通过向5700端口发送GET请求来实现QQ消息的发送。

post中的5701则是go-cqhttp用来发送数据的端口,我们如此配置之后,一旦go-cqhttp接收到消息,就会向http://127.0.0.1:5701发送post消息,因此,我们能通过接受post请求来实现在python server获取QQ消息。

因此,请保证5700和5701端口是对外开放的,如果被占用了,请换别的端口。

综上所述,你无需在防火墙中放行这两个端口

然后重新运行go-cqhttp:

./go-cqhttp -faststart

请根据指示一步步完成登录,其中验证环节使用滑块登录,毕竟你的云服务项目器和你的手机肯定不在一个局域网内。

先让你的小号加你的大号,运行成功后,如果你给你的小号发消息,你如果能在命令行上看到你发送的内容。

如果看到了发送的消息,说明go-cqhttp布署成功了,按下Ctrl+A+D退出当前虚拟终端。

Step4 编写 python 服务项目端

根据以后的简述,我们只须要在python端单纯地监听POST和发送GET就能完成QQ信息的接受和发送了。首先根据上面的理解,我们须要根据config.yml中的配置来配置我们的flask服务项目,先来尝试写一个复读机吧!

from flask import Flask, request import requests import yaml from typing import Tuple app = Flask(__name__) def get_host_port() -> Tuple[str, int]: with open(./config.yml, r, encoding=utf-8) as f: obj = yaml.load(f.read(), Loader = yaml.FullLoader) url = obj[servers][0][http][post][0][url] host, port = url.replace(http://, ).split(:) return str(host), int(port) @app.route(/, methods=["POST"]) def post_data(): raw_package: dict = request.get_json() if message_type in raw_package: message_type = raw_package[message_type] user_id = raw_package[sender][user_id] message = raw_package[message] get_request = "http://127.0.0.1:5700/send_private_msg?user_id={}&message={}".format(user_id, message) # 发送消息 requests.get(get_request) return ok if __name__ == __main__: from gevent import pywsgi host, port = get_host_port() server = pywsgi.WSGIServer( listener=(host, port), application=app, log=None ) server.serve_forever()

运行后,尝试和机器人闲聊:

然后我们只须要将复读的那个环境,用openai的服务项目代替方可:

import openai import os openai.api_key = os.environ[OPENAI_API_KEY] def openai_reply(question) -> str: response = openai.Completion.create( model="text-davinci-003", prompt=question, temperature=0.7, max_tokens=1024, top_p=1, frequency_penalty=0, presence_penalty=0 ) choices = response[choices] first_item = choices[0] return first_item[text] @app.route(/, methods=["POST"]) def post_data(): raw_package: dict = request.get_json() if message_type in raw_package: message_type = raw_package[message_type] user_id = raw_package[sender][user_id] message = raw_package[message] res = openai_reply(message) get_request = "http://127.0.0.1:5700/send_private_msg?user_id={}&message={}".format(user_id, res) # 发送消息 requests.get(get_request) return ok

效用:

能看到,我们的机器人已经能成功初始化openai服务项目来返回结果了。但是仍然有不少问题:

回答的语句有停用词+若干空格作为前缀。会重复响应同一个问题。

针对这些问题我们须要进行优化。

Step5 改进 & 优化

go-cqhttp已经帮我做好了单线程化处理,保证消息都是处理好一条再处理下一条。因此我们只须要优化上述提出的问题。

限于篇幅,我就不讲怎样优化上述的问题了,经过优化的项目我已经开源了:

开箱即用,间接点个赞(狗头)然后clone下来按照readme上面的步骤一步步布署方可。

当然,为了防止一堆人发送请求导致服务项目我的服务项目饥饿,设一个机器人的回复权限还是很有必要的:

无聊ing

我还加了一个单纯的指令系统:

通过http://tip.command.XXX就能初始化,想要拓展自己的指令只须要在我的项目的qq_server/tip_command.py编写函数方可,函数须要满足:

完整的输入参数的类型标注返回值为字符串或者返回类型自带__str__方法不能以下划线开头

一些可能的问题

云服务项目器的DNS

这个问题如果多于腾讯云用户有,go-cqhttp会提示你长消息延迟测试失败,请把DNS换成114.114.114.114,只须要修改vim /etc/resolv.conf这个文件方可:

密码不对或帐号冻结

以后运行时发现go-cqhttp崩了:

而且无论怎样重启都无效,后来去翻了呵呵issue,那些修改设备的方法也不太行,后来我成功解决了这个问题:

在你的windows PC上下载Windows版本的go-cqhttp,在Windows上扫码登录你的QQ后退出(必须保证你的PC和你的手机在同一局域网下),将聚合的session.token和device.json上传到服务项目器上,就能间接启动了。

参考资料

Mrs4s/go-cqhttp: cqhttp的golang实现,轻量、原生跨平台. (github.com)(216条消息) 【Re:从零开始的QQ机器人搭建】——基于go-cqhttp和python_世界第一可爱不咕鸟的博客-CSDN博客_go-cqhttp python

上一篇:硬核推荐(chatgpt是啥)chatgpt官网,chatgpt调整了两天,资金就又开始冲,这位置,纯资金筹码博弈,神州泰岳、中文在线、捷成股份、汤姆猫……都不是啥好的买...,

栏    目:chatgpt安装

下一篇:真没想到(中国为何没驻美大军)为什么中国没有美国驻军,为什么中国没有chatgpt #ai,

本文标题:一篇读懂(qq怎么设置优雅的访问了别人的空间)怎么在qq引起他注意,如何优雅地在你的QQ中部署chatgpt或davinci-3,

本文地址:http://www.shopify123.cn/chatgptanzhuang/3993.html

| |

/uploads/allimg/20230913/1-230913232SH48.jpg

联系QQ:1303712368 | 邮箱:fy669088

Copyright © 2002-2024 ChatGPT-Sora-人工智能AI 版权所有桂ICP备2021004354号-4