๋ชจ๋ธ ์—”๋“œํฌ์ธํŠธ ๊ด€๋ฆฌ๋กœ ์˜ˆ์ธก ํ˜ธ์ถœ

์ด ํŽ˜์ด์ง€์—์„œ๋Š” ๋ชจ๋ธ ์—”๋“œํฌ์ธํŠธ ๊ด€๋ฆฌ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ์—”๋“œํฌ์ธํŠธ ๊ด€๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด AI ๋ชจ๋ธ ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์˜ˆ์ธก์„ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹คํ—˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ AI ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Cloud SQL์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ˜• AI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋นŒ๋“œ ๋ฐ Cloud SQL ์ธ์Šคํ„ด์Šค์—์„œ ์˜จ๋ผ์ธ ์˜ˆ์ธก ํ˜ธ์ถœ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ชจ๋ธ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์ถ”๊ฐ€๋˜๊ณ  ๋ชจ๋ธ ์—”๋“œํฌ์ธํŠธ ๊ด€๋ฆฌ์— ๋“ฑ๋ก๋œ ํ›„์—๋Š” ๋ชจ๋ธ ID๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ด๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์˜ˆ์ธก์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

๋‹ค์Œ ์ž‘์—…์„ ์™„๋ฃŒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜ ๋ชจ๋ธ์˜ ์˜ˆ์ธก ํ˜ธ์ถœ

google_ml.predict_row() SQL ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋“ฑ๋ก๋œ ์ผ๋ฐ˜ ๋ชจ๋ธ ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์˜ˆ์ธก์„ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. google_ml.predict_row() ํ•จ์ˆ˜๋Š” ๋ชจ๋“  ๋ชจ๋ธ ์œ ํ˜•์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SELECT
  google_ml.predict_row(
    model_id => 'MODEL_ID',
    request_body => 'REQUEST_BODY');

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • MODEL_ID: ๋ชจ๋ธ ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋“ฑ๋กํ•  ๋•Œ ์ •์˜ํ•œ ๋ชจ๋ธ ID์ž…๋‹ˆ๋‹ค.
  • REQUEST_BODY: JSON ํ˜•์‹์˜ ์˜ˆ์ธก ํ•จ์ˆ˜์— ๋Œ€ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ์ž…๋‹ˆ๋‹ค.

์˜ˆ์‹œ

๋“ฑ๋ก๋œ gemini-pro ๋ชจ๋ธ ์—”๋“œํฌ์ธํŠธ์— ๋Œ€ํ•ด ์˜ˆ์ธก์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฌธ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    SELECT
        json_array_elements(
        google_ml.predict_row(
            model_id => 'gemini-pro',
            request_body => '{
        "contents": [
            {
                "role": "user",
                "parts": [
                    {
                        "text": "For TPCH database schema as mentioned here https://www.tpc.org/TPC_Documents_Current_Versions/pdf/TPC-H_v3.0.1.pdf , generate a SQL query to find all supplier names which are located in the India nation."
                    }
                ]
            }
        ]
        }'))-> 'candidates' -> 0 -> 'content' -> 'parts' -> 0 -> 'text';