ChatGPT API على Java: كيفية إضافة الذكاء الاصطناعي إلى مشروعك

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

لماذا يحتاج مطور Java إلى ChatGPT؟ أو كيف تتوقف عن الخوف وتحب الشبكات العصبية

\n

مرحبًا، زميلي! إذا كنت تقرأ هذا، فهذا يعني أنك، مثلي، قد سئمت من كتابة ردود متكررة للدعم الفني، أو إنشاء أوصاف منتجات مملة، أو تحليل التعليقات يدويًا. ماذا لو أخبرتك أنه في أمسية واحدة فقط يمكنك بث الحياة في تطبيق Java الخاص بك عن طريق ربطه بذكاء اصطناعي حقيقي؟ نعم، أعني ذلك ChatGPT الذي يستطيع المزاح وكتابة الكود وحتى شرح نظرية فيثاغورس لقط.

\n

في هذه المقالة، لن نقوم بتحليل نظرية الاحتمالات أو تعلم المحولات. سنأخذ ببساطة Java، ونضيف قليلًا من طلبات HTTP، ونجعل GPT-4 (أو 3.5 إذا كانت الميزانية محدودة) يعمل لصالحنا. يبدو كالسحر؟ في الحقيقة، إنها هندسة بحتة. هيا بنا!

\n\n

ماذا نحتاج؟ الحد الأدنى من الأدوات الأساسية

\n

قبل كتابة الكود، تأكد من أن لديك:

\n
    \n
  • JDK 11 أو أحدث (سنستخدم HttpClient الجديد الذي ظهر في الإصدار 11);
  • \n
  • مفتاح API من OpenAI — يمكنك الحصول عليه من منصة OpenAI. لا تنسَ شحن الرصيد (بضع دولارات فقط تكفي للاختبار);
  • \n
  • أي بيئة تطوير متكاملة (IDE) — IntelliJ IDEA، Eclipse، أو حتى المفكرة إذا كنت من المحترفين;
  • \n
  • Maven أو Gradle — لربط التبعيات بسهولة (لكننا سنكتفي بالحد الأدنى).
  • \n
\n

بالمناسبة، إذا كنت تعتقد أن دمج ChatGPT على Java هو شيء معقد ويتطلب تعلم آلة، فأنا أسارع لإسعادك: كل شيء يتم حله بطلب HTTP عادي. لا توجد شبكات عصبية في وقت التشغيل، فقط REST API.

\n\n

تحضير المشروع: Maven والتبعيات

\n

أنشئ مشروع Maven جديد وأضف إلى pom.xml مكتبة واحدة فقط — Jackson للتعامل مع JSON. لا غنى عنها، لأن ChatGPT يتواصل مع العالم بهذه اللغة فقط.

\n\n
<dependency>\n    <groupId>com.fasterxml.jackson.core</groupId>\n    <artifactId>jackson-databind</artifactId>\n    <version>2.15.2</version>\n</dependency>
\n\n

هذا كل شيء! لا حاجة لأي SDK أو أغلفة — فقط Java النقية وذكاؤنا. إذا كنت تستخدم Gradle، فقط أضف implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.2'.

\n\n

هيكل الطلب إلى OpenAI API

\n

قبل كتابة الكود، دعنا نفهم ما يريده الخادم منا. ChatGPT API يقبل طلب POST إلى نقطة النهاية https://api.openai.com/v1/chat/completions. جسم الطلب هو JSON بالهيكل التالي:

\n\n
{\n  "model": "gpt-3.5-turbo",\n  "messages": [\n    {"role": "system", "content": "أنت مساعد مفيد."},\n    {"role": "user", "content": "أخبرني نكتة عن مطوري Java."}\n  ],\n  "temperature": 0.7\n}
\n\n

دعنا نحلل الحقول:\n

    \n
  • model — أي نموذج سيجيب. للتوفير، استخدم gpt-3.5-turbo، وللإجابات الرائعة — gpt-4;
  • \n
  • messages — مصفوفة من الرسائل. الرسالة النظامية تحدد النغمة، و user هو طلبنا;
  • \n
  • temperature — من 0 إلى 2. كلما زادت، زادت إبداعية الإجابة (وزادت فرصة أن تبدأ الشبكة العصبية في الهلوسة).
  • \n
\n

\n\n

تأتي الإجابة أيضًا بصيغة JSON، ونحن مهتمون بالحقل choices[0].message.content. هناك يختبئ النص الذي سنعرضه للمستخدم.

\n\n

نكتب الكود: عميل Java لـ ChatGPT

\n

لننشئ الفئة ChatGPTClient. ستكون مسؤولة عن إرسال الطلبات ومعالجة الإجابات. كل الكود في ملف واحد، لتجنب تكرار الكيانات.

\n\n
import java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpRes                

المدونات

توصيات الكتب