جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • وبلاگ
  • تماس با ما
  • درباره ما
logo-frontendi-150
0
  • خانه
  • دوره ها
  • وبلاگ فِرانت اِندی
  • تماس با ما
ورود / عضویت
  • صفحه اصلی
  • وبلاگ
  • تماس با ما
  • درباره ما
ورود / عضویت

وبلاگ

فرانت اندی > وبلاگ فِرانت اِندی > ری اکت > استفاده از OpenAI در React به سادگی آب خوردن!

استفاده از OpenAI در React به سادگی آب خوردن!

25 اردیبهشت 1404
ارسال شده توسط احمد احمدنژاد
ری اکت
استفاده از OpenAI در ری اکت - استفاده از OpenAI در React - ترکیب هوش مصنوعی در ری اکت - هوش مصنوعی در React - کتابخانه openai

اگه به ری اکت مسلط هستی، خوشبختانه میتونی از OpenAI تو پروژه های خودت استفاده کنی و یک عالمه ایده خفن و خلاقانه بصورت رایگان پیاده سازی کنی مثلا : چت بات هوش مصنوعی، مترجم زبان، دستیار پزشکی، مشاور و ..
خود OpenAI ( چت جی پی تی ) یک API رایگان داره که میتونیم تو پروژه های ری اکتی خودمون ازش استفاده کنیم!

نصب کتابخانه OpenAI

برای شروع به کمک دستور زیر کتابخانه OpenAI رو نصب میکنیم:

				
					npm install openai
				
			

خب ! حالا اولین قدم اینه که از OpenAI یک کلید ( API ) بگیریم تا بتونیم از خدماتش استفاده کنیم.

تعریف کلید API ( با بیخیالی کامل )

تو فایل .env توی ریشه پروژه باید این api key رو قرار بدیم ( البته ک اینکار به لحاظ امنیتی کار درستی نیست چون این api key میتونه لو بره – راهکار درستش پیاده سازی یک middleware هست ):

				
					// .env
REACT_APP_OPENAI_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxx

				
			

شروع استفاده از OpenAI داخل کامپوننت ری اکتی!

حالا میتونیم یه کامپوننت بسازیم و کد زیر رو داخلش قرار بدیم:

				
					// src/ChatBot.js
import React, { useState } from 'react';
import { OpenAI } from 'openai';

const openai = new OpenAI({
  apiKey: process.env.REACT_APP_OPENAI_KEY,
  dangerouslyAllowBrowser: true, 
});

function ChatBot() {
  const [input, setInput] = useState('');
  const [response, setResponse] = useState('');

  const sendMessage = async () => {
    const chatCompletion = await openai.chat.completions.create({
      model: 'gpt-4o', // یا gpt-3.5-turbo
      messages: [{ role: 'user', content: input }],
    });

    setResponse(chatCompletion.choices[0]?.message?.content || 'پاسخی نبود');
  };

  return (
    <div style={{ padding: '2rem' }}>
      <h2>💬 چت‌بات باحال با GPT</h2>
      <input
        value={input}
        onChange={(e) => setInput(e.target.value)}
        placeholder="سؤالت رو بنویس"
        style={{ width: '100%', padding: '0.5rem' }}
      />
      <button onClick={sendMessage} style={{ marginTop: '1rem' }}>
        ارسال
      </button>
      <div style={{ marginTop: '2rem' }}>
        <strong>پاسخ:</strong>
        <p>{response}</p>
      </div>
    </div>
  );
}

export default ChatBot;

				
			

تو کامپوننت بالا ما یک Chat Bot هوش مصنوعی به کمک OpenAI ساختیم، حالا برای اینکه نمایش داده بشه باید کامپوننت بالارو فراخوانی کنیم:

				
					// App.js
import React from 'react';
import ChatBot from './ChatBot';

function App() {
  return (
    <div className="App">
      <ChatBot />
    </div>
  );
}

export default App;

				
			

انتخاب نوع مدل هوش مصنوعی OpenAI

بسته به نوع مدل هوش مصنوعی که میخوای، باید مقدار model رو تنظیم کنی. ( بعضیاشون رایگانن، برخی پولی، برخی سریعتر و .. )

پاسخ های استریمینگ

اگه میخوای پاسخ چت بات بجای اینکه یکجا و کامل برگرده، کم کم و خط به خط بیاد ( درست مثل وقتی که تو ChatGPT میبینی متن داره کم کم تایپ میشه ) باید مقدار stream رو تنظیم کنی :

				
					const stream = await client.chat.completions.create({
  model: 'gpt-4o',
  messages: [{ role: 'user', content: 'یه شعر باحال بگو!' }],
  stream: true,
});
				
			

شخصی سازی بیشتر

بسته به نیاز پروژت، کلی شخصی سازی میتونی روی مدل هوش مصنوعی انجام بدی ( از Pagination گرفته تا فیچر آپلود فایل و Voice و .. )
داکیومنت کاملش رو میتونی از صفحه خود openai بخونی.

درباره احمد احمدنژاد

من یه برنامه نویس و توسعه دهنده وب هستم که عاشق دنیای صفر و یکم❤️

نوشته‌های بیشتر از احمد احمدنژاد
قبلی نقشه حرفه ای با کتابخانه React Leaflet ! ( رایگان، ساده و بهینه )
بعدی بلاخره هوش مصنوعی Codex واسه برنامه نویسی توسط OpenAI رونمایی شد!

پست های مرتبط

Critical Security Vulnerability in React Server Components

18 آذر 1404

همین الان React و Next.js رو آپدیت کنید! ( خطر امنیتی جدی⚠️)

احمد احمدنژاد
ادامه مطلب
ماژولار در ری اکت - ماژولار در React

11 مهر 1404

معماری ماژولار در پروژه های ری اکت !

احمد احمدنژاد
ادامه مطلب
هوک useFormStatus در ری اکت - هوک useFormStatus در ریکت - هوک useFormStatus در React

19 مرداد 1404

هوک useFormStatus در ری اکت ! ( بررسی مبتدی تا پیشرفته )

احمد احمدنژاد
ادامه مطلب
هوک useActionState در ری اکت - هوک useActionState در ریکت - هوک useActionState در React

18 مرداد 1404

هوک useActionState در ری اکت ! ( بررسی مبتدی تا پیشرفته )

احمد احمدنژاد
ادامه مطلب
هوک useOptimistic در ری اکت - هوک useOptimistic در ریکت - هوک useOptimistic در React

18 مرداد 1404

هوک useOptimistic در ری اکت ! ( بررسی مبتدی تا پیشرفته )

احمد احمدنژاد
ادامه مطلب

4 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • سعید گفت:
    26 اردیبهشت 1404 در 18:39

    آقا عاااالی بود دم شما گرم

    پاسخ
    • احمد احمدنژاد گفت:
      30 اردیبهشت 1404 در 01:59

      قربانت سعید جان 🙂

      پاسخ
  • دانیل یدقار گفت:
    11 مرداد 1404 در 14:04

    خیلی عالیه.
    آیا برای استفاده، کاربرا باید از وی‌وی‌ان استفاده کنن؟

    پاسخ
    • احمد احمدنژاد گفت:
      13 مرداد 1404 در 14:03

      قربانت دانیال جان، نه نیازی به وی پی ان ندارن کاربرا.

      پاسخ

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
پیاده سازی و مشاوره فِرانت اِند!

پیاده سازی اصولی و بهینه پروژه های فِرانت اِند در کمترین زمان ممکن 🙂

پیاده سازی و مشاوره

صفحات فِرانت اِندی
  • وبلاگ
  • تماس با ما
  • درباره ما
تماس با ما
  • [email protected]
  • 09102944692
شبکه های اجتماعی
Youtube Instagram Telegram