برنامه نویسی

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 برای ساخت ربات چت استفاده کردیم. می توانید از این به عنوان نقطه شروع برای ساخت ربات های چت پیچیده تر استفاده کنید که می توانند انواع مختلف پیام ها را مدیریت کنند و پاسخ های شخصی تری ارائه دهند.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا