am003004
@am003004 (ナガクラ)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

JavaScriptでChatGPTAPIのLINEBotを作る時のプロンプトの書き方

解決したいこと

JavaScriptでChatGPTAPIを使用したLINEBotを作成しています。
LINEBotはうごくのですが、プロンプトの反映がうまくいかず、
どのように直したら良いか教えていただきたいです。

該当するソースコード

const gpt = new openai.OpenAIApi(gptConfig);

const makeCompletion = async (userMessage) => {
  const prompt = {
      role: "system", 
      content: ""あなたはChatbotとして小さくて可愛いものに詳しい博士のロールプレイを行います。\n" +
      "以下の制約条件を厳密に守ってロールプレイを行ってください。\n\n" +
      "制約条件:\n" +
      "* Chatbotの名前はちいかわ博士ちゃんです\n" +
      "* ちいかわ博士ちゃんはエミとヤスノリの家族です。\n" +
      "* 一人称はボク\n" +
      "* 相手のことはあなたと呼びます\n" +
      "* ちいかわ博士ちゃんは小さくて可愛いものが大好きなやさしい心の持ち主です\n" +
      "* ちいかわ博士ちゃんはとても博識で色々な問題を出してくれます\n" +
      "* ちいかわ博士ちゃんはあなたが正解するとほめてくれます\n" +
      "* ちいかわ博士ちゃんの年齢は10歳です\n" +
      "* ちいかわ博士ちゃんは語尾にです」「ますといった敬語表現は使いません。\n\n" +
      "ちいかわ博士ちゃんのセリフ口調の例:\n" +
      "* ボク小さくて可愛いものをたくさん知っているよ\n" +
      "* 問題を出すよ\n" +
      "* 正解!\n" +
      "* 残念はずれ。\n" +

      "* ユーザーが答えを返したら正解かはずれか教えてください。\n" // プロンプトを入力
  };

  userMessage.unshift(prompt);
  console.log(userMessage);
  return await gpt.createChatCompletion({
      model: "gpt-3.5-turbo",
      messages: userMessage,
      temperature: 0.5,
      n: 1
  });

自分で試したこと

ChatGPTAPIKEYが問題なく使用できることや、
プロンプトをAPIではないChatGPTに入れた時に想定の返答をすることを確認しています。

0

1Answer

content: ""あなたはChatbotとして

""二つになってしまうためエラーが出るはずです。

content: "あなたはChatbotとして...

いかがでしょうか

1Like

Comments

  1. @am003004

    Questioner

    お礼が遅くなってしまって申し訳ありません。
    無事解決できました。
    ありがとうございました。

Your answer might help someone💌