การประยุกต์ใช้ Gemini API สร้าง AI Web Appication ด้วยภาษา Python

การประยุกต์ใช้ Gemini API สร้าง AI Web Appication ด้วยภาษา Python

สวัสดีค่ะเพื่อนๆ ชาวนักการตลาดและผู้ที่สนใจการนำ AI มาประยุกต์ใช้กับงานสร้างสรรค์ หรือการสร้างงานต่างๆ ทุกท่าน ในบทความนี้นิกจะพาทุกท่านไปทดลองใช้งานและสร้าง AI Web Application ด้วยความสามารถของ Gemini เพื่อตอบสนองสิ่งที่เราต้องการของลูกค้า หรือเราเองในการวิเคราะห์ข้อมูล สร้าง Prototype ง่ายๆ ด้วยภาษา Python

โดยในบทความนี้จะใช้เป็นภาษา Python อย่างง่าย ร่วมกับ Streamlit ในการรับข้อความ หรือคำสั่งจากเราไปประมวลผลบน Gemini และรับ Output นั้นกลับมาเพื่อนำมาแสดงผลบนหน้า Web Application ของเราค่ะ ซึ่งหลังจากได้ลองทำตัวอย่างตามในบทความนี้แล้ว นิกเชื่อว่าเพื่อนๆ น่าจะได้ไอเดีย และสามารถนำโครงสร้าง/ หลักการการเชื่อมต่อข้อมูลไปประยุกต์ใช้กับงานที่ต้องการได้อย่างแน่นอนค่ะ =>> ว่าแล้วก็มาเริ่มกันได้เลย (^∀^●)ノシ

การเตรียมโปรแกรมภาษา Python เพื่อใช้งาน Gemini

ซึ่งความเก๋ของ Website ที่เราจะมาลองทำกันวันนี้คือเราสามารถตั้ง URL เองได้ด้วยค่ะ และหลังจากที่เราสร้าง AI WebApp ของเราเสร็จเรียบร้อยแล้ว เราก็จะสามารถใช้งานผ่าน Browser ได้เลย แต่ Python version ที่เราจะใช้จะต้องเป็น version 3.9 ขึ้นไปเนื่องจากหากเราต้องการใช้ความสามารถของ Gemini API จะต้องใช้ version ต่ำกว่า 3.9 ไม่ได้ค่ะ =>

สำหรับเพื่อนๆ ที่ยังไม่มี Python version 3.9 ขึ้นไปให้เข้าไปที่ Link https://www.python.org หลังจากนั้นให้ไปที่ Download ค่ะ แล้วสามารถเลือกได้เลยว่าจะเป็น “Windows” หรือ “macIOS”

โดยตอนที่เพื่อนๆ Install Program Python สิ่งที่สำคัญคืออย่าลืมกด “Add Python 3.9 to PATH” ค่ะ ไม่เช่นนั้นตอนที่เราลง Libs ต่างๆ จะทำให้ไลบารีที่เราติดตั้งใหม่ไปติดตั้งที่ Path ที่ไม่ถูกต้องได้ค่ะ ในกรณีที่มี Path หลาย Path อยู่ในเครื่อง

หลังจากที่ติดตั้งโปรแกรมภาษา Python เรียบร้อยแล้วให้เพื่อนๆ เข้าไปตรวจสอบการติดตั้ง และเข้าไปติดตั้ง Library เพิ่มเติม โดยเข้าไปที่ window Command Prompt (cmd) ก็จะได้หน้าต่างตามภาพด้านล่างขึ้นมาค่ะ โดยสิ่งที่เราจะทำก็คือติดตั้ง Libs ให้กับ Python version ที่เราต้องการผ่านการเข้าไปติดตั้งใน Folder ที่มีไฟล์ pip อยู่ ผ่านการเปลี่ยน Directory ของ cmd ให้ชี้ไปที่ Folder ที่เราต้องการโดยให้พิมพ์คำสั่ง cd\ เพื่อมาที่ drive C:\>หลังจากนั้นให้ใช้คำสั่ง cd python39\Scrips เพื่อเข้าไป pip install ตัว Libs ที่เราจะใช้ดังคำสั่งด้านล่างนี้ค่ะ

  • pip install matplotlib (ใช้ประมวลผลกราฟต่างๆ)
  • pip install opencv-contrib.python (ใช้ประมวลผลภาพ)
  • pip install googletrans==4.0.0rc1 (ใช้เชื่อมต่อและดึงความสามารถของ Google Translate)
  • pip install google-generativeai (ใช้เชื่อมต่อกับ Gemini)
  • pipinstall streamlit (เป็นตัวสำคัญที่เราจะใช้สร้าง AI Web Application)

ซึ่งเมื่อเราติดตั้ง Library ข้างต้นเรียบร้อยแล้ว หมายความว่าเราเตรียมโปรแกรม Python ของเราเรียบร้อยแล้วนั่นเองค่ะ (โดยเราสามารถตรวจสอบว่าเราติดตั้ง Libs ครบถ้วนสมบูรณ์ตามที่เราต้องการไหมด้วยการพิมพ์คำสั่ง “pip list” ใน cmd เพื่อตรวจสอบค่ะ)

หลังจากนั้นให้เราเข้าไปที่ Shell Window ของ Python หรือ Python Shell เพื่อเปิด Edit Window ในการเขียนโปรแกรม และแสดงผลการ run ของโปรแกรมค่ะ

และในส่วนต่อไปที่เราจะมาเตรียมกันคือ Library Streamlit ที่เราจะมาใช้ในการสร้าง AI Web Application ที่จะมาใช้ความสามารถของ Gemini ด้วยโปรแกรมภาษา Python กันค่ะ โดยทุกท่านสามารถเข้ามาที่ Link: https://streamlit.io เพื่อเข้าไปที่หน้า Website ของ Streamlit ได้

โดยตัว streamlit สามารถช่วยให้พวกเราสามารถนำ Web Application ด้านต่างๆ เช่น งานเกี่ยวกับ Data Science, Market Analysis, Content Creators หรืออื่นๆ ขึ้นสู่ website ของเราได้อย่างรวดเร็ว และเราสามารถเข้าไปที่ Documentation ของ Streamlit เพื่อหาไอเดีย และแนวทางการต่อยอด เพื่อเพิ่มลูกเล่นต่างๆ ให้กับตัว Web Application ให้เราได้ค่ะ

การเปิดใช้งาน Gemini API

อย่างที่เราทราบกันดีว่า Gemini เป็น LLMs ของ Google ที่ต่อยอดจาก LamDA และ PaLM2 โดยในบทความนี้เราจะมาลองใช้ Gemini Pro ซึ่งสามารถรองรับการทำงานในฟังก์ชันที่หลากหลายได้ โดยเริ่มแรกให้ทุกท่านเข้าไปที่ https://aistudio.google.com/app/apikey หลังจากนั้นเราก็สามารถ “Sign in: Use your Google Account” หรือ Sign in ด้วย Google ได้เลย

หลังจากนั้นจะมี Pop-up ที่เป็น Legal Notice ขึ้นมา ให้เราทำการเลือก “I consent…. ” แล้วกด “Continue” เพื่อ Get API key แล้ว “Create APT Key” ต่อตามภาพด้านล่างได้เลยค่ะ

โดยต่อไปให้ทุกท่าน “Create API key in new project” ซึ่งหากมีการสร้าง API key ขึ้นมาแล้ว ก็จะมีตัว API keys ปรากฎขึ้นนมาตามภาพด้านล่างนี้ค่ะ ให้เรา Copy เอา Gemini API นี้ไปใช้งานต่อร่วมกับโปรแกรมภาษา Python ของเราได้เลย

*ในส่วนของการขอ API Keys นี้ ให้เพื่อนๆ ใช้เป็น Personal email นะคะ เพราะหากใช้เป็น email ของที่ทำงาน หรือหากเป็นน้องๆ นักศึกษา หากใช้เป็น email มหาวิทยาลัยจะทำให้ต้องมีการ Access อีกแบบค่ะ

การ Deploy ไฟล์ Gemini API Web App บน Cloud

ท้ายสุดหลังจากที่เราเตรียมองค์ประกอบทุกอย่างจนครบ ทั้งในส่วนของโปรแกรม Python และ Gemini API แล้ว ก็จะมาเข้าสู่ส่วนการ Deploy ตัวโปรแกรมของเราบน Cloud ค่ะ ซึ่งในส่วนนี้นิกจะใช้เป็น github ควบคู่กับ Streamlit ที่เรากล่าวถึงไปก่อนหน้า และทำการ pip install ไลบรารี่ นี้ไปตามที่ได้อธิบายไว้ข้างบนค่ะ ที่เราจะนำโค้ดของเราขึ้นไปฝากไว้ ซึ่งหลังจากที่เรานำไฟล์ไปฝากไว้ที่ github เราก็จะใช้เป็นตัว Streamlit cloud ในการ deploy งานค่ะ

โดยเริ่มแรกให้ทุกท่านเข้าไปที่ https://github.com/ เพื่อสมัครการใช้งาน และติดตั้งตัว “github desktop” เพื่ออัพโหลดไฟล์ขึ้นบน github ได้อย่างง่ายๆ (แต่ในส่วนนี้ หากเพื่อนๆ ท่านใดสามารถสร้าง repository บน github ได้เอง ก็สามารถทำได้ตามปกติเลยนะคะ) ซึ่งพอเข้ามาที่หน้า github แล้วก็จะเจอหน้าตาของ repository ที่เราสร้างไว้ตามภาพด้านล่างค่ะ (ทั้งนี้ในกรณีที่เพื่อนๆ มีการ deploy งานอยู่แล้ว ก็จะเจอ Repositories หลายตัวเหมือนของนิก ตามภาพด้านล่างค่ะ,, แต่ถ้าเป็นการสร้างใหม่ Repo จะยังโล่งอยู่นะคะ)

หลังจากนั้นให้เราทำการติดตั้ง github desktop โดยเข้าไปที่ Link: https://desktop.github.com แล้วเลือก “Download for Windows (64bit)” จะได้ไฟล์ “GitHubDesktopSetup-x64.exe” ก็ให้เราทำการ install program ได้ตามปกติเลยค่ะ

ซึ่งหลังจากที่ Install แล้วก็ให้เชื่อมต่อ GitHub Desktop กับ github ที่เรา Signin ไว้เมื่อซักครู่นี้บน Website ผ่านการ “Authorize desktop” ตามภาพด้านล่าง และให้เรา “Finish” ไปได้เลยค่ะ^^

หลังจากนั้นให้เรา “Create a New Repository” แล้วทำการ “Publish” ตามภาพด้านล่างได้เลยค่ะ

และท้ายสุดให้เรานำไฟล์ของเราที่เตรียมไว้ ไปใส่ไว้ที่ Folder ของ Respository ที่เราต้องการทำการ Publish ก็จะเป็นอันเสร็จเรียบร้อยค่ะ

โดยในส่วนของโปรแกรมที่เราต้องการทำการเชื่อมต่อ Gemini API ก็ให้เรานำเอา API Key ของ Google Gemini มาใส่ใน Code ตัวอย่างตามโค้ดด้านล่างนี้ (ซึ่งเป็นตัวอย่างของการใช้ Gemini ในการแปลภาษา) ค่ะ

import streamlit as st
import google.generativeai as genai
genai.configure(api_key=”ใส่ Gemini API”)
model = genai.GenerativeModel(“gemini-pro”)
st.title(“แปลภาษา”)
ch = st.selectbox(“เลือกภาษาปลายทาง”,(“ไทย”,”อังกฤษ”,”เกาหลี”,”ญี่ปุ่น”))
text_in = st.text_input(“ป้อนข้อความที่ต้องการแปล: “)
prompt = “แปลข้อความต่อไปนี้เป็นภาษา”+ ch + ” ” + text_in
st.text(prompt)
if st.button(“แปล”):
try:
response = model.generate_content(prompt)
st.text(response.text)
except:
st.text(“no response”)

เมื่อเรา Upload โปรแกรมด้วย github desktop เสร็จแล้ว ให้กลับเข้าไปที่ https://streamlit.io แล้ว Sing in แบบ “Continue with GitHub” แล้วเลือก “Authorize streamlit” ใน pop-up ที่ขึ้นมา กรอกข้อมูลให้เรียบร้อย แล้ว “Continue” แล้วเลือก New app

เลือก Repository ของ github ที่เราต้องการ Deploy และตั้งชื่อ URL แล้วกด “Deploy!” หลังจากนั้นข้อมูลของ Web Applicatonn ของเราก็จะปรากฎบน Your apps ตามภาพด้านล่างนี้ค่ะ

การประยุกต์ใช้ Gemini API สร้าง AI Web Appication ด้วยภาษา Python

หลังจากนั้นเราก็จะสามารถกด “Copy URL” เพื่อส่งให้ User ใช้งาน หรือเก็บไว้ใช้งานเองเป็นอันเสร็จเรียบร้อยค่ะ o(^▽^)o

สำหรับในบทความนี้เป็นตัวอย่างของการประยุกต์ใช้ Gemini API สร้างเป็นองค์ประกอบหนึ่งใน AI Web Appication ด้วยภาษา Python เพื่อให้ได้ Output ที่ต้องการจาก Gemini ร่วมกับ GitHub และ Library Streamlit ซึ่งเป้าหมายก็คืออยากให้เพื่อนๆ เห็นแนวทางถึงการใช้งาน Gemini ที่หลากหลายมากยิ่งขึ้นค่ะ เพราะนิกเชื่อว่าสำหรับนักการตลาดหลายๆ ท่าน หรือผู้ที่เกี่ยวข้องกับงานด้านการวิเคราะห์ข้อมูลอื่นๆ น่าจะคุณเคยกันอยู่แล้ว และคงจะดียิ่งขึ้นไปแน่นอนค่ะ หากเราไม่เพียงแต่ใช้งานผ่าน Browser ของ GoogleGemini เท่านั้น แต่สามารถสร้างสรรค์สิ่งที่ตอบสนองต่อความต้องการของ User ได้ด้วย หรืออย่างน้อยก็ทำให้ทราบว่าเราสามารถใช้งาน LLMs ผ่านบริบทของ Web Application ได้ด้วย <(^-^)>

Panaya Sudta

Hi, I am Nick,,,,Panaya Sudta (●'◡'●) Engineer during the daytime. Researcher at night. Reader in spare time. (❁´◡`❁) วิศวกร/นักวิจัย และเป็นน้องใหม่ของการตลาดวันละตอน ในการทำ Market research ค่ะ หวังเป็นอย่างยิ่งว่าจะได้แชร์มุมมองกันนะคะ

Leave a Reply

Your email address will not be published. Required fields are marked *