App下載

一文教會你!用豆包MarsCode開發(fā)「評論情感分析機器人」

來源: 豆包MarsCode 2024-12-23 15:43:00 瀏覽數 (32)
反饋

“您好,想問問你們賣的這商品是什么啊?”
“您好親親,我們賣的是最新款手機殼!”
“不是,我是想問你們賣的這都是什么啊???這么難看?!?/code>

本文!重磅!教大家不花一分錢學會用豆包MarsCode 搭建「商品評論情感分析機器人」!快速了解消費者對商品的真實看法和情感傾向。

Node.js 推出,JavaScript 躍升為一門全棧開發(fā)語言。開發(fā)者可以用同一種語言構建完整的 Web 應用,從后端服務到用戶界面,甚至最新的 AI 應用,JavaScript 都能勝任。今天就讓我們一起學習基于 JavaScript 開發(fā)的「商品評論情感分析機器人」!

工欲善其事 必先利其器

擁有一個熟悉的開發(fā)環(huán)境至關重要。于我個人而言,平日里最為青睞的當屬 VSCode 這款輕量級代碼編輯器,它頁面簡潔,安裝過程便捷,能夠同時兼容 Windows 和 Mac 系統(tǒng)。并且在 VSCode 中存有眾多實用插件可供安裝,比如豆包MarsCode(官方下載地址:https://www.marscode.cn/?utm_source=advertising&utm_medium=w3cschool.cn_ug_cpa&utm_term=hw_marscode_bcs&utm_content=home )。 豆包MarsCode安裝教程:http://o2fo.com/marscode/marscode-quickstart.html

豆包MarsCode下載地址

豆包MarsCode 具備智能代碼生成功能,能猜測到我想要寫的代碼并主動提示,還能根據我的需求生成代碼,幫我剖析 bug 產生的原因,讓工作效率翻倍。

對于不想配置環(huán)境的小伙伴們,還可以使用免費的豆包MarsCode IDE,開箱即用的 Node.js 環(huán)境很適合新手小白。

豆包MarsCode IDE界面

申請免費的豆包 API

基于大模型的應用必然需要訪問大模型的 API 服務,雖然當前 OpenAI 的 API 越來越難以獲取,但令人驚喜的是,國內各大廠的模型能力已逐步提升至相對成熟的水平,而且還均擁有免費的使用額度!比如豆包大模型,每個規(guī)格的模型都有 50 萬免費 tokens 的額度,接口使用方式也與 OpenAI 完全相同! 在火山方舟中注冊賬號,創(chuàng)建 API Key 并將想用的模型部署為在線服務,平臺就可以直接為我們提供模型的調用代碼。

火山方舟免費調用額度 免費調用額度

火山方舟添加API Key 添加API Key

火山方舟將模型部署為推理服務

配置本地環(huán)境

火山方舟平臺為我們提供了模型調用代碼,但想跑起來這段代碼還需要先在本地配置好 Node.js 環(huán)境。

我們可以在豆包MarsCode 中直接詢問 AI 助手:“ Mac 電腦如何安裝 Node.js 環(huán)境”,按照 AI 助手給我們的指示選擇一種方式安裝,在終端中執(zhí)行 node -vnpm -v,如果能夠正常輸出版本號,則說明我們成功安裝了 Node.js。

根據火山方舟上的指引,我們還需要手動安裝 OpenAI 軟件包,在終端中執(zhí)行 npm install openai 之后就完成了本地環(huán)境的配置。

安裝OpenAI

在本地跑通模型調用代碼

選擇一個適合的本地路徑執(zhí)行 npm init 即可交互式地進行項目初始化,命令行會提示我們輸入一些關于項目的元數據信息,如項目名稱、版本、描述等。我們可以根據需要填寫這些信息,或直接按「回車鍵」接受默認值。

詢問豆包MarsCode AI 助手可以了解更多初始化項目的詳細步驟。

豆包MarsCode ai編程助手

將火山方舟平臺提供的代碼復制到本地開發(fā)環(huán)境內,我們可以在豆包MarsCode 中針對不理解的代碼向 AI 助手進行提問,例如示例代碼中的 apiKey 需要從環(huán)境變量中獲取,我們可以詢問跟 JS 語法相關的知識,也可以詢問在不同操作系統(tǒng)中配置環(huán)境變量的方法。

MarsCode配置

按照指引,在環(huán)境變量中配置 ARK_API_KEY 之后,我們就可以嘗試執(zhí)行測試代碼。

竟然遇到報錯了!命令行中給了我們一些提示,在 package.json 中添加"type": "module" 。

MarsCode環(huán)境變量配置

我們可以向豆包MarsCode AI 助手詢問錯誤原因,它會給我們更具體的解決方案,我們也能根據 AI 助手的回復了解 JS 的執(zhí)行原理。

向豆包MarsCode AI 助手詢問錯誤原因

修改代碼之后再次執(zhí)行就能成功獲取豆包模型返回的結果了。

豆包模型返回的結果

開發(fā)情感分析相關代碼

要與豆包 API 對話,則需要在消息數組中提供一個或多個消息,示例代碼中涉及到了 systemuser 兩種角色,這時我們可以向 AI 助手詢問:“system 和 user 有什么區(qū)別”。

“system 和 user 有什么區(qū)別”

若想開發(fā)情感分析的應用,通過提示詞工程的方式即可實現,在 system prompt 中填寫如“你是一個用戶評論情感分析專家”的身份描述,在用戶提示中可以填寫少量的示例,這些示例能夠向人工智能展示您期望交互以何種方式展開,從而指導人工智能對類似的提示做出響應。

如果想把用戶輸入動態(tài)注入到 prompt 中則需要用到模板字符串,相關的語法知識也可以從跟 AI 的對話中獲得。

MarsCode 編程助手AI對話

具體的代碼如下所示:

let few_shot_prompt = `
      以下為幾個評論判斷實例,請依據示例對新輸入內容的情感態(tài)度進行判斷
      評論:我非常喜歡這個產品,它非常實用。
      情感:正面。
      評論:這個產品非常糟糕,我無法使用它。
      情感:負面。
    `;
let message = [
  {
    role: "system",
    content:
      "你是一個用戶評論情感分析專家,請根據用戶的評論判斷評論的情感是正面還是負面并直接輸出,不輸出其他內容。",
  },
  {
    role: "user",
    content: `${few_shot_prompt}\n 評論:${comment}\n 情感:\n`,
  },
];

使用上述代碼替換掉示例代碼中的 messages 就能夠進行用戶評論的情感判斷了,只要在代碼中把用戶評論賦值給 comment 就能對其情感狀態(tài)進行判斷。

需求當然不止這么簡單。我們希望能從命令行中獲得用戶的評論數據并傳給豆包。有了豆包MarsCode AI 之后,僅需 10 秒鐘就能完成代碼改造!如下圖所示,只要我能把需求準確的描述給 AI 助手,他就能很快地把代碼提供給我,直接執(zhí)行也沒有問題。

MarsCode AI MarsCode AI2

更進一步,倘若我們期望程序可以反復處理用戶輸入,而非僅調用一次便退出程序,同樣能將此需求告知 AI 助手,它會給出滿足需求的新代碼,從而最終打造出能夠多次處理產品評論情感態(tài)度的小應用。

AI 助手

AI助手2

完整代碼呈現

在豆包MarsCode 的幫助下,即便是從未涉足過 JavaScript 應用開發(fā)領域的新手,也可以開發(fā)出實用的 AI 工具。豆包MarsCode 的 AI 問答、錯誤修復以及代碼補全等功能,在開發(fā)過程中都能提供非常實用的幫助。完整的代碼如下:



import OpenAI from "openai";
import readline from "readline";


const openai = new OpenAI({
  apiKey: process.env.ARK_API_KEY,
  baseURL: "https://ark.cn-beijing.volces.com/api/v3",
});


async function main() {


  let few_shot_prompt = `
    以下為幾個評論判斷實例,請依據示例對新輸入內容的情感態(tài)度進行判斷
    評論:我非常喜歡這個產品,它非常實用。
    情感:正面。
    評論:這個產品非常糟糕,我無法使用它。
    情感:負面。
  `;


  const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
  });


  function askQuestion() {
    rl.question("請輸入你的評論(或輸入 '退出' 結束程序):", async (answer) => {
      if (answer.toLowerCase() === '退出') {
        rl.close();
        return;
      }


      let message = [
        {
          role: "system",
          content:
            "你是一個用戶評論情感分析專家,請根據用戶的評論判斷評論的情感是正面還是負面并直接輸出,不輸出其他內容。",
        },
        {
          role: "user",
          content: `${few_shot_prompt}\n 評論:${answer}\n 情感:\n`,
        },
      ];


      try {
        const completion = await openai.chat.completions.create({
          messages: message,
          model: "ep-20240809163655-bp86r",
        });


        console.log(completion.choices[0]?.message?.content);
      } catch (error) {
        console.error("發(fā)生錯誤:", error);
      }


      // 繼續(xù)詢問
      askQuestion();
    });
  }


  askQuestion();
}


main();

無需一分錢開發(fā)評論情感分析機器人,感興趣的大家點擊「豆包MarsCode」即可跳轉豆包MarsCode 嘗試開發(fā)哦!

1 人點贊