Wordक्राफ़्ट की मदद से, एआई (AI) राइटिंग असिस्टेंट बनाएं

हमें कहानियां सुनना बहुत पसंद है. कहानियां सुनाना और क्रिएटिव तरीके से लिखना, चुनौती भरा और फ़ायदेमंद हो सकता है. हालांकि, खाली पेज से अपनी कहानियां बनाना कभी-कभी मुश्किल और परेशान करने वाला हो सकता है. आर्टिफ़िशियल इंटेलिजेंस (एआई) के जनरेटिव मॉडल, खाली पेज से आगे बढ़ने और अपनी कहानी बनाने में आपकी मदद कर सकते हैं.

इस ट्यूटोरियल में, Wordcraft का इस्तेमाल करने का तरीका बताया गया है. यह एआई की मदद से कहानी लिखने वाला टूल है. इसे Google की लोगों और एआई की रिसर्च टीम ने बनाया है. यह वेब ऐप्लिकेशन, Gemini API का इस्तेमाल करके, धीरे-धीरे कहानियां बनाने में आपकी मदद करता है. इसके लिए, यह आइडिया जनरेट करता है, आपकी कहानियों के कुछ हिस्से लिखता है, और ज़्यादा जानकारी जोड़ने के लिए कॉन्टेंट में बदलाव करता है. Wordcraft को अपनी पसंद के मुताबिक बनाने के लिए, उसमें बदलाव किए जा सकते हैं. साथ ही, अपने वर्कफ़्लो को बेहतर बनाने के लिए, लिखने से जुड़े नए कंट्रोल बनाए जा सकते हैं.

इस प्रोजेक्ट के बारे में खास जानकारी देने वाला वीडियो देखें. इसमें, इस प्रोजेक्ट को बेहतर बनाने के तरीके के साथ-साथ, इसे बनाने वाले लोगों की अहम जानकारी भी दी गई है. इसके लिए, एआई से लिखने में मदद करने वाली सुविधा - Google के एआई की मदद से बनाएं देखें. इसके अलावा, यहां दिए गए निर्देशों का पालन करके, प्रोजेक्ट को बढ़ाया जा सकता है.

प्रोजेक्ट सेटअप करना

इन निर्देशों की मदद से, Wordcraft प्रोजेक्ट को डेवलपमेंट और टेस्टिंग के लिए सेट अप किया जा सकता है. इसके लिए, आपको ज़रूरी सॉफ़्टवेयर इंस्टॉल करना होगा, कोड डेटा स्टोर करने की जगह से प्रोजेक्ट को क्लोन करना होगा, कॉन्फ़िगरेशन इंस्टॉलेशन चलाना होगा, और कुछ एनवायरमेंट वैरिएबल सेट करने होंगे. यह तरीका अपनाने के बाद, प्रोजेक्ट को चलाकर अपने सेटअप की जांच की जा सकती है.

ज़रूरी शर्तें इंस्टॉल करना

Wordcraft प्रोजेक्ट, पैकेज मैनेज करने और ऐप्लिकेशन चलाने के लिए, Node और npm का इस्तेमाल करता है. इंस्टॉल करने के लिए यहां दिए गए निर्देश, Linux होस्ट मशीन के लिए हैं.

ज़रूरी सॉफ़्टवेयर इंस्टॉल करने के लिए:

प्रोजेक्ट का क्लोन बनाना और उसे कॉन्फ़िगर करना

प्रोजेक्ट कोड डाउनलोड करें और ज़रूरी डिपेंडेंसी डाउनलोड करने और प्रोजेक्ट को कॉन्फ़िगर करने के लिए, npm इंस्टॉलेशन कमांड का इस्तेमाल करें. प्रोजेक्ट का सोर्स कोड वापस पाने के लिए, आपके पास git सोर्स कंट्रोल सॉफ़्टवेयर होना चाहिए.
प्रोजेक्ट कोड को डाउनलोड और कॉन्फ़िगर करने के लिए:

  1. नीचे दिए गए कमांड का इस्तेमाल करके, गिट रिपॉज़िटरी को क्लोन करें.
    git clone https://github.com/PAIR-code/wordcraft
    
  2. Wordcraft प्रोजेक्ट की रूट डायरेक्ट्री पर जाएं.
    cd wordcraft/
    
  3. दूसरे ज़रूरी सॉफ़्टवेयर डाउनलोड करने और प्रोजेक्ट को कॉन्फ़िगर करने के लिए, इंस्टॉल कमांड चलाएं:
    npm install
    

एनवायरमेंट वैरिएबल सेट करना

Wordcraft कोड प्रोजेक्ट को चलाने के लिए ज़रूरी एनवायरमेंट वैरिएबल सेट करें. खास तौर पर, Google Gemini एपीआई पासकोड. इंस्टॉल करने के लिए दिए गए ये निर्देश, Linux होस्ट मशीन के लिए हैं.

एनवायरमेंट वैरिएबल सेट करने के लिए:

  1. Google Gemini API पासकोड पाएं और पासकोड की स्ट्रिंग कॉपी करें.
  2. Wordcraft प्रोजेक्ट की रूट डायरेक्ट्री पर जाएं.`
    cd wordcraft/
    
  3. एपीआई पासकोड को एनवायरमेंट वैरिएबल के तौर पर सेट करें. Linux होस्ट पर, इन कमांड का इस्तेमाल करें.
    touch .env
    echo "API_KEY="<YOUR_API_KEY>"" > .env
    

अपने सेट अप की जांच करना

अब आपको अपने डिवाइस पर Wordcraft चलाकर, अपने प्रोजेक्ट सेटअप की जांच करनी चाहिए. यह चरण ज़रूरी नहीं है, लेकिन इसका सुझाव दिया जाता है.

Wordcraft की शुरुआती स्क्रीन

इंस्टॉलेशन और सेटअप की जांच करने के लिए:

  1. Wordcraft प्रोजेक्ट की रूट डायरेक्ट्री पर जाएं.
    cd wordcraft/
    
  2. डेवलपमेंट मोड में प्रोजेक्ट को चलाना:
    npm run dev
    
  3. अपने वेब ब्राउज़र में, Wordcraft के यूज़र इंटरफ़ेस पर जाएं. पिछले निर्देश के आउटपुट में, वह खास पता दिखता है, जैसे:
    http://localhost:3000/
    

प्रॉम्प्ट के उदाहरण के टेक्स्ट में बदलाव करना

Wordcraft के कमांड का यूज़र इंटरफ़ेस Wordcraft, एआई जनरेटिव मॉडल के लिए प्रॉम्प्ट बनाता है. इसके लिए, लिखने में मदद करने वाले हर निर्देश के लिए उदाहरणों का एक सेट इस्तेमाल किया जाता है. जैसे, नई कहानी शुरू करें और टेक्स्ट जनरेट करें निर्देश. उदाहरण, जनरेटिव मॉडल को आपकी कहानी के लिए टेक्स्ट जनरेट करने में मदद करते हैं. साथ ही, किसी ऑपरेशन के लिए उदाहरणों में बदलाव करके, लिखने के किसी दूसरे पैटर्न या स्टाइल के हिसाब से आउटपुट बदला जा सकता है. यह तरीका, Wordcraft को अपनी पसंद के मुताबिक लिखने का आसान तरीका है.

नीचे दिए गए उदाहरण में, Wordcraft में new_story के उदाहरणों में किए गए बदलाव को दिखाया गया है. इस बदलाव का मकसद, एआई जनरेटिव मॉडल को इंटरनल मोनोलॉग के तरीके का इस्तेमाल करके, कहानी की शुरुआत लिखने के लिए निर्देश देना है. साथ ही, एक ऐसी स्टाइल का इस्तेमाल करना है जो मिस्ट्री वाली नॉवल के लिए ज़्यादा सही हो. कहानी के शुरुआती कुछ वाक्यों के उदाहरण लिखकर, जनरेटिव मॉडल को सामान्य पैटर्न का पालन करने के लिए कहा जा सकता है. हालांकि, यह किसी दूसरी थीम के लिए शुरुआती वाक्य जनरेट करेगा.

Wordcraft में कहानी के नए उदाहरणों में बदलाव करने के लिए:

  1. wordcraft/app/context/json/new_story.json फ़ाइल खोलें.
  2. JSON फ़ाइल के पूरे स्ट्रक्चर को बनाए रखते हुए, उदाहरणों में बदलाव करें. यहां एक मिस्ट्री स्टोरी के शुरुआती हिस्से में बदलाव का उदाहरण दिया गया है. इसमें, इंटरनल मोनोलॉग स्टाइल का इस्तेमाल किया गया है.
    [
      {
        "topic": "scientist disappears and their research into a new technology is gone",
        "target": "I got the call from the chief early Tuesday morning, before I'd even had a second sip of coffee. Terrible timing. Something about a researcher disappearing from the local university. Unusual for the research lab to ask for assistance, so I headed over to main lab building."
      },
      {
        "topic": "a young woman wakes up with no memory",
        "target": "An unfamiliar ceiling with harsh, white lights greeted my eyes as I opened them. I looked around. White walls, medical equipment, a hospital? Wait. Where am I? How did I get here?!"
      },
      {
        "topic": "old man tries to recall an important task as his memories gradually fade away",
        "target": "What was I supposed to do today? Feels like it was important. I stared into the kitchen cabinet full of mismatched mugs, mirroring my own confusion. What was it? Like someone is...in danger? A chill shot down my spine, but the details skittered off and hid in some dark corner of my head."
      },
      {
        "topic": "billionaire is found dead in a hotel room",
        "target": "People meet their end every day, some naturally, some unnaturally. After 17 years of working as a homicide detective in Seattle, I'd seen a lot more of the unnatural variety than most. Comes with the job, along with a hard-learned sense of what side of the line any given incident sat on. This...was murder."
      },
      {
        "topic": "retired covert operative gets dragged back into an old mission",
        "target": "Steam rose gently off the cup of Earl Grey sitting in front of me as I sat at the cafe, pedestrians and light traffic rolling by. The city was slowly waking up around me and my perfect Paris morning routine was shaping up nicely. Then I noticed that old familiar and unwelcome tingling on the back of my neck. I was being watched."
      }
    ]
  3. बदलावों को `new_story.json` फ़ाइल में सेव करें.

बदली गई नई स्टोरी ऑपरेशन की जांच करने के लिए:

  1. Wordcraft प्रोजेक्ट की रूट डायरेक्ट्री पर जाएं.
    cd wordcraft/
    
  2. प्रोजेक्ट को डेवलपमेंट मोड में चलाएं. अगर यह पहले से चल रहा है, तो आपको ऐप्लिकेशन को बंद करके फिर से चालू करना पड़ सकता है.
    npm run dev
    
  3. अपने वेब ब्राउज़र में, Wordcraft के यूज़र इंटरफ़ेस पर जाएं. पिछले निर्देश के आउटपुट में, वह खास पता दिखता है, जैसे:
    http://localhost:3000/
    
  4. Wordcraft के मुख्य मेन्यू पर जाएं और नई कहानी शुरू करें को चुनें.
  5. नई कहानी के प्रॉम्प्ट को अपडेट करें या अपनी पसंद के मुताबिक बदलें. इसके बाद, नई कहानी शुरू करें को चुनें.

इस तकनीक का इस्तेमाल करके, Wordcraft में कहानी लिखने के सभी मौजूदा कंट्रोल में बदलाव किया जा सकता है. wordcraft/app/context/json/ डायरेक्ट्री में दिए गए उदाहरणों को अपडेट करके, स्टोरी के दूसरे कंट्रोल बदलने की कोशिश करें.

लिखने के लिए नया कंट्रोल बनाना

Wordcraft में किरदार का यूज़र इंटरफ़ेस Wordcraft ऐप्लिकेशन को इस तरह से डिज़ाइन किया गया है कि आप इसमें लिखने के लिए नए कंट्रोल जोड़ सकें. ये कंट्रोल, ऐप्लिकेशन की दाईं ओर मौजूद कंट्रोल टैब में मौजूद टेक्स्ट जनरेट करें या वाक्य फिर से लिखें बटन जैसे ही होंगे. इन बदलावों को लागू करने में थोड़ी ज़्यादा मेहनत लगती है, लेकिन इससे आपको अपने वर्कफ़्लो और लक्ष्यों के हिसाब से Wordcraft की सुविधाओं को ढालने में मदद मिलती है.

यहां दिए गए उदाहरण में, Wordcraft के लिए नया वर्ण कंट्रोल बनाया गया है. इसका इस्तेमाल करके, किसी कहानी में किसी नए किरदार को शामिल किया जा सकता है. साथ ही, उस किरदार के एट्रिब्यूट की जानकारी भी दी जा सकती है. इस कंट्रोल का आधार, Wordcraft के अन्य कंट्रोल जैसा ही है. जैसे, पहले बताए गए नई कहानी शुरू करें कंट्रोल. आपको एक JSON फ़ाइल बनानी होगी. इसमें कुछ उदाहरणों के साथ यह बताना होगा कि आपको कैरेक्टर कैसे दिखाने हैं. बाकी बदलावों में, यूज़र इंटरफ़ेस और एआई प्रॉम्प्ट मैनेजमेंट फ़ंक्शन जोड़े गए हैं.

नमूने बनाना

कुछ उदाहरण दें कि आपको जनरेटिव मॉडल से कैरेक्टर कैसे दिखाने हैं. उदाहरण के लिए, क्या आपको उन्हें नैरेटर की तरह पेश करना है या मुख्य किरदार के अनुभव के ज़रिए उन्हें पेश करना है? यहां दिए गए उदाहरणों में, मुख्य किरदार के नज़रिए से नए किरदारों को पेश किया गया है. इन उदाहरणों को नई JSON फ़ाइल में जोड़ा जाता है:

नए कंट्रोल के उदाहरण जोड़ने के लिए:

  1. wordcraft/app/context/json/new_character.json फ़ाइल बनाएं.
  2. JSON फ़ाइल में उदाहरण बनाएं. इस उदाहरण के लिए, हर उदाहरण में एक character ब्यौरा फ़ील्ड होता है, जो प्रॉम्प्ट टेक्स्ट दिखाता है. साथ ही, एक target फ़ील्ड होता है, जो अनुमानित आउटपुट दिखाता है.
    [
      {
        "character": "A character who is helpful and modest.",
        "target": "\"You lost, buddy?\" came a voice from behind me. Turning, I discovered a man dressed in a simple but presentable outfit. Small signs of age and loose threads hinted that these clothes, and the man himself, had seen better days."
      },
      {
        "character": "A character who is attractive and devious.",
        "target": "Stepping out of the alley a little too quickly, I collided with something solidly muscular and surprisingly delicately scented. \"Sorry.\" I managed, regaining my balance. \"Easy there, buddy, you're gonna hurt yourself,\" came the reply from a man with an almost feline grace, further reinforced by a stare that reminded me of a hunting cat assessing its potential prey."
      },
      {
        "character": "A character who is old and hesitant.",
        "target": "\"Excuse me. Do you know the way to the train station from here?\" I looked up from my phone to see a elderly woman in a threadbare coat, purse clutched with two hands in front of her. \"I-I'm supposed to meet my nephew there. Do... do you think you can help me?\""
      },
      {
        "character": "A character who is intelligent and aloof.",
        "target": "Bookish. That was my immediate reaction to this person I now saw in front of me. \"You're finally here. Did you read the notes I sent you?\" The voice sat squarely in between feminine and masculine intonation. \"No, of course you didn't.\" Dismissing my answer before I'd even formulated one. Annoyance immediately flushed through me."
      },
      {
        "character": "A character who is clumsy and energetic.",
        "target": "\"Whoa!\" was the only warning I had before someone slammed into my back, almost knocking me off my feet. \"I'm so sorry! WOOO! These skates are a RUSH!\" The apology came from a rather loud redhead wearing rollerblades, dark glasses and a very beefy-looking pair of headphones. That explained the volume of the apology."
      }
    ]
  3. new_character.json फ़ाइल में किए गए बदलाव सेव करें.

उदाहरण बनाने के बाद, app/context/schema.ts और index.ts फ़ाइलों में बदलाव करें, ताकि इस नए वर्ण कंट्रोल के प्रॉम्प्ट कॉन्टेंट को दिखाया जा सके.

schema.ts फ़ाइल में उदाहरण जोड़ने के लिए:

  • wordcraft/app/context/schema.ts फ़ाइल में बदलाव करके, वर्ण के उदाहरण के लिए नया डेटा स्ट्रक्चर शामिल करें.
    export const newStorySchema = z.object({
      topic: z.string(),
      target: z.string(),
    });
    
    // add the following:
    export const newCharacterSchema = z.object({
      character: z.string(),
      target: z.string(),
    });

इन नए उदाहरणों से जुड़े ऑपरेशन टाइप तय करें. इस नए टाइप की मदद से, प्रॉम्प्ट के उदाहरणों को यूज़र इंटरफ़ेस और प्रॉम्प्ट बनाने वाले कोड से कनेक्ट किया जा सकता है. इस कोड में बाद के चरणों में बदलाव किया जा सकता है.

नया ऑपरेशन टाइप बनाने के लिए

  • वर्ण के नए ऑपरेशन टाइप को जोड़ने के लिए, wordcraft/app/core/shared/types.ts फ़ाइल में बदलाव करें.
    export const enum OperationType {
      ...
      NEW_CHARACTER = 'NEW_CHARACTER', // add to list of types
      ...
    }

index.ts फ़ाइल में उदाहरणों को रजिस्टर करने के लिए:

  1. wordcraft/app/context/index.ts फ़ाइल में, नया स्कीमा इंपोर्ट करें.
    import {
      continueSchema,
      ...
      newCharacterSchema // add new schema
    } from './schema';
  2. नई JSON फ़ाइल को newCharacterJson के तौर पर इंपोर्ट करें.
    import newCharacterJson from './json/new_character.json';
  3. ऐप्लिकेशन के कॉन्टेक्स्ट में, नए वर्ण के उदाहरण के तौर पर कॉन्टेंट रजिस्टर करें.
    export class WordcraftContext {
      constructor() {
      ...
        this.registerExamples(
          OperationType.NEW_CHARACTER,
          newCharacterSchema,
          newCharacterJson
        );
      ...
    }
  4. NewCharacterExample टाइप को एक्सपोर्ट करें.
    export type NewCharacterExample = z.infer<typeof newCharacterSchema>;

यूज़र इंटरफ़ेस बनाना

कॉन्टेंट जनरेशन के उदाहरण बनाने और उन्हें रजिस्टर करने के बाद, नए कंट्रोल के लिए यूज़र इंटरफ़ेस बनाया जा सकता है. इस चरण में ज़्यादातर काम, एक नई ऑपरेशन क्लास बनाना और फिर उस क्लास को Wordcraft ऐप्लिकेशन के मुख्य कोड के साथ रजिस्टर करना है.

नया ऑपरेशन बनाने के लिए:

  1. wordcraft/app/core/operations/ डायरेक्ट्री में, किसी मौजूदा ऑपरेशन क्लास को टेंप्लेट के तौर पर इस्तेमाल करके, एक नई ऑपरेशन क्लास बनाएं. नए वर्ण कंट्रोल के लिए, new_story_operation.ts क्लास की कॉपी बनाई जा सकती है और उसका नाम बदलकर new_character_operation.ts किया जा सकता है.
  2. क्लास को नया नाम दें और कम से कम एक OperationSite वैल्यू तय करके बताएं कि कंट्रोल, यूज़र इंटरफ़ेस में कब दिखेगा.
    export class NewCharacterOperation extends ChoiceOperation {
      static override isAvailable(operationSite: OperationSite) {
        return (
          operationSite === OperationSite.END_OF_SECTION ||
          operationSite === OperationSite.EMPTY_SECTION
        );
      }
  3. ऑपरेशन के लिए id सेट करें.
      static override id = OperationType.NEW_CHARACTER;
  4. स्कीमा पैरामीटर की वैल्यू दिखाने के लिए, get और run फ़ंक्शन अपडेट करें. यह कोड, एआई प्रॉम्प्ट में इस्तेमाल करने के लिए, यूज़र इंटरफ़ेस से प्रॉम्प्ट टेक्स्ट पाने की प्रोसेस को मैनेज करता है.
      private get character(): string {
        return NewCharacterOperation.controls.character.value;
      }
    
      async run() {
        const params = { character: this.character };
        const choices = await this.getModel().newCharacter(params);
    
        this.setChoices(choices);
      }
  5. यूज़र इंटरफ़ेस का टेक्स्ट और ब्यौरे अपडेट करें.
      static override getButtonLabel() {
        return 'introduce character';
      }
    
      static override getDescription() {
        return 'Introduce a new character at the cursor.';
      }
    
      static override controls = {
        character: new TextareaControl({
          prefix: 'prompt',
          description: 'A prompt to introduce a new character.',
          value: 'A new character.',
        }),
      };

Wordcraft ऐप्लिकेशन में नया ऑपरेशन रजिस्टर करने के लिए:

  1. wordcraft/app/core/operations/index.ts फ़ाइल में, नए ऑपरेशन के लिए एक इंपोर्ट जोड़ें.
    import {NewCharacterOperation} from './new_character_operation';
  2. उसी index.ts फ़ाइल में, NewCharacterOperation क्लास के लिए एक्सपोर्ट जोड़ें.
    export {
      ...
      NewCharacterOperation, // add this class
      ...
    };
  3. wordcraft/app/main.ts फ़ाइल में, नया ऑपरेशन रजिस्टर करें.
    const operationsService = wordcraftCore.getService(OperationsService);
    operationsService.registerOperations(
      ...
      Operations.NewCharacterOperation, // add new operation
      ...
    );

प्रॉम्प्ट मैनेज करने की सुविधा बनाना

नया कंट्रोल बनाने के आखिरी चरण में, एआई जनरेटिव मॉडल के लिए प्रॉम्प्ट जनरेट करने और जवाब को मैनेज करने वाला कोड बनाया जाता है. इस काम का मुख्य हिस्सा, wordcraft/app/models/gemini/prompts/ डायरेक्ट्री में प्रॉम्प्ट हैंडलर बनाना है. यह यूज़र इंटरफ़ेस से इनपुट लेता है और जनरेटिव मॉडल को पास करने के लिए प्रॉम्प्ट को इकट्ठा करता है.

प्रॉम्प्ट पैरामीटर के लिए इंटरफ़ेस तय करने के लिए:

  • wordcraft/app/core/shared/interfaces.ts फ़ाइल में, नए ऑपरेशन के लिए, पैरामीटर के सुझाव देने वाला इंटरफ़ेस जोड़ें.
    export interface NewCharacterPromptParams {
      character: string;
    }

नए ऑपरेशन के लिए प्रॉम्प्ट हैंडलर तय करने के लिए:

  1. wordcraft/app/models/gemini/prompts/ डायरेक्ट्री में, टेंप्लेट के तौर पर किसी मौजूदा ऑपरेशन क्लास का इस्तेमाल करके, एक नई प्रॉम्प्ट हैंडलर क्लास बनाएं. नए वर्ण कंट्रोल के लिए, new_story.ts क्लास की कॉपी बनाई जा सकती है और शुरुआती पॉइंट के तौर पर, इसका नाम बदलकर new_character.ts किया जा सकता है.
  2. प्रॉम्प्ट हैंडलर फ़ंक्शन तय करें और NewCharacterExample क्लास इंपोर्ट करें.
    import { NewCharacterPromptParams } from '@core/shared/interfaces';
    import { NewCharacterExample, WordcraftContext } from '../../../context';
    import { OperationType } from '@core/shared/types';
    import { GeminiModel } from '..';
    
    export function makePromptHandler(model: GeminiModel, context: WordcraftContext) {
      ...
    }
  3. एआई मॉडल के प्रॉम्प्ट के लिए, यूज़र इंटरफ़ेस इनपुट पाने के लिए generatePrompt() फ़ंक्शन बनाएं.
      function generatePrompt(character: string) {
        const prefix = "Here's a character description: ";
        const suffix = "Introduce this character in the story.";
    
        if (character.trim() === '') {
          return 'Introduce a new character to the story.';
        } else {
          return `${prefix}${model.wrap(character)}\n${suffix}`;
        }
      }
  4. उदाहरण के तौर पर दिए गए जवाबों के साथ उपयोगकर्ता इंटरफ़ेस इनपुट को इकट्ठा करने और पूरा प्रॉम्प्ट बनाने के लिए, getPromptContext() फ़ंक्शन बनाएं.
      function getPromptContext() {
        const examples = context.getExampleData(
          OperationType.NEW_CHARACTER
        );
        let promptContext = model.getPromptPreamble();
        examples.forEach((example) => {
          const { character, target } = example;
          const prompt = generatePrompt(character);
          promptContext += `${prompt} ${model.wrap(target)}\n\n`;
        });
        return promptContext;
      }

नए वर्ण प्रॉम्प्ट हैंडलर को इंटिग्रेट करने के लिए:

  1. wordcraft/app/models/gemini/index.ts फ़ाइल में, नए वर्ण के ऑपरेशन के लिए प्रॉम्प्ट हैंडलर इंपोर्ट करें.
    import {makePromptHandler as newCharacter} from './prompts/new_character';
  2. newCharacter प्रॉम्प्ट हैंडलर के लिए, ओवरराइड की परिभाषा जोड़ें.
      override newCharacter = this.makePromptHandler(newCharacter);

मॉडल की परिभाषा के साथ प्रॉम्प्ट पैरामीटर रजिस्टर करने के लिए:

  1. wordcraft/app/models/model.ts फ़ाइल में, नए NewCharacterPromptParams इंटरफ़ेस के लिए इंपोर्ट जोड़ें.
    import {
      ...
      NewCharacterPromptParams,
      ...
    } from '@core/shared/interfaces';
  2. मॉडल क्लास में newCharacter प्रॉम्प्ट पैरामीटर जोड़ें.
      async newCharacter(params: NewCharacterPromptParams): Promise<ModelResults> {
        throw new Error('Not yet implemented');
      }

लिखने के नए कंट्रोल की जांच करना

आपका नया कंट्रोल, Wordcraft इंटरफ़ेस में टेस्ट करने के लिए तैयार हो जाना चाहिए. आगे बढ़ने से पहले, कोड को कंपाइल करने से जुड़ी गड़बड़ियों की जांच करना न भूलें.

वर्ण के नए कंट्रोल की जांच करने के लिए:

  1. Wordcraft प्रोजेक्ट की रूट डायरेक्ट्री पर जाएं.`
    cd wordcraft/
    
  2. प्रोजेक्ट को डेवलपमेंट मोड में चलाएं:`
    npm run dev
    
  3. अपने वेब ब्राउज़र में, Wordcraft के यूज़र इंटरफ़ेस पर जाएं. पिछले निर्देश के आउटपुट में, वह खास पता दिखता है, जैसे:
    http://localhost:3000/
    
  4. Wordcraft ऐप्लिकेशन में, कोई नई कहानी बनाएं या कोई मौजूदा कहानी खोलें.
  5. कहानी में बदलाव करने वाले टूल में, कर्सर को कहानी के आखिर में ले जाएं. दाईं ओर मौजूद कंट्रोल टैब में, किरदार को पेश करें कंट्रोल दिखेगा.
  6. नए किरदार के बारे में बताएं फ़ील्ड में, नए किरदार के बारे में कम शब्दों में जानकारी लिखें. इसके बाद, नए किरदार के बारे में बताएं बटन को चुनें.

अन्य संसाधन

Wordcraft प्रोजेक्ट के बारे में ज़्यादा जानने के लिए, कोड का डेटाबेस देखें. इस ट्यूटोरियल में बताए गए बदलावों को, इस पुल अनुरोध में देखा जा सकता है.

प्रोडक्शन ऐप्लिकेशन

अगर आपको बड़ी ऑडियंस के लिए, Wordcraft का पसंद के मुताबिक बनाया गया वर्शन डिप्लॉय करना है, तो ध्यान रखें कि Google Gemini API के इस्तेमाल पर, अनुरोधों की दर को सीमित करने और इस्तेमाल से जुड़ी अन्य पाबंदियां लागू हो सकती हैं. अगर आपको Docs Agent जैसे Gemini API की मदद से, प्रोडक्शन ऐप्लिकेशन बनाना है, तो अपने ऐप्लिकेशन को ज़्यादा स्केलेबल और भरोसेमंद बनाने के लिए, Google Cloud Vertex AI की सेवाएं देखें.