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

Function Calling คืออะไร?

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

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

เตรียมตัวก่อนเริ่มต้น

สิ่งที่ต้องมี

ติดตั้งโปรแกรมที่จำเป็น

ขั้นตอนที่ 1: ดาวน์โหลดและติดตั้ง Python จากเว็บไซต์ python.org โดยเลือกเวอร์ชันล่าสุดที่รองรับระบบปฏิบัติการของคุณ เมื่อติดตั้งเสร็จให้เปิด Command Prompt หรือ Terminal ขึ้นมา

ขั้นตอนที่ 2: พิมพ์คำสั่งด้านล่างเพื่อติดตั้งไลบรารีที่จำเป็น

pip install openai requests

กด Enter แล้วรอให้การติดตั้งเสร็จสมบูรณ์ จะขึ้นข้อความแสดงความสำเร็จสีเขียว

เริ่มเขียนโค้ดแบบ Step by Step

ขั้นตอนที่ 1: กำหนดค่าเริ่มต้น

สร้างไฟล์ใหม่ชื่อ function_calling.py แล้วเขียนโค้ดส่วนนี้ก่อน

from openai import OpenAI

สร้าง client เชื่อมต่อกับ HolySheep AI

client = OpenAI( api_key="YOUR_HOLYSHEEP_API_KEY", # แทนที่ด้วย API Key ของคุณ base_url="https://api.holysheep.ai/v1" )

สิ่งสำคัญ: base_url ต้องเป็น https://api.holysheep.ai/v1 เท่านั้น ห้ามใช้ URL อื่นเด็ดขาด เพราะจะทำให้เชื่อมต่อไม่ได้

ขั้นตอนที่ 2: กำหนดฟังก์ชันที่ต้องการให้ AI เรียกใช้

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

# กำหนดรายละเอียดของฟังก์ชันที่ให้ AI เรียกใช้
tools = [
    {
        "type": "function",
        "function": {
            "name": "calculate_area",
            "description": "คำนวณพื้นที่สี่เหลี่ยมผืนผ้า",
            "parameters": {
                "type": "object",
                "properties": {
                    "width": {
                        "type": "number",
                        "description": "ความกว้าง (เมตร)"
                    },
                    "height": {
                        "type": "number",
                        "description": "ความสูง (เมตร)"
                    }
                },
                "required": ["width", "height"]
            }
        }
    },
    {
        "type": "function",
        "function": {
            "name": "convert_temperature",
            "description": "แปลงอุณหภูมิระหว่าง Celsius และ Fahrenheit",
            "parameters": {
                "type": "object",
                "properties": {
                    "celsius": {
                        "type": "number",
                        "description": "อุณหภูมิเป็นองศาเซลเซียส"
                    }
                },
                "required": ["celsius"]
            }
        }
    }
]

ขั้นตอนที่ 3: สร้างฟังก์ชันที่ใช้งานจริง

ตอนนี้เราต้องสร้างฟังก์ชันจริงๆ ที่จะทำงานเมื่อ AI เรียกใช้

# ฟังก์ชันคำนวณพื้นที่สี่เหลี่ยมผืนผ้า
def calculate_area(width, height):
    area = width * height
    return f"พื้นที่สี่เหลี่ยมกว้าง {width} เมตร ยาว {height} เมตร เท่ากับ {area} ตารางเมตร"

ฟังก์ชันแปลงอุณหภูมิ

def convert_temperature(celsius): fahrenheit = (celsius * 9/5) + 32 return f"{celsius} องศาเซลเซียส เท่ากับ {fahrenheit} องศาฟาเรนไฮต์"

รวมฟังก์ชันทั้งหมดไว้ใน dictionary

available_functions = { "calculate_area": calculate_area, "convert_temperature": convert_temperature }

ขั้นตอนที่ 4: ส่งข้อความและรับผลลัพธ์

ต่อไปจะเป็นการส่งข้อความไปถาม AI แล้วดูว่า AI จะเรียกใช้ฟังก์