ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

WBOY
WBOY転載
2023-04-28 22:46:052436ブラウズ

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

これらのSDKは、ロボットの開発に使用できるだけでなく、必要なエフェクトを自由に開発するために使用できます。 、ChatGPT サービスとセッションを構築するのに役立ちます。

最近 OpenAi は、CloudflareCDN サービスを彼にインストールしました。このサービスは、実機以外のリクエストをインターセプトします。今は割れます。

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

#適切なリバース SDK を探しています

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

元の作成者はこれを使用しました。

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

パッケージ全体にはそれほど多くのファイルはありません。

Python が気に入ったら、チェックしてみてください。 わかりません。 Java. .

練習の始まり - 練習の第 1 章

コードで使用されている revChatGPT は、ソース コード ライブラリに依存しています:

https://github.com/acheong08/ChatGPT

Python バージョンには

>=3.8 が必要で、その後 pip を最新バージョンに直接アップグレードします。

次のコードの目的は、ChatGPT の公式インターフェイスと対話することです。その中で使用される依存関係のインストールに注意してください


chat-gpt-qbot.py:

import flask, json
from flask import request
from revChatGPT.revChatGPT import Chatbot
config = {
    "session_token": "换成你自己的token"
}
# 创建一个服务,把当前这个python文件当做一个服务
server = flask.Flask(__name__)
chatbot = Chatbot(config, conversation_id=None)
def chat(msg):
    message = chatbot.get_chat_response(msg)['message']
    print(message)
    return message
@server.route('/chat', methods=['post'])
def chatapi():
    requestJson = request.get_data()
    if requestJson is None or requestJson == "" or requestJson == {}:
        resu = {'code': 1, 'msg': '请求内容不能为空'}
        return json.dumps(resu, ensure_ascii=False)
    data = json.loads(requestJson)
    print(data)
    try:
        msg = chat(data['msg'])
    except Exception as error:
        print("接口报错")
        resu = {'code': 1, 'msg': '请求异常: ' + str(error)}
        return json.dumps(resu, ensure_ascii=False)
    else:
        resu = {'code': 0, 'data': msg}
        return json.dumps(resu, ensure_ascii=False)
if __name__ == '__main__':
    server.run(port=7777, host='0.0.0.0')

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

リバース パッケージをインポートします。

from revChatGPT.revChatGPT import Chatbot

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

これは、サービスの初期化に使用されるリバース パッケージのソース コードです。このパッケージをクラスで呼び出したところです。

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

次に、このサービスをスローするインターフェイスを作成して、簡単に呼び出せるようにします。

ポート 7777 で ChatGPT と直接対話するには、上記のコードを実行するだけです。

インターフェースツールを使用してテストした結果は以下の通りで、インターフェースは正常に動作し、ChatGPTから会話結果が取得されていることがわかります。

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

メッセージ本文:

{"msg": "你会数学吗"}

メッセージ本文はカスタマイズされたコンテンツです。自分でフィールドを追加して、インターフェースの機能を拡張できます

この例 入力されるメッセージは音声
の内容であり、インターフェースは次の内容を返します:

{ "code": 0, "data": "是的,我会数学。我是一个大型语言模型,我可以回答各种问题,包括数学问题。你有什么数学问题需要我帮助你解决吗?"}

これも自分たちで定義されています。

code=0 の場合、ChatGPT を意味します。 対話は成功しました。この時点で、dataChatGPT によってフィードバックされた会話の内容です。 code=1 の場合はエラーが発生したことを意味し、data はありませんが、msg にエラーメッセージが返されます。

この時点で、ChatGPT と対話できるインターフェースができました。このインターフェースを通じて、ChatGPT と会話することができます

会話があるので、必要があります。入力ボックスとボタンを使用して、このインターフェイスを呼び出す Web ページを作成できます。これは非常に簡単なので、ここでは詳しく説明しません。

私たちが本当にやりたいのは QQ ロボットです。原理は、QQ ロボットにメッセージを聴取させ、インターフェースを介してメッセージを ChatGPT に転送し、ChatGPT から返された会話コンテンツをQQユーザー このような会話ができるロボットが完成しました 具体的な方法を以下に説明します。

練習は続く - 練習パート 2

上記でインターフェイスを実装し、コードを使用して ChatGPT 会話コンテンツを取得することに成功しました。次に、QQ ロボット関連のロジックの改善を続けます。コード内のコメントに。

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

最適化されたコード (QQ ロボットに接続されている) を以前のコードとより簡単に比較するために、ローカル比較とそのコードを開きました。変更されていません。

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

#

ロボット フレームワークを使用しているため、ロボット インタラクションの実装ロジックを理解できないかもしれません。実際、思考を制限する必要はありません。Yunzai Robot などの他のロボット フレームワークを自分で変更して使用することもできます。自分で論理的に考えてください。

私たちは go-cqhttp を使用しています。

go-cqhttp ヘルプ センター

したがって、この変更を理解するには go-cqhttp を理解する必要がありますが、柔軟に学習する必要があります。アイデアを理解してから、公式ドキュメントにアクセスしてその使用方法を見つけてください。

この時点で、これらのコードには、友達リクエスト、グループリクエストを処理し、メッセージに返信する機能がすでに組み込まれています。

ご覧のとおり、前の記事に比べて多くのコードとコメントが追加されました

もちろん、理解できなくても問題ありません。これらのコードは、私の記事の対応する部分を変更して直接使用することができます。

皆さん、原作者 Q グループに遊びに来てください。私も参加しています: 206867743

練習は続く - 練習パート 3

最初の 2 つの記事では、ChatGPT との通信の問題と QQ のメッセージ処理の問題を解決しました。 QQニュースを監視する方法。

発生した更新と問題の中で、元の作成者とリバース パッケージの多くの作成者が多くのコンテンツを更新しました。元の作成者の更新レコードを見てみましょう:

2022-12-12 23:52 Windows コンピューターまたはサーバーでのみ使用でき、cloudflare Cookie を自動的に取得できる Windows 固有のバージョンを追加します 2022-12-12 12:38 コンテンツを更新CloudFlare 構成の追加、依存関係の更新、アカウント パスワードは当面サポートされていません。CloudFlare 構成をどのくらいの頻度で変更する必要があるかわかりません。今はファイアウォールを回避する必要があるようです 2022- 12-10 17:42 更新コンテンツはアカウント パスワードのサポートを追加します。トークンは使用できません。アカウント パスワードを直接使用します。 2022-12-10 00:23 更新コンテンツは各 QQ プライベート チャットを区別し、各人のプライベート チャット ロボットは独立していますセッション。各 QQ グループを区別し、各 QQ グループは独立したセッションです。返信の文字制限を増やします。制限を超えると、画像返信に変換されます (設定ファイルを参照)。リセットしたい場合は、セッション、ロボットを送信します: セッションをリセットします

はじめに

QQ メッセージを聞きます。コードを記述する必要はありません。オープン ソースの QQ ロボット フレームワークが既に多数存在するためです。ここでは go-cqhttp
公式ドキュメントを使用します: go-cqhttp
興味がある場合は、公式ドキュメントを読むことができます。読みたくない場合は、私の記事を直接読んでください。 。

前提条件 QQ アカウントを準備する必要があります。独自の大規模アカウントは使用しないでください。トークン サーバーを取得するには、OpenAi アカウントを準備する必要があります (オプション。ロボットを 24 時間 365 日オンラインにしたい場合は、 1つ用意してください。1コアと1Gで十分です。外部サーバーが最適です)

注: ステーションBでのOpenAi (ChatGPT) の登録方法については、ビデオがたくさんあります。いずれかを参照してください。

登録方法がわからない場合は、私のブログの記事を読むこともできます。OpenAi (ChatGPT) をすばやく登録する方法を説明する記事

(旧バージョン) ) ロボットの構築方法に関するチュートリアルも書きました: OpenGPT (ChatGPT) を使用して QQ ロボットを構築します

しかし!前述したように、現在の ChatGPT には CFCDN が装備されており、人間とコンピューターの対話要求を傍受することに注意してください。

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

OpenAisession-token を取得することに加えて、## も取得する必要があります。 #cf_clearance

同時に、

user-agent も取得する必要があります。

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

コンソールのネットワークタブに移動して確認し、空白の場合はメッセージを送信してください。

これをコピーして、構成ファイル (

py/config.js ファイル) に書き込みます。

現在、元の作成者は 2 つのバージョン (1 つは Linux 用) をパッケージ化しています。問題は、

cfCDN インタラクション トークンが 2H## 以内に期限切れになることです。 # の場合は手動で取得して更新する必要があり面倒です。 もう 1 つは

window

バージョンで、CloudflareCookie が自動的に取得されます。 設定ガイド

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法このバージョンは Windows でのみ使用でき、どの Windows コンピューターまたはサーバーでも動作します。

まだトークンのみをサポートしています。

システムは自動的に Google Chrome を開いて Cloufflare 関連の Cookie を取得します。初めて実行する場合は手動による検証が必要な場合があるため、慎重にクリックしてください。

スクリプトは Google Chrome のみを開くことができ、他のブラウザは構成できないことに注意してください。

その他の説明

作者の最新バージョンのコードでは、いくつかの新しい関数も追加されています。

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法 自分で調べてください。

それでは、多くのリバース パッケージ作成者も完璧な解決策を考えています。ゆっくり待ちましょう!

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

次に、この文を見てください:

Python を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法

以上がPython を使用して OpenAi API に接続し、インテリジェント QQ ロボットを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。