สร้างผู้ช่วยเขียนโดย AI ด้วย Wordcraft

เราชอบเรื่องราว การเล่าเรื่องและการเขียนเชิงสร้างสรรค์รูปแบบอื่นๆ อาจเป็นเรื่องที่ท้าทายและคุ้มค่า การสร้างเรื่องราวของคุณเองจากหน้าว่าง แต่ก็อาจดูน่าหวาดหวั่นและท่วมท้นในบางครั้ง โมเดล Generative AI (AI) เป็นเครื่องมือที่ยอดเยี่ยมที่จะช่วยให้คุณข้ามผ่านหน้าว่างไปและสร้างการเล่าเรื่องได้

บทแนะนำนี้จะแสดงวิธีขยายขอบเขตการใช้งาน Wordcraft ซึ่งเป็นเครื่องมือเขียนเรื่องราวที่ทำงานด้วยระบบ AI สร้างขึ้นโดยทีมวิจัยผู้คนและ AI ของ Google เว็บแอปพลิเคชันนี้ใช้ Gemini API เพื่อช่วยคุณสร้างเรื่องราวทีละน้อยด้วยการสร้างไอเดีย เขียนเรื่องราวบางส่วน และแก้ไขเนื้อหาเพื่อเพิ่มรายละเอียด คุณสามารถแก้ไข Wordcraft ให้ใกล้เคียงกับสไตล์การเขียนของคุณมากขึ้น และสร้างการควบคุมการเขียนใหม่ เพื่อรองรับเวิร์กโฟลว์ได้ดียิ่งขึ้น

ดูภาพรวมวิดีโอเกี่ยวกับโปรเจ็กต์และวิธีขยายโปรเจ็กต์ รวมถึงข้อมูลเชิงลึก จากผู้สร้างโปรเจ็กต์ได้ที่ผู้ช่วยการเขียนด้วย AI - สร้างด้วย AI ของ Google หรือคุณจะเริ่มขยายโปรเจ็กต์ได้โดยทำตามวิธีการด้านล่าง

ตั้งค่าโครงการ

วิธีการเหล่านี้จะแนะนำการตั้งค่าโปรเจ็กต์ Wordcraft เพื่อการพัฒนาและการทดสอบ คุณต้องติดตั้งซอฟต์แวร์ที่ต้องมี โคลนโปรเจ็กต์จากที่เก็บโค้ด เรียกใช้การติดตั้งการกำหนดค่า และตั้งค่าตัวแปรสภาพแวดล้อม 2-3 รายการ คุณจะทดสอบการตั้งค่าโดยเรียกใช้โปรเจ็กต์ได้หลังจากทำตามขั้นตอนเหล่านี้เสร็จแล้ว

ติดตั้งข้อกำหนดเบื้องต้น

โปรเจ็กต์ Wordcraft ใช้โหนดและ npm เพื่อจัดการแพ็กเกจและเรียกใช้แอปพลิเคชัน วิธีการติดตั้งต่อไปนี้มีไว้สำหรับเครื่องโฮสต์ Linux

วิธีติดตั้งซอฟต์แวร์ที่จำเป็น

โคลนและกำหนดค่าโปรเจ็กต์

ดาวน์โหลดโค้ดโปรเจ็กต์และใช้คำสั่งการติดตั้ง npm เพื่อดาวน์โหลดทรัพยากร Dependency ที่จำเป็นและกำหนดค่าโปรเจ็กต์ คุณต้องมีซอฟต์แวร์การควบคุมแหล่งที่มา git เพื่อดึงข้อมูลซอร์สโค้ดของโปรเจ็กต์
วิธีดาวน์โหลดและกำหนดค่ารหัสโปรเจ็กต์

  1. โคลนที่เก็บ Git โดยใช้คำสั่งต่อไปนี้
    git clone https://github.com/PAIR-code/wordcraft
    
  2. ไปที่ไดเรกทอรีรูทของโปรเจ็กต์ Wordcraft
    cd wordcraft/
    
  3. เรียกใช้คำสั่งติดตั้งเพื่อดาวน์โหลดทรัพยากร Dependency และกำหนดค่าโปรเจ็กต์:
    npm install
    

ตั้งค่าตัวแปรสภาพแวดล้อม

ตั้งค่าตัวแปรสภาพแวดล้อมที่จำเป็นเพื่ออนุญาตให้โปรเจ็กต์โค้ด Wordcraft ทำงาน โดยเฉพาะคีย์ Google Gemini API วิธีการติดตั้งต่อไปนี้มีไว้สำหรับเครื่องโฮสต์ Linux

วิธีตั้งค่าตัวแปรสภาพแวดล้อม

  1. รับคีย์ Google Gemini API และคัดลอกสตริงคีย์
  2. ไปที่ไดเรกทอรีรูทของโปรเจ็กต์ Wordcraft`
    cd wordcraft/
    
  3. ตั้งค่าคีย์ API เป็นตัวแปรสภาพแวดล้อม ในโฮสต์ 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 สร้างพรอมต์สำหรับโมเดล Generative AI โดยใช้ชุดตัวอย่างในการดำเนินการช่วยเหลือในการเขียนแต่ละครั้ง เช่น คำสั่งเริ่มเรื่องราวใหม่และสร้างข้อความ ตัวอย่างนี้จะเป็นแนวทางให้โมเดล Generative ในการสร้างข้อความสำหรับเรื่องราวของคุณ และการแก้ไขตัวอย่างการดำเนินการจะช่วยให้คุณเปลี่ยนผลลัพธ์ให้เป็นไปตามรูปแบบหรือรูปแบบการเขียนที่แตกต่างกันได้ วิธีนี้เป็นวิธีง่ายๆ ในการทำให้ Wordcraft เขียนในแบบที่คุณต้องการ

ตัวอย่างต่อไปนี้แสดงการแก้ไขตัวอย่าง new_story ใน WordPress เป้าหมายของการแก้ไขนี้คือให้โมเดล Generative AI ช่วยเขียนการเกริ่นนำของเรื่องราวโดยใช้แนวทางการพูดเดี่ยวภายใน และใช้รูปแบบที่เหมาะกับนวนิยายลึกลับมากกว่า การเขียนตัวอย่างเล็กๆ น้อยๆ ของการแนะนำเรื่องราวนี้จะทำให้คุณได้โมเดล Generative ตามรูปแบบทั่วไป แต่นำไปสร้างเกริ่นนำสำหรับธีมอื่นได้

วิธีแก้ไขตัวอย่างเรื่องราวใหม่ใน 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 ออกแบบมาให้ขยายได้ คุณจึงสามารถเพิ่มการควบคุมการเขียนใหม่ๆ เพื่อช่วยคุณ คล้ายกับปุ่มสร้างข้อความหรือเขียนประโยคใหม่ในแท็บ "การควบคุม" ทางด้านขวาของแอป ซึ่งการเปลี่ยนแปลงเหล่านี้ต้องใช้ความพยายามเพิ่มขึ้นเล็กน้อย แต่จะช่วยให้คุณปรับแต่งฟีเจอร์ของ WordPress ให้เหมาะกับเวิร์กโฟลว์และเป้าหมายได้

การแก้ไขตัวอย่างต่อไปนี้จะสร้างการควบคุมอักขระใหม่สำหรับ WordPress คุณสามารถใช้แต้มเพื่อแนะนำตัวละครใหม่ให้กับเรื่องราวพร้อมด้วยคำอธิบายคุณสมบัติของตัวละครนั้นๆ พื้นฐานของการควบคุมนี้เหมือนกับการควบคุม Wordcraft อื่นๆ เช่น การควบคุมเริ่มเรื่องราวใหม่ที่กล่าวถึงไปก่อนหน้านี้ คุณจะสร้างไฟล์ JSON ที่มีตัวอย่าง 2-3 ข้อว่าคุณต้องการให้แนะนำอักขระอย่างไร การเปลี่ยนแปลงที่เหลือจะเพิ่มอินเทอร์เฟซผู้ใช้และ ฟังก์ชันการจัดการข้อความแจ้งโดย AI

สร้างตัวอย่าง

เขียนตัวอย่างว่าต้องการให้โมเดล Generative แนะนำอักขระต่างๆ อย่างไร เช่น คุณต้องการอธิบายพวกเขาแบบผู้บรรยาย หรือต้องการแนะนำพวกเขาผ่านประสบการณ์ของตัวละครหลัก ตัวอย่างต่อไปนี้ใช้แนวทางหลังจะเป็นการแนะนำตัวละครใหม่ๆ จากมุมมองของตัวละครหลัก คุณเพิ่มตัวอย่างเหล่านี้ด้วยไฟล์ 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 อย่างน้อย 1 ค่า
    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 ให้แสดงค่าของพารามิเตอร์สคีมา โค้ดนี้จะจัดการกับการรับข้อความแจ้งจากอินเทอร์เฟซผู้ใช้เพื่อใช้ในพรอมต์ของ AI
      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
      ...
    );
    

สร้างการจัดการข้อความแจ้ง

ในขั้นตอนสุดท้ายของการสร้างการควบคุมใหม่ คุณจะสร้างโค้ดที่จัดการพรอมต์สำหรับโมเดล Generative AI และจัดการการตอบสนอง งานส่วนหลักของการทำงานนี้คือการสร้างตัวแฮนเดิลข้อความแจ้งในไดเรกทอรี wordcraft/app/models/gemini/prompts/ ที่รับข้อมูลจากอินเทอร์เฟซผู้ใช้และรวบรวมพรอมต์เพื่อส่งไปยังโมเดล Generative

วิธีกําหนดอินเทอร์เฟซสําหรับพารามิเตอร์พรอมต์

  • ในไฟล์ 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() เพื่อรับอินพุตอินเทอร์เฟซผู้ใช้สำหรับพรอมต์ของโมเดล AI
      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 อาจขึ้นอยู่กับการจำกัดอัตราและข้อจำกัดการใช้งานอื่นๆ หากคุณกำลังพิจารณาสร้างแอปพลิเคชันเวอร์ชันที่ใช้งานจริงด้วย Gemini API เช่น Agent เอกสาร โปรดดูบริการ Google Cloud Vertex AI เพื่อเพิ่มความสามารถในการปรับขนาดและความเสถียรของแอป