متوسط
⏱ ٤٥ دقيقة قراءة
© بوابة الذكاء الاصطناعي ٢٠٢٦-٠٦-٢١
تعلم كيفية دمج Claude وChatGPT APIs في تطبيق ذكي باستخدام SDKs الحديثة لتعزيز وظائف الذكاء الاصطناعي. ملاحظة: تم إلغاء وصول OpenAI إلى Claude API.
المتطلبات الأساسية
- Node.js الإصدار ١٨.٠ أو أحدث
- الوصول إلى مفتاح Anthropic API
- معرفة متوسطة بـ JavaScript وReact
ما الذي نبنيه
في هذا الدرس، سنقوم ببناء تطبيق ذكي يستفيد من قدرات Claude وChatGPT APIs. ومع ذلك، بسبب التغييرات الأخيرة، تم إلغاء وصول OpenAI إلى Claude API. سنركز على دمج Claude API لمهام مثل الترجمة اللغوية، تحليل المشاعر، وتقديم الردود الحوارية.
بنهاية هذا الدرس، سيكون لديك تطبيق يعمل يمكنه التبديل بين نماذج الذكاء الاصطناعي المختلفة بناءً على إدخال المستخدم، مما يوضح القوة والمرونة في دمج خدمات الذكاء الاصطناعي المتعددة.
الإعداد والتثبيت
أولاً، نحتاج إلى إعداد بيئة التطوير لدينا وتثبيت الحزم الضرورية. سنستخدم Next.js كإطار عمل لتطبيقنا، والذي يعتمد على React ويوفر التصيير من جانب الخادم بشكل افتراضي.
npx create-next-app@latest my-smart-app --ts
cd my-smart-app
npm install anthropic
npm install dotenvبعد ذلك، قم بتكوين متغيرات البيئة الخاصة بك لتأمين مفاتيح API الخاصة بك. هذا أمر بالغ الأهمية للحفاظ على المعلومات الحساسة خارج شفرة المصدر الخاصة بك.
// .env.local
ANTHROPIC_API_KEY=your-anthropic-api-keyالخطوة ١: إعداد عملاء API
في هذه الخطوة، سنقوم بإعداد العملاء للتفاعل مع Anthropic API. يتضمن ذلك إنشاء مثيلات من SDKs التي ستسمح لنا بإجراء طلبات إلى APIs.
import { Anthropic } from 'anthropic';
const anthropicClient = new Anthropic(process.env.ANTHROPIC_API_KEY);
// Use this client to make API requests in your application
هنا، نقوم باستيراد المكتبة المطلوبة وإنشاء العميل باستخدام مفتاح API من متغيرات البيئة لدينا. يتيح لنا هذا الإعداد الوصول إلى الوظائف المختلفة التي يوفرها API.
الخطوة ٢: بناء واجهة المستخدم
الآن سنقوم بإنشاء واجهة مستخدم بسيطة باستخدام مكونات React. ستسمح هذه الواجهة للمستخدمين بإدخال نص واختيار نموذج الذكاء الاصطناعي الذي يرغبون في استخدامه للمعالجة.
import { useState } from 'react';function App() {
const [inputText, setInputText] = useState('');
const [model, setModel] = useState('claude');
const [response, setResponse] = useState('');
const handleInputChange = (e) => setInputText(e.target.value);
const handleModelChange = (e) => setModel(e.target.value);
return (
Smart AI Application
export default App;
</code></pre>
<p>هذا الكود يقوم بإعداد واجهة أساسية مع منطقة نصية للإدخال، وقائمة منسدلة لاختيار نموذج الذكاء الاصطناعي، وقسم لعرض الرد. سنقوم بربط هذه الواجهة بعميل API الخاص بنا في الخطوات التالية.</p>
</section>
<section class="gai-section" id="gai-step3">
<h2>الخطوة ٣: الاتصال بـ API</h2>
<p>في هذه الخطوة، سنقوم بتنفيذ المنطق لإرسال إدخال المستخدم إلى نموذج الذكاء الاصطناعي المختار وعرض الرد. سنستخدم الدوال غير المتزامنة للتعامل مع استدعاءات API.</p>
<pre class="gai-code-block"><code>const handleSubmit = async () => {
let apiResponse;
apiResponse = await anthropicClient.messages.create({
model: 'claude-3-5-sonnet-20241022',
prompt: inputText
});
setResponse(apiResponse.choices[0].message.content);
};
// Add this inside your App component
<button onClick={handleSubmit}>Submit</button>
</code></pre>
<p>هنا، نقوم بتعريف دالة غير متزامنة <code>handleSubmit</code> التي ترسل الإدخال إلى Claude API. يتم بعد ذلك تعيين الرد إلى الحالة، مما يحدث واجهة المستخدم لعرضه.</p>
</section>
<div class="gai-expert-tip">
<strong>⚠️ خطأ شائع:</strong> تأكد من ضبط مفاتيح API الخاصة بك بشكل صحيح في متغيرات البيئة. المفاتيح غير الصحيحة ستؤدي إلى أخطاء في المصادقة مع APIs.</div>
<section class="gai-section" id="gai-testing">
<h2>اختبار تنفيذك</h2>
<p>للتحقق من أن تطبيقنا يعمل كما هو متوقع، أدخل بعض النصوص واختر نموذجًا. عند الإرسال، يجب أن ترى ردًا من نموذج الذكاء الاصطناعي.</p>
<pre class="gai-code-block"><code>// Run your Next.js application
npm run dev
// Access the application via http://localhost:3000
</code></pre>
<p>تحقق من وحدة التحكم لأي أخطاء وتأكد من أن الردود منطقية بناءً على الإدخال والنموذج المختار.</p>
</section>
<section class="gai-section" id="gai-next">
<h2>ما الذي تبنيه بعد ذلك</h2>
<ul>
<li>دمج نماذج ذكاء اصطناعي إضافية لمزيد من الوظائف.</li>
<li>إضافة مصادقة المستخدم لحفظ واسترجاع إعدادات المستخدم.</li>
<li>تنفيذ ميزة التاريخ لتتبع التفاعلات السابقة.</li>
</ul>
</section>
</article>