ซึ่งเมื่อเรามี API Key ของเราแล้ว ก็จะสามารถใช้คีย์นี้เพื่อยืนยันคำขอของเราไปยัง OpenAI API และร่วมกับ GoogleSheets ด้วยการเพิ่ม API Key ลงในโค้ดของ Apps Script ของเรา และเลือกใช้ฟังก์ชันที่เหมาะสมเพื่อส่งคำขอไปยัง API
และตอนนี้ทุกท่านก็ถือว่าเตรียม environment พร้อมแล้วสำหรับการใช้ Generative AI เป็นผู้ช่วยในการสรุปเนื้อหาที่เราต้องการอ่านลงใน Google Spreadsheet แบบอัตโนมัติ ==>> ถ้าอย่างนั้น มาเริ่มขั้นตอนต่อไปกันได้เลยค่ะ
var API_key = “ใส่ API key ของแต่ละท่านลงไป” function BlogSummary(){ var Model_ID = “gpt-3.5-turbo-instruct”; var maxtokens = 200; var temperature = 0.7; var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName(“Sheet1”); var urls = sheet.getRange(“A2:A6”).getValues()
for(var i=0; i<urls.length;i++){ var url = urls[i][0] var payload = { ‘model’: Model_ID, ‘prompt’: ‘Please generate a 50 word summary for the following blog post:\n’+url, ‘temperature’: temperature, ‘max_tokens’:maxtokens, “presence_penalty”: 0.5, “frequency_penalty”: 0.5 }
Option variable (var options) ใช้เพื่อกำหนดพารามิเตอร์สำหรับคำขอ HTTP ที่จะส่งไปยัง Open AI API เราเริ่มต้นด้วยการประกาศ Method Parameters ที่จะโพสต์ซึ่งระบุว่าคำขอจะส่งข้อมูลไปยัง API โดยส่วนหัวจะระบุประเภทของข้อมูลที่จะส่งในคำขอ ซึ่งในกรณีนี้คือ “application/json” ซึ่งเป็นรูปแบบที่ใช้กันทั่วไปในการส่งข้อมูลที่มีโครงสร้างผ่านอินเทอร์เน็ต นอกจากนี้ ส่วนหัว “Authorization” ยังถูกตั้งค่าให้รวมคีย์ API ที่เราสร้างไว้ก่อนหน้านี้ด้วย
สุดท้าย พารามิเตอร์ “payload” จะถูกใช้เพื่อระบุว่าข้อมูลจะถูกส่งไปในคำขอ ในกรณีนี้ จะเป็นอ็อบเจ็กต์ JSON ที่มีรหัสโมเดล Prompt, Temperature และโทเค็นสูงสุดสำหรับคำขอ API
var response = UrlFetchApp.fetch(“https://api.openai.com/v1/completions”,options); var summary = JSON.parse(response.getContentText()); var final_summary = summary.choices[0].text.trim();
var doc = DocumentApp.create(“Summary of Blog Post #”+ (i+1)); var body = doc.getBody(); body.appendParagraph(final_summary);
var docUrl = doc.getUrl(); sheet.getRange(i+2,2).setValue(docUrl); } }
ซึ่งตัวเลือกเหล่านี้จะถูกส่งเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน “UrlFetchApp.fetch” ซึ่งส่งคำขอไปยังปลายทางของ Open AI และส่งคืนการตอบสนองที่มีข้อความที่สร้างโดย API
และในกรณีนี้ ปลายทางของ API คือ “https://api.openai.com/v1/completions” ซึ่งเป็นปลายทางสำหรับ ChatGPT API ที่จัดทำโดย OpenAI
Option Variable ที่เรากำหนดจะถูกส่งเป็นอาร์กิวเมนต์ไปยัง fetch function เพื่อจัดเตรียมพารามิเตอร์เพิ่มเติมสำหรับคำขอ จากนั้น fetch function จะส่งคำขอไปยังปลายทางของ API และรอการตอบสนองจากเซิร์ฟเวอร์ การตอบสนองจากเซิร์ฟเวอร์จะมีข้อความที่สร้างโดย AI ซึ่งจะถูกเก็บไว้ใน response variable
หมายความว่าตอนนี้เราได้ส่งคำขอไปยังปลายทาง Open AI และได้รับ response แล้ว ซึ่งเราจะวิเคราะห์การตอบกลับนี้ ฟังก์ชัน getContentText() ใช้ในการแยกเนื้อหาข้อความจากอ็อบเจ็กต์การตอบกลับ เนื่องจากการตอบสนองอยู่ในรูปแบบ JSON เราจึงใช้ฟังก์ชัน JSON.parse เพื่อแปลงสตริง JSON ให้เป็นอ็อบเจ็กต์
และเมื่อเรากลับไปที่ Google Sheet จะเห็นว่าสรุปของแต่ละ URL จะอยู่ในคอลัมน์ถัดไปตามภาพด้านล่างนี้ค่ะ^^
Last but not Least..
การใช้ Google Apps Script และ Open AI API ช่วยให้เราสามารถสร้างสรุปของเนื้อหาหรือบทความต่างๆ จาก URL ที่เราต้องการได้ง่ายๆ ซึ่งกระบวนการเป็นไปโดยอัตโนมัติตั้งแต่ดึงสรุปของเนื้อหาแต่ละเนื้อหาจาก Google Sheet แล้ววางกลับลงใน Google Sheet ซึ่งนิกหวังเป็นอย่างยิ่งว่าสิ่งนี้จะช่วยประหยัดเวลาและเพิ่มประสิทธิภาพในการสร้างเนื้อหา ทำให้เราสามารถวิเคราะห์ข้อมูลลูกค้า หรือสร้างเนื้อหาที่น่าสนใจเพื่อการประชาสัมพันธ์ และให้ความรู้กับลูกค้าได้อย่างสะดวกและรวดเร็วยิ่งขึ้นค่ะ
Hi, I am Nick,,,,Panaya Sudta (●'◡'●)
Engineer during the daytime. Researcher at night. Reader in spare time. (❁´◡`❁) วิศวกร/นักวิจัย/ Market research ค่ะ หวังเป็นอย่างยิ่งว่าจะได้แชร์มุมมองกันนะคะ