เขียนแอพให้ AI อธิบายรูปเป็นภาษาคน

ลองส่งรูปให้ AI สาธยายดูดิ๊ว่ามันเห็นอะไรในรูป ใช้ได้ทุกภาษา

ในรอบนี้เราจะลองเขียนโค้ดส่งรูปให้ AI แล้วให้มันบอกเราเป็นภาษาคนดูซิว่ามันเห็นอะไรในรูปบ้าง? ซึ่งการที่จะทำแบบนี้ได้ผมจะใช้ AI สำเร็จรูปของ Microsoft Azure ที่ชื่อว่า Cognitive Services ครับ

circle-check

😗 ทำความเข้าใจกันก่อน

ตัวอย่างนี้ผมจะใช้ภาษา C# ด้วย .NET Core ดังนั้นใครที่จะทำตามด้วยภาษา C# ให้ลง Visual Studio Code และ .NET Core SDK ในลิงค์ด้านล่างด้วยถ้ายังไม่มี ส่วนคนที่ใช้ภาษาอื่นๆก็สามารถทำตามได้เหมือนกัน เพราะขั้นตอนทั้งหมดเราเรียกใช้ REST API เพียงอย่างเดียวเลยครับ

🤔 เริ่มยังไงดี ?

ก่อนที่จะเริ่มเขียนโค้ดผมอยากเคลียให้เข้าใจตรงกันก่อน ว่าในตัวอย่างนี้เราจะต้องทำอะไรกันบ้างตามนี้เลย

  1. ขั้นตอนแรกเราต้องสร้าง Cognitive Services เสียก่อน เพื่อไปเอา Key กับ Endpoint มา เราถึงจะมีสิทธิ์ในการเรียกใช้ AI ต่อนั่นเอง

  2. สร้าง C# โปรเจคขึ้นมา แล้ว setup project ให้พร้อมทำงานกับ REST API และ Json

  3. ทำความรู้จักกับ API ที่เราจะเรียกใช้

  4. เขียนโค้ดส่งรูปให้ AI เอาไปวิเคราะห์แล้วเอาผลลัพท์มาแสดงผลก็เป็นอันจบ

🔥 (1-2) สร้าง Cognitive Services และ Project C#

ขั้นตอนที่ 1 กับ 2 เป็นพื้นฐานในการทำ AI ของคอร์สนี้เลย ผมเลยแยกออกไปอีกลิงค์นึง ไม่งั้นทุกบทความผมจะต้องมาคอยนั่ง copy วางตลอดเวลา เลยขอรวมขั้นตอนที่ 1 กับ 2 ไว้ในลิงค์ด้านล่างนี้ครับง

การสร้าง Cognitive Serviceschevron-right

🔥 (3) ทำความรู้จักกับ Analyze Image API กันก่อน

ในรอบนี้ตัว Cognitive Services API ที่เราจะทำการเรียกมีชื่อว่า Analyze Image ครับ ซึ่งเจ้า API ตัวนี้ดูรูปแล้วอธิบายออกมาว่ามีอะไรบ้างอยู่ในรูปแบบเป็นภาษาคนอ่านแล้วเข้าใจ โดยเจ้า API ตัวนี้มีหน้าตาแบบนี้ครับ

ดูรูปแล้วอธิบายออกมาเป็นภาษาคน

POST {endpoint}/vision/v2.1/analyze?visualFeatures=Description&language=en

ข้อจำกัดของ API 1.ไฟล์รุปจะต้องเป็น JPEG, PNG, GIF, BMP เท่านั้น 2.ขนาดไฟล์ต้องไม่เกิน 4MB 3.ขนาดรูปต้องใหญ่เกิน 50 x 50 px

Headers

Name
Type
Description

ocp-apim-subscription-key

string

Key ที่ได้จาก Cognitive Service

content-type

string

application/json

Request Body

Name
Type
Description

url

string

Url ของรูป

circle-info

ข้อแนะนำ สำหรับ API ตัวนี้จริงๆมันมี options ให้เลือกเล่นอีกเยอะเลย เช่นให้มันอธิบายมาเป็นภาษาอะไร รูปนี้เกี่ยวกับพวก adult content หรือเปล่า บลาๆ ซึ่งสามารถเข้าไปดูรายละเอียดทั้งหมดของเขาได้ที่ลิงค์นี้เลยครับ Microsoft Cognitive Services API - Analyze Imagearrow-up-right

🔥 (4) เขียนโค้ดส่งรูปให้ AI ดู

อะเช หลังจากที่เห็นตัวอย่าง API แล้ว ถัดไปเราก็จะเริ่มเขียนโค้ดเพื่อเรียกใช้ API ด้านบนกันเลย โดยผมจะใช้รูปนี้ส่งเข้าไป

ส่วนโค้ดที่ที่ใช้ก็จะเขียนภายใน method Main() ออกมาราวๆนี้

อธิบายโค้ด ในตัวอย่างผมก็จะทำการเรียก Cognitive Services API ออกไป แล้วพอได้รับผลลัพท์กลับมาก็ทำการแปลง Json ออกมาเป็นข้อความที่เขาส่งกลับมาแสดงผล

แล้วเราก็ลอง Run โปรแกรมโดยการกด CTRL + F5 หรือจะใช้คำสั่ง dotnet run ใน command prompt หรือ terminal ก็ได้ครับ แล้วเราก็จะเห็นผลลัพท์ตามนี้

แปลเป็นภาษาไทยง่ายได้ว่า

ฮัดช่าเสร็จเรียบร้อยแล้วครัช

circle-check

🤔 ยาวจังของโค้ดทั้งหมดหน่อย

พอดีเนื้อหาค่อนข้างยาวดังนั้นผมขอยก source code ให้ไปดาวโหลดมาลองเล่นเลยดีกว่าครับ

Source Code: Analyze an image

🎯 บทสรุป

ในการทำงานกับ AI จริงๆไม่ใช่เรื่องยากเลยหัวใจหลักของมันจริงๆก็คือการเรียกใช้ REST API ให้ถูกตัวเท่านั้น ดังนั้นไม่ว่าเราจะเขียนภาษาไหนก็ตาม เราก็สามารถเรียกใช้ Cognitive Services API เพื่อทำของประมาณนี้ได้เลย

circle-check
circle-check

Last updated

Was this helpful?