Google Cloud & AI Insights by Digigen

วิธีผสานรวม Gemini และ Sheets กับ BigQuery

เขียนโดย Danai Boonsri - 10 มิ.ย. 2024, 13:41:43

ดื่มด่ำกับโลกของ Google Sheets อย่างเต็มที่ บางคนอาจบอกว่าฉันใช้เวลาอยู่ที่นั่นมากเกินไป ด้วย Gemini ที่พร้อมใช้งานสำหรับงานต่างๆ การผสานรวมเข้ากับเวิร์กโฟลว์ของ Sheets อย่างราบรื่นจึงเป็นเรื่องที่สมเหตุสมผล

การเพิ่มประสิทธิภาพการทำงานของฉันใน Sheets ผ่านฟีเจอร์ต่างๆ เช่น การสรุปข้อมูลและการสร้างสูตรเป็นเรื่องง่ายดายด้วย Gemini ซึ่งตอนนี้สามารถเข้าถึงได้ใน Gmail, Docs, Sheets และอื่นๆ ด้วย Google AI One แผนพรีเมียม

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

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

วิธีการตรง

ค้นพบกระบวนการที่ราบรื่นในการเรียกใช้งาน Gemini API จากภายใน Google Sheets โดยใช้ฟังก์ชัน urlFetchApp ที่ทรงพลังใน Google Workspace คุณสามารถทำการร้องขอ HTTP ดึงเนื้อหาเว็บ และปรับแต่งส่วนหัว, timeouts, การเปลี่ยนเส้นทาง และการตั้งค่าการยืนยันตัวตนให้เหมาะกับความต้องการของคุณได้อย่างง่ายดาย

โดยการใช้ urlFetchApp เราสามารถเรียกใช้ generateContent REST API โดยส่งผ่าน model และ endpoint ดังนี้:

POST https://{service-endpoint}/v1/{model}:generateContent

ทุกขั้นตอนที่จำเป็นมีอยู่ในฟังก์ชันที่กำหนดเองของ Google Sheets นี้ หลังจากที่คุณตั้งค่าบัญชีบริการและกำหนดค่า Apps Scripts properties แล้ว คุณจะมีฟังก์ชันที่กำหนดเองซึ่งมีสองอินพุต คือ ช่วงของเซลล์ที่จะรวมใน prompt และ prompt เอง

 =gemini(A1:A10,"Extract colors from the product description")

ฟังก์ชันนี้จะฝังพารามิเตอร์เหล่านี้ลงใน prompt:

function gemini(range,prompt) {
  prompt = `For the table of data: ${range}, Answer the following: ${prompt}. Do not use formatting. Remove all markdown.`
  return getAiSummary(prompt);
}

ฟังก์ชันช่วยเหลือที่เรียกใช้โดยฟังก์ชันนี้จัดการการยืนยันตัวตนและการทำคำขอ HTTP

หากคุณต้องการดูสิ่งนี้ในการทำงาน ลองดูเซสชัน Google Cloud Next 2024, Apps Script และ Gemini: สร้างโซลูชัน Google Workspace ที่ใช้ AI กำหนดเอง นอกจากนี้ยังมีเวอร์ชัน AI Studio ของสคริปต์นี้ให้ใช้งานด้วย

การผสานรวมผ่าน BigQuery

ตอนนี้ มาดูวิธีที่ BigQuery สามารถทำหน้าที่เป็นสะพานเชื่อมระหว่าง Apps Script และ Gemini มอบโซลูชันที่แข็งแกร่งสำหรับการจัดการชุดข้อมูลขนาดใหญ่หรือสำหรับผู้ใช้ที่ใช้ BigQuery และ Sheets อยู่แล้ว

บริการ Google Cloud BigQuery Apps Script ช่วยให้ผู้ใช้สามารถใช้เครื่องมือและฟังก์ชันของ BigQuery ทำให้การเรียกใช้คำสั่ง query ภายใน Sheets เป็นเรื่องง่าย

ด้วยบริการนี้ BigQuery สามารถจัดการคำขอในคอลัมน์ข้อมูลทั้งหมดได้อย่างง่ายดาย และส่งข้อมูลเหล่านั้นโดยตรงไปยังโมเดล Gemini Pro ภายใน Vertex AI สิ่งที่ต้องทำใน BigQuery คือการสร้างจุดเชื่อมต่อโมเดลและระบุโมเดลที่ต้องการใช้

การมองเห็นเวิร์กโฟลว์ กระบวนการนี้เกิดขึ้นอย่างราบรื่น เพื่อให้แน่ใจว่าการไหลของข้อมูลเป็นไปอย่างต่อเนื่องและการใช้โมเดล AI เป็นไปอย่างมีประสิทธิภาพ

ภาพรวมของกระบวนการ

มาดูวิธีการผสานรวมใหม่โดยการเชื่อมโยงรายการเมนูกับฟังก์ชัน Apps Script แทนการใช้ฟังก์ชันที่กำหนดเอง คุณยังคงสามารถสร้างฟังก์ชันได้ตามที่แสดงก่อนหน้านี้ แต่คราวนี้เราจะลองวิธีที่แตกต่างออกไป

ขั้นแรก เราจะดูข้อมูลอินพุตดิบ สำหรับตัวอย่างนี้ เราต้องการดึงสีจากคำอธิบายผลิตภัณฑ์

คำอธิบาย (C2):

WHITE HANGING HEART T-LIGHT HOLDER

ต่อไป เราสร้างคอลัมน์ prompt ที่มีคำแนะนำซึ่งต่อเข้ากับข้อมูลอินพุต

ColorPrompt (I2):

"Extract the color(s) from the product description, all in capital letters... If there are multiple, return a valid comma-separated list of colors (without the word 'and'). Here is the product description: " & C2

นี่คือตัวอย่างการตอบสนองจาก prompt นี้ ซึ่งวางไว้ในเซลล์ที่อยู่ทางด้านขวาของเซลล์ prompt

สี (J2):

WHITE

เพื่อเรียกใช้สิ่งนี้ ให้เลือก "Query" จากเมนูโดยเลือกเซลล์ prompt

วิธีการทำงาน

เมนูถูกสร้างขึ้นในทริกเกอร์ onOpen() และแต่ละรายการในเมนูถูกเชื่อมโยงกับฟังก์ชันใน Apps Script ซึ่งเป็นแพลตฟอร์ม JavaScript ที่ใช้ระบบคลาวด์:

รายการเมนู    

ความสามารถ

Query

เรียกใช้งาน Gemini ด้วย prompt ที่เลือกไว้ และวางผลลัพธ์ในคอลัมน์ด้านขวา

Setup

สร้างวัตถุที่จำเป็นใน BigQuery เพื่อรันโซลูชัน: dataset, ตารางชั่วคราว และโมเดล

Configure > Temperature

ควบคุมระดับความสุ่มในการเลือกโทเค็น; 0 คือแบบกำหนดแน่นอน

Configure > Max Output Tokens

จำนวนโทเค็นสูงสุดที่สามารถสร้างในผลลัพธ์ โทเค็นอาจจะเล็กกว่าคำและมีขนาดประมาณสี่ตัวอักษร

หัวใจของโซลูชัน

ฟังก์ชัน ML.GENERATE_TEXT ของ BigQuery เป็นแกนหลักของโซลูชันของเรา โดยการใช้ประโยชน์จาก Apps Script ซึ่งเป็นแพลตฟอร์ม JavaScript ที่ใช้ระบบคลาวด์ เราสามารถเรียกใช้คำสั่ง SQL พร้อมกับ prompt และพารามิเตอร์การตั้งค่าของเราได้อย่างราบรื่น

const query = `SELECT * FROM ML.GENERATE_TEXT( MODEL \`${datasetId}.${modelId}\`, ` +
`(SELECT * FROM \`${projectId}.${datasetId}.${tableName}\`), ` +
`STRUCT(${getMaxOutputTokens()} AS max_output_tokens, ${getTemperature()} AS temperature));`
การจัดการการตอบสนองและการจัดเก็บข้อมูล
เนื่องจากการตอบสนองจะถูกส่งกลับมาในลำดับที่ไม่แน่นอน เราจึงจัดเก็บการตอบสนองในแผนที่เพื่อจับคู่กับ prompt ดั้งเดิม prompt เองจะถูกจัดเก็บในตารางชั่วคราว วิธีนี้ช่วยจัดการชุดข้อมูลขนาดใหญ่ที่เกินความยาวคำสั่ง query สูงสุด 1MB
การกำหนดค่า Setup

dataset, table, และ endpoint ถูกกำหนดค่าในฟังก์ชัน setup() นี่คือวิธีการกำหนดค่าโครงการของคุณ:

const query = `CREATE MODEL \`${projectId}.${datasetId}.${modelId}\`\n` +
`REMOTE WITH CONNECTION \`${projectId}.${location}.${connectionId}\`\n` +
`OPTIONS(ENDPOINT = "${modelName}")`

ลองด้วยตัวคุณเอง

ในการเริ่มต้น:

  1. เข้าถึงโค้ด Apps Script: คลิกที่นี่เพื่อเข้าถึงโค้ด
  2. สร้างชีทใหม่: ใช้ URL ช็อตคัท sheet.new
  3. เพิ่มสคริปต์: ไปที่ Extensions > Apps Script และเพิ่มโค้ดดังนี้:
  4. เปิดใช้งาน BigQuery API: เปิดใช้งาน BigQuery API ในโครงการ Google Cloud ของคุณ
  5. สร้างการเชื่อมต่อ BigQuery: สร้างการเชื่อมต่อไปยัง Vertex AI โดยใช้ ID การเชื่อมต่อ genai-connection

ทำตามขั้นตอนเหล่านี้เพื่อเริ่มต้นและลองใช้โซลูชันการผสานรวมนี้ด้วยตัวคุณเอง

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

เมื่อคุณเรียกใช้โค้ดเป็นครั้งแรก ให้อนุญาต Apps Script เพื่อเข้าถึงโครงการ Google Cloud ของคุณ คุณอาจต้องกำหนดค่าบัญชีบริการเพื่อเข้าถึง Vertex AI หากยังไม่ได้กำหนดค่า จะมีหน้าต่างโต้ตอบที่แนะนำ URL และที่อยู่อีเมลของบัญชีบริการที่จำเป็น

ขั้นตอนต่อไป

โดยการเรียกใช้งาน Gemini โดยตรงจาก Sheets คุณสามารถปลดล็อกงานใหม่ๆ และเพิ่มประสิทธิภาพได้ ปรับแต่งโค้ดการผสานรวมที่ให้มาเพื่อให้เหมาะกับเวิร์กโฟลว์ของคุณ:

  • เรียนรู้เพิ่มเติมเกี่ยวกับ Generative AI ใน BigQuery: ลองดู Bookshelf Analytics codelab

  • เริ่มต้นกับ Apps Script: สำรวจพื้นฐานของ Apps Script ในเพลย์ลิสต์

การผสานรวมโมเดล Gemini กับ Sheets ช่วยให้ผู้ใช้ได้รับข้อมูลเชิงลึกจาก AI มากขึ้น ประหยัดเวลาและความพยายามในงานที่กำหนดเอง ยินดีต้อนรับสู่อนาคตของการทำงานที่มีประสิทธิภาพโดยใช้ AI!