ChatGPT را به وب سایت خود اضافه کنید: UX و تعامل را تقویت کنید

با ترکیب ChatGPT، مدل زبان چشمگیر OpenAI، وب سایت خود را متحول کنید. در این راهنمای ساده، ما ملزومات ادغام این ابزار هوش مصنوعی را برای افزایش تعامل کاربر و افزایش حضور آنلاین شما پوشش خواهیم داد. برای ارتقای وب سایت خود به سطح بعدی آماده اید؟ شروع کنیم!
چگونه کار خواهد کرد؟
ادغام ChatGPT در وب سایت شما به لطف API OpenAI که به توسعه دهندگان اجازه می دهد تا از قدرت این مدل زبان پیشرفته استفاده کنند، ساده شده است. برای سادهتر کردن فرآیند، از کتابخانه langchain در ترکیب با Reactjs (Vite)، یک فریمورک فرانتاند محبوب و کارآمد استفاده خواهیم کرد.
کتابخانه langchain کار اتصال به OpenAI API و مدیریت درخواست ها را ساده می کند، در حالی که Reactjs (Vite) به ما اجازه می دهد تا یک رابط کاربری پاسخگو و تعاملی برای ارتباط یکپارچه با ChatGPT ایجاد کنیم.
در اینجا یک مرور مختصر از نحوه عملکرد آن وجود دارد:
-
کلید OpenAI API خود را دریافت کنید: باید برای یک حساب OpenAI ثبت نام کنید و کلید API منحصر به فرد خود را دریافت کنید. این کلید برای احراز هویت و دسترسی به سرویس ChatGPT ضروری خواهد بود.
-
راه اندازی محیط Reactjs (Vite): یک پروژه Reactjs (Vite) جدید ایجاد کنید تا به عنوان پایه ای برای ادغام ChatGPT شما عمل کند. سرور توسعه سریع Vite و سیستم ساخت بهینه، روند توسعه را روان و کارآمد می کند.
-
کتابخانه langchain را نصب کنید: کتابخانه langchain را به پروژه خود اضافه کنید، که ارتباط یکپارچه با OpenAI API را تسهیل میکند، درخواستها را مدیریت میکند و پاسخهای ChatGPT را مدیریت میکند.
-
ایجاد یک رابط کاربری: یک رابط کاربری تعاملی با استفاده از اجزای Reactjs ایجاد کنید که بازدیدکنندگان وب سایت شما را قادر می سازد با ChatGPT درگیر شوند. این رابط شامل عناصری مانند فیلدهای ورودی برای درخواستهای کاربر و یک ناحیه نمایش برای پاسخهای ChatGPT خواهد بود.
-
رابط کاربری را با کتابخانه langchain متصل کنید: اجزای رابط کاربری خود را به کتابخانه langchain پیوند دهید، که پرس و جوهای کاربر را به OpenAI API ارسال می کند، پاسخ های ChatGPT را پردازش می کند و UI را متناسب با آن به روز می کند.
با دنبال کردن این مراحل، یک ادغام یکپارچه از ChatGPT در وب سایت خود ایجاد خواهید کرد.
راه اندازی پروژه
- یک پروژه Vite ایجاد کنید
npx create vite
- Langchain را نصب کنید
npm install langchain
- کلیدهای API را باز کنید
برای انجام این کار، یک حساب کاربری ایجاد کنید یا در Open AI ثبت نام کنید و سپس برای بازیابی API KEY خود به این پیوند دسترسی پیدا کنید.
- Open AI API KEY را به فایل env. خود اضافه کنید
VITE_OPENAI_API_KEY=...
اضافه کردن ChatGPT به وب سایت شما
باز کن App.tsx
و چند کد اصلی React را اضافه کنید:
import { useState } from 'react'
import reactLogo from './assets/react.svg'
import openAiLogo from './assets/openai.png'
import './App.css'
import { OpenAI } from 'langchain/llms'
function App() {
const [question, setQuestion] = useState('')
const [answer, setAnswer] = useState('')
const getAnswerFromOpenAI = async () => {
const model = new OpenAI({
openAIApiKey: import.meta.env.VITE_OPENAI_API_KEY,
})
const res = await model.call(
question,
)
console.log(res)
setAnswer(res)
}
return (
<div className="App">
<div>
<a href="https://chat.openai.com/" target="_blank">
<img src={openAiLogo} className="logo" alt="Open AI logo" />
</a>
<a href="https://reactjs.org" target="_blank">
<img src={reactLogo} className="logo react" alt="React logo" />
</a>
</div>
<h1>AI Questions & Answers</h1>
<div className="card">
<div
style={{
display: 'flex',
flexDirection: 'column',
justifyContent: 'center',
}}
>
<textarea placeholder='Ask here... ' onChange={(e) => setQuestion(e.target.value)} />
</div>
<br />
<div
style={{
display: 'flex',
flexDirection: 'column',
justifyContent: 'center',
}}
>
<textarea id="answer-box" placeholder='Here goes the answer... ' onChange={(e) => setQuestion(e.target.value)} disabled value={answer} />
</div>
<button id="ask-btn" onClick={getAnswerFromOpenAI}>
Ask
</button>
</div>
</div>
)
}
export default App
این کد یک ساختار HTML ایجاد می کند که شامل یک فیلد ورودی برای وارد کردن یک سوال و یک ناحیه متنی برای نمایش پاسخ تولید شده توسط OpenAI API است.
سپس سبک های زیر را به فایل App.css خود اضافه کنید:
#root {
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
text-align: center;
}
.logo {
height: 6em;
padding: 1.5em;
will-change: filter;
transition: filter 300ms;
}
.logo:hover {
filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.react:hover {
filter: drop-shadow(0 0 2em #61dafbaa);
}
@keyframes logo-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@media (prefers-reduced-motion: no-preference) {
a:nth-of-type(2) .logo {
animation: logo-spin infinite 20s linear;
}
}
.card {
padding: 2em;
width: 650px;
}
.read-the-docs {
color: #888;
}
.input-card {
display: flex;
align-items: center;
justify-content: center;
padding: 2em;
}
.input-card > input {
flex: 1;
font-size: 1.5em;
padding: 0.25em;
border: 1px solid #ccc;
border-radius: 6px;
margin-right: 1em;
width: 400px;
}
.input-card > input::placeholder {
color: #b3b3b3;
}
.card > div > textarea {
height: 70px;
font-size: 1.5em;
padding: 0.25em;
border: 4px solid #756d6d;
border-radius: 6px;
}
.card > div > textarea#answer-box {
height: 200px;
padding: 0em 0.9em;
background-color: #3f3f3f;
color: #f5f5f5;
}
.card > #ask-btn {
background-color: #1a1a1a;
color: #fff;
font-size: 1.5em;
padding: 0.5em 1em;
border: 1px solid #ccc;
border-radius: 6px;
width: 100%;
margin-top: 0.6em;
}
علاوه بر این، فایل index.css را به روز کنید:
:root {
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
line-height: 1.5;
font-weight: 400;
color-scheme: light dark;
color: rgba(26, 26, 26, 0.87);
background-color: #bbbbbb;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%;
}
a {
font-weight: 500;
color: #646cff;
text-decoration: inherit;
}
a:hover {
color: #535bf2;
}
body {
margin: 0;
display: flex;
place-items: center;
min-width: 320px;
min-height: 100vh;
}
h1 {
font-size: 3.2em;
line-height: 1.1;
}
button {
border-radius: 8px;
border: 1px solid transparent;
padding: 0.6em 1.2em;
font-size: 1em;
font-weight: 500;
font-family: inherit;
background-color: #1a1a1a;
cursor: pointer;
transition: border-color 0.25s;
}
button:hover {
border-color: #646cff;
}
button:focus,
button:focus-visible {
outline: 4px auto -webkit-focus-ring-color;
}
@media (prefers-color-scheme: light) {
:root {
color: #213547;
background-color: #ffffff;
}
a:hover {
color: #747bff;
}
button {
background-color: #f9f9f9;
}
}
در این مرحله وب سایت شما باید به این شکل باشد و می توانید ادغام ChatGPT خود را آزمایش کنید! آسان است، درست است؟ 😄
نتیجه
در این آموزش یاد گرفتید که چگونه قابلیتهای ChatGPT را با وبسایت خود ادغام کنید، با این کار میتوانید کسبوکار خود را ارتقا دهید و بهترین مدلهای زبان بزرگ هوش مصنوعی را باز کنید.
مخزن Github: POC Open AI