आज की AI प्रगति के साथ, चैटबॉट बनाने के लिए अपने कंप्यूटर पर एक जेनरेटिव AI मॉडल सेटअप करना आसान है।
इस लेख में हम देखेंगे कि आप ओलामा और नेक्स्ट.जेएस का उपयोग करके अपने सिस्टम पर एक चैटबॉट कैसे सेटअप कर सकते हैं
आइए अपने सिस्टम पर ओलामा को स्थापित करके शुरुआत करें। ollama.com पर जाएँ और इसे अपने OS के लिए डाउनलोड करें। यह हमें टर्मिनल/कमांड प्रॉम्प्ट में ओलामा कमांड का उपयोग करने की अनुमति देगा।
कमांड ollama -v का उपयोग करके ओलामा संस्करण की जाँच करें
ओलामा लाइब्रेरी पेज पर मॉडलों की सूची देखें।
किसी मॉडल को डाउनलोड करने और चलाने के लिए, कमांड ओलामा रन
चलाएं
उदाहरण: ओलामा रन llama3.1 या ओलामा रन जेम्मा2
आप सीधे टर्मिनल में मॉडल के साथ चैट कर पाएंगे।
कुछ एनपीएम पैकेज हैं जिन्हें ओलामा का उपयोग करने के लिए स्थापित करने की आवश्यकता है।
इन निर्भरताओं को स्थापित करने के लिए npm i ai ollama ollama-ai-provider चलाएँ।
app/src के अंतर्गत page.tsx नाम की एक फ़ाइल है।
आइए इसमें सब कुछ हटा दें और बुनियादी कार्यात्मक घटक से शुरू करें:
src/app/page.tsx
export default function Home() { return ({/* Code here... */} ); }
आइए एआई/रिएक्ट और रिएक्ट-मार्कडाउन से यूज़चैट हुक आयात करके शुरुआत करें
"use client"; import { useChat } from "ai/react"; import Markdown from "react-markdown";
चूंकि हम एक हुक का उपयोग कर रहे हैं, हमें इस पृष्ठ को क्लाइंट घटक में परिवर्तित करने की आवश्यकता है।
टिप: आप चैट के लिए एक अलग घटक बना सकते हैं और क्लाइंट घटक उपयोग को सीमित करने के लिए इसे पेज.tsx में कॉल कर सकते हैं।
घटक में यूज़चैट हुक से संदेश, इनपुट, हैंडलइनपुटचेंज और हैंडलसबमिट प्राप्त करें।
const { messages, input, handleInputChange, handleSubmit } = useChat();
जेएसएक्स में, बातचीत शुरू करने के लिए उपयोगकर्ता से इनपुट प्राप्त करने के लिए एक इनपुट फॉर्म बनाएं।
इसके बारे में अच्छी बात यह है कि हमें हैंडलर को सही करने या इनपुट मूल्य के लिए एक स्थिति बनाए रखने की आवश्यकता नहीं है, यूज़चैट हुक हमें यह प्रदान करता है।
हम संदेश सरणी के माध्यम से लूपिंग करके संदेशों को प्रदर्शित कर सकते हैं।
messages.map((m, i) => ({m})
प्रेषक की भूमिका के आधार पर स्टाइल संस्करण इस तरह दिखता है:
{messages.length ? ( messages.map((m, i) => { return m.role === "user" ? (You) : ({m.content} AI); }) ) : ({m.content} )}Local AI Chat
आइए पूरी फ़ाइल पर एक नज़र डालें
src/app/page.tsx
"use client"; import { useChat } from "ai/react"; import Markdown from "react-markdown"; export default function Home() { const { messages, input, handleInputChange, handleSubmit } = useChat(); return (); }
इसके साथ, फ्रंटएंड भाग पूरा हो गया है। अब एपीआई को संभालते हैं।
आइए ऐप/एपीआई/चैट के अंदर रूट.टीएस बनाकर शुरुआत करें।
नेक्स्ट.जेएस नामकरण परंपरा के आधार पर, यह हमें लोकलहोस्ट:3000/एपीआई/चैट एंडपॉइंट पर अनुरोधों को संभालने की अनुमति देगा।
src/app/api/chat/route.ts
import { createOllama } from "ollama-ai-provider"; import { streamText } from "ai"; const ollama = createOllama(); export async function POST(req: Request) { const { messages } = await req.json(); const result = await streamText({ model: ollama("llama3.1"), messages, }); return result.toDataStreamResponse(); }
उपरोक्त कोड मूल रूप से डेटा को प्रतिक्रिया के रूप में स्ट्रीम करने के लिए ओलामा और वर्सेल एआई का उपयोग कर रहा है।
सर्वर को डेवलपमेंट मोड में शुरू करने के लिए npm run dev चलाएँ।
परिणाम देखने के लिए ब्राउज़र खोलें और लोकलहोस्ट:3000 पर जाएं।
यदि सब कुछ ठीक से कॉन्फ़िगर किया गया है, तो आप अपने स्वयं के चैटबॉट से बात करने में सक्षम होंगे।
आप यहां स्रोत कोड पा सकते हैं: https://github.com/parasbansal/ai-chat
यदि आपके कोई प्रश्न हैं तो मुझे टिप्पणियों में बताएं, मैं उनका उत्तर देने का प्रयास करूंगा।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3