ChatGPT را به پیامهای واتساپ خود پاسخ دهید (بدون مرورگر سلنیوم یا Twilio: یک راه حل ناب سمت سرور)

معرفی
واتس اپ با بیش از 2 میلیارد کاربر فعال یکی از محبوب ترین برنامه های پیام رسان در جهان است. این یک راه آسان و راحت برای در تماس ماندن با دوستان و خانواده است، اما اگر بتوانید پیامهای واتساپ خود را خودکار کنید و یک ربات چت هوش مصنوعی بدون هیچ کتابخانه شخص ثالثی به تماسهایتان بهصورت همزمان پاسخ دهد، چه؟ در این پست، نحوه استفاده از ChatGPT، یک مدل زبان بزرگ که توسط OpenAI آموزش داده شده، برای پاسخ دادن به پیامها در واتساپ را بررسی خواهیم کرد.
هدف ما این است که ChatGPT به پیام های دریافتی در واتس اپ پاسخ دهد، بدون استفاده از Twilio یا هر سرویس شخص ثالث دیگری که هزینه دارد.
پیش نیازها
برای دنبال کردن این آموزش به موارد زیر نیاز دارید:
- یک اکانت واتساپ
- برو روی کامپیوترت نصب کن
- دانش اولیه زبان برنامه نویسی Go
- دانش اولیه چارچوب وب جنگو
- درک اولیه از REST API
برپایی
ما با راه اندازی Django REST API شروع خواهیم کرد. مراحل زیر را دنبال کنید:
(myenv) $ django-admin startproject mainapp
با این کار چند فایل به صورت خودکار برای اسکلت پروژه شما تولید می شود:
mainapp/
manage.py
mainapp/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
اکنون به دایرکتوری که ایجاد کرده اید بروید (مطمئن شوید که در همان دایرکتوری manager.py هستید) و دایرکتوری برنامه خود را ایجاد کنید.
(myenv) $ python manage.py startapp monitor
این موارد زیر را ایجاد می کند:
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
در فایل mainapp/settings.py، به دنبال خط زیر بگردید و برنامه ای را که در بالا ایجاد کردیم اضافه کنید.
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',#new line
'monitor', #new line
]
مطمئن شوید که در دایرکتوری مانیتور هستید، سپس یک دایرکتوری جدید به نام templates و یک فایل جدید به نام urls.py ایجاد کنید. ساختار دایرکتوری برنامه مانیتور شما باید به این شکل باشد
monitor/
__init__.py
admin.py
apps.py
migrations/
templates/
__init__.py
models.py
tests.py
urls.py
views.py
از فایل mainapp/urls.py خود اطمینان حاصل کنید، URL برنامه مانیتور ما را اضافه کنید تا نشانیهایی را که بعداً در برنامه مانیتور ایجاد میکنیم را شامل شود:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
#path('admin/', admin.site.urls),
path('', include('monitor.urls')),#monitor app url
]
اکنون، در فایل monitor/urls.py، وب سایت ما را در آنجا اضافه کنید:
from django.urls import path
from .views import *
urlpatterns = [
path('chat', ChatGPTView.as_view()),
]
- در فایل views.py برنامه، کد زیر را اضافه کنید:
class ChatGPTView(APIView):
def get(self, request):
input_text = request.GET.get('q')
openai.api_key = "GET YOUR OWN KEY ON OPENAI"
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": input_text}]
)
answer = completion['choices'][0]['message']['content']
return Response(answer)
اکنون می توانید با ارسال یک درخواست GET به http://localhost:8000/chat?q=Hello، نقطه پایانی /chat را آزمایش کنید. شما باید یک پاسخ JSON دریافت کنید.
اکنون که REST API را راهاندازی کردهایم، میتوانیم به ساخت ربات چت واتساپ برویم.
اجرای مشتری Golang ‘Whatsmeow’.
- لطفاً مطمئن شوید که GOlang را نصب کرده و سپس شاخه زیر را git clone کنید:
git clone -b django-version https://github.com/paulwababu/whatsapp-gpt.git
go run main.go
- برنامه از شما می خواهد که وارد حساب کاربری واتس اپ خود شوید. به whatsapp خود در تلفن همراه بروید و یک دستگاه مرتبط جدید را به روشی که وب واتس اپ انجام می دهید اضافه کنید، سپس QR ایجاد شده در ترمینال خود را اسکن کنید. به این صورت خواهد بود:
- پس از ورود به سیستم، برنامه به پیام های دریافتی گوش می دهد. اگر پیامی دریافت شود، یک درخواست GET به API Django REST با پیام به عنوان پارامتر پرس و جو ارسال می کند و پاسخ را برای فرستنده در واتس اپ ارسال می کند.
تصاویری از ربات با استفاده از مدل تنظیم شده خودم
نتیجه
در این پست وبلاگ، نحوه ساخت ربات چت واتس اپ با استفاده از Go و Django را بررسی کردیم. ما یک REST API ساده با استفاده از جنگو راهاندازی کردیم و از کتابخانه Whatsmeow برای Go برای ساخت ربات چت استفاده کردیم. می توانید از این به عنوان نقطه شروع برای ساخت ربات های چت پیچیده تر استفاده کنید که می توانند انواع مختلف پیام ها را مدیریت کنند و پاسخ های شخصی تری ارائه دهند.