הרשמה וקריאה למודלים של AI מרחוק ב-AlloyDB Omni

בוחרים גרסת תיעוד:

כדי להפעיל חיזויים או ליצור הטמעות באמצעות מודל, צריך לרשום את נקודת הקצה של המודל באמצעות ניהול נקודות הקצה של המודל.

לפני שרושמים נקודת קצה של מודל באמצעות הכלי לניהול נקודות קצה של מודלים, צריך להפעיל את התוסף google_ml_integration ולהגדיר אימות על סמך ספק המודל, אם נקודת הקצה של המודל דורשת אימות.

מוודאים שאתם ניגשים למסד הנתונים באמצעות שם המשתמש שמוגדר כברירת מחדל ב-postgres.

הפעלת התוסף

כדי להתחיל להשתמש בפונקציות שמשויכות לתוסף google_ml_integration, צריך להוסיף ולהפעיל אותו. כדי לנהל את נקודות הקצה של המודל, צריך להתקין את התוסף google_ml_integration.

  1. מוודאים שהדגל לניהול מסד הנתונים google_ml_integration.enable_model_support מוגדר לערך on במכונה. מידע נוסף על הגדרת דגלים של מסד נתונים זמין במאמר הגדרת דגלים של מסד נתונים.

  2. אופציונלי: אם התוסף google_ml_integration כבר מותקן, משנים אותו כדי לעדכן לגרסה העדכנית:

        ALTER EXTENSION google_ml_integration UPDATE;
    
  3. מוסיפים את התוסף google_ml_integration באמצעות psql:

      CREATE EXTENSION IF NOT EXISTS google_ml_integration;
    
  4. אופציונלי: נותנים למשתמש PostgreSQL שאינו סופר-משתמש הרשאה לנהל את המטא-נתונים של המודל:

      GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA google_ml TO NON_SUPER_USER;
    

    מחליפים את NON_SUPER_USER בשם המשתמש של מי שאינו משתמש-על ב-PostgreSQL.

  5. מפעילים את ניהול נקודות הקצה של המודל במסד הנתונים:

      ALTER SYSTEM SET google_ml_integration.enable_model_support=on;
      SELECT pg_reload_conf();
    
  6. מוודאים שהקישוריות היוצאת מופעלת.

מגדירים אימות

בקטעים הבאים מוסבר איך להגדיר אימות לפני שרושמים נקודת קצה של מודל.

הגדרת אימות ל-Vertex AI

כדי להשתמש בנקודות הקצה של מודל Google Vertex AI, צריך להוסיף הרשאות Vertex AI לחשבון השירות שבו השתמשתם במהלך ההתקנה של AlloyDB Omni. מידע נוסף זמין במאמר הגדרת ההתקנה של AlloyDB Omni לשליחת שאילתות למודלים מבוססי-ענן.

הגדרת אימות באמצעות Secret Manager

השלב הזה הוא אופציונלי אם נקודת הקצה של המודל לא מטפלת באימות דרך Secret Manager – לדוגמה, אם נקודת הקצה של המודל משתמשת בכותרות HTTP כדי להעביר פרטי אימות או לא משתמשת באימות בכלל.

כדי ליצור מפתח API או טוקן למוכ"ז ולהשתמש בהם, צריך לבצע את השלבים הבאים:

  1. יוצרים את הסוד ב-Secret Manager. מידע נוסף זמין במאמר בנושא יצירת סוד וגישה לגרסה של סוד.

    הנתיב של הסוד משמש בפונקציית ה-SQL‏ google_ml.create_sm_secret().

  2. נותנים לאשכול AlloyDB הרשאות גישה לסוד.

      gcloud secrets add-iam-policy-binding 'SECRET_NAME' \
          --member="serviceAccount:SERVICE_ACCOUNT_ID" \
          --role="roles/secretmanager.secretAccessor"
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫SECRET_NAME: שם הסוד ב-Secret Manager.
    • ‫SERVICE_ACCOUNT_ID: המזהה של חשבון השירות שיצרתם בשלב הקודם. חשוב לוודא שזה אותו חשבון שבו השתמשתם במהלך ההתקנה של AlloyDB Omni. כולל הסיומת המלאה PROJECT_ID.iam.gserviceaccount.com. לדוגמה: my-service@my-project.iam.gserviceaccount.com

      אפשר גם להקצות את התפקיד הזה לחשבון השירות ברמת הפרויקט. מידע נוסף זמין במאמר הוספת קשירת מדיניות של ניהול זהויות והרשאות גישה

הגדרת אימות באמצעות כותרות

בדוגמה הבאה מוסבר איך להגדיר אימות באמצעות פונקציה שמחזירה אובייקט JSON שמכיל את הכותרות שנדרשות כדי לשלוח בקשה למודל ההטמעה.

  CREATE OR REPLACE FUNCTION HEADER_GEN_FUNCTION(
    model_id VARCHAR(100),
    input_text TEXT
  )
  RETURNS JSON
  LANGUAGE plpgsql
  AS $$
  #variable_conflict use_variable
  DECLARE
    api_key VARCHAR(255) := 'API_KEY';
    header_json JSON;
  BEGIN
    header_json := json_build_object(
      'Content-Type', 'application/json',
      'Authorization', 'Bearer ' || api_key
    );
    RETURN header_json;
  END;
  $$;

מחליפים את מה שכתוב בשדות הבאים:

  • ‫HEADER_GEN_FUNCTION: השם של פונקציית יצירת הכותרת שאפשר להשתמש בה כשרושמים מודל.
  • ‫API_KEY: מפתח ה-API של ספק המודל.

מודלים להטמעת טקסט

בקטע הזה מוסבר איך לרשום נקודות קצה של מודלים באמצעות ניהול נקודות קצה של מודלים.

הכלי לניהול נקודות קצה של מודלים תומך בחלק מהמודלים של הטמעת טקסט ובמודלים גנריים של Vertex AI כנקודות קצה של מודלים שנרשמו מראש. אתם יכולים להשתמש ישירות במזהה המודל כדי ליצור הטמעות או להפעיל חיזויים, בהתאם לסוג המודל. מידע נוסף על מודלי AI נתמכים שרשומים מראש זמין במאמר מודלי AI של Vertex שרשומים מראש.

לדוגמה, כדי לקרוא למודל textembedding-gecko שרשום מראש, אפשר לקרוא ישירות למודל באמצעות פונקציית ההטמעה:

SELECT
      google_ml.embedding(
        model_id => 'textembedding-gecko',
        content => 'AlloyDB is a managed, cloud-hosted SQL database service');

באופן דומה, כדי להפעיל את המודל gemini-1.5-pro:generateContent שנרשם מראש, אפשר להפעיל את המודל ישירות באמצעות פונקציית החיזוי:

 SELECT
        json_array_elements(
        google_ml.predict_row(
            model_id => 'gemini-1.5-pro:generateContent',
            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';

כדי ליצור הטמעות, קראו את המאמר יצירת הטמעה לנקודות קצה של מודלים רשומים מראש. כדי להפעיל חיזויים, קראו את המאמר הפעלת חיזויים לנקודות קצה של מודלים שנרשמו מראש.

מודלים להטמעת טקסט עם תמיכה מובנית

ניהול נקודות הקצה של המודלים מספק תמיכה מובנית בחלק מהמודלים של Vertex AI ו-OpenAI. רשימת המודלים עם תמיכה מובנית זמינה כאן.

במודלים עם תמיכה מובנית, אפשר להגדיר את השם המלא כשם המלא של המודל ולציין את כתובת ה-URL של הבקשה. הכלי לניהול נקודות קצה של מודלים מזהה באופן אוטומטי את המודל ומגדיר פונקציות טרנספורמציה כברירת מחדל.

מודלים של הטמעה ב-Vertex AI

כך רושמים מודלים של Vertex AI עם תמיכה מובנית: נקודת הקצה של המודל text-embedding-005 ו-text-multilingual-embedding-002 משמשת כדוגמה.

ב-AlloyDB Omni, חשוב לוודא שהגדרתם את AlloyDB Omni לשליחת שאילתות למודלים של Vertex AI שמבוססים על הענן.

  1. יוצרים ומפעילים את התוסף google_ml_integration.

  2. מתחברים למסד הנתונים באמצעות psql.

  3. מפעילים את הפונקציה ליצירת מודל כדי להוסיף את נקודת הקצה של המודל:

    text-embedding-005

      CALL
        google_ml.create_model(
          model_id => 'text-embedding-005',
          model_request_url => 'publishers/google/models/text-embedding-005',
          model_provider => 'google',
          model_qualified_name => 'text-embedding-005',
          model_type => 'text_embedding',
          model_auth_type => 'alloydb_service_agent_iam');
    

    text-multilingual-embedding-002

      CALL
        google_ml.create_model(
          model_id => 'text-multilingual-embedding-002',
          model_request_url => 'publishers/google/models/text-multilingual-embedding-002',
          model_provider => 'google',
          model_qualified_name => 'text-multilingual-embedding-002',
          model_type => 'text_embedding',
          model_auth_type => 'alloydb_service_agent_iam'
          model_in_transform_fn => 'google_ml.vertexai_text_embedding_input_transform',
          model_out_transform_fn => 'google_ml.vertexai_text_embedding_output_transform');
    

כתובת ה-URL של הבקשה שהפונקציה יוצרת מתייחסת לפרויקט שמשויך לחשבון השירות של AlloyDB Omni. אם רוצים להתייחס לפרויקט אחר, צריך לציין את model_request_url באופן מפורש.

אם המודל מאוחסן בפרויקט ובאזור שונים מאלה של אשכול AlloyDB, צריך להגדיר את כתובת ה-URL של הבקשה ל-projects/PROJECT_ID/locations/REGION_ID/publishers/google/models/MODEL_ID, כאשר REGION_ID הוא האזור שבו המודל מתארח ו-MODEL_ID הוא השם המלא של המודל.

בנוסף, צריך להעניק את התפקיד Vertex AI User (roles/aiplatform.user) לחשבון השירות של הפרויקט שבו מותקן AlloyDB Omni, כדי לאפשר גישה למודל שמארח בפרויקט השני.

מודל הטמעת טקסט של OpenAI

התוסף google_ml_integration מגדיר באופן אוטומטי פונקציות טרנספורמציה כברירת מחדל ומפעיל קריאות למודלים המרוחקים של OpenAI. כאן מפורטים המודלים של OpenAI עם תמיכה מובנית.

בדוגמה הבאה מוסיפים את נקודת הקצה של מודל OpenAI‏ text-embedding-ada-002. כדי לרשום את נקודות הקצה של המודלים text-embedding-3-small ו-text-embedding-3-large של OpenAI, פועלים לפי אותם שלבים ומגדירים את השמות המלאים הספציפיים של המודלים.

  1. מתחברים למסד הנתונים באמצעות psql.
  2. יוצרים ומפעילים את התוסף google_ml_integration.
  3. מוסיפים את מפתח ה-API של OpenAI כסוד ל-Secret Manager לצורך אימות.
  4. קוראים לסוד ששמור ב-Secret Manager:

    CALL
    google_ml.create_sm_secret(
      secret_id => 'SECRET_ID',
      secret_path => 'projects/PROJECT_ID/secrets/SECRET_MANAGER_SECRET_ID/versions/VERSION_NUMBER');
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫SECRET_ID: מזהה הסוד שהגדרתם ומשמש בהמשך לרישום נקודת קצה של מודל, לדוגמה key1.
    • ‫SECRET_MANAGER_SECRET_ID: מזהה הסוד שהוגדר ב-Secret Manager כשיצרתם את הסוד.
    • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • ‫VERSION_NUMBER: מספר הגרסה של מזהה הסוד.
  5. מפעילים את הפונקציה ליצירת מודל כדי לרשום את נקודת הקצה של המודל text-embedding-ada-002:

    CALL
      google_ml.create_model(
        model_id => 'MODEL_ID',
        model_provider => 'open_ai',
        model_type => 'text_embedding',
        model_qualified_name => 'text-embedding-ada-002',
        model_auth_type => 'secret_manager',
        model_auth_id => 'SECRET_ID');
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫MODEL_ID: מזהה ייחודי של נקודת הקצה של המודל שאתם מגדירים. מזהה המודל הזה משמש להפניה למטא-נתונים שנקודת הקצה של המודל צריכה כדי ליצור הטמעות או להפעיל תחזיות.
    • ‫SECRET_ID: מזהה הסוד שבו השתמשתם קודם בתהליך google_ml.create_sm_secret().

כדי ליצור הטמעות, קראו את המאמר יצירת הטמעות לנקודות קצה של מודלים עם תמיכה מובנית.

מודל הטמעת טקסט באירוח מותאם אישית

בקטע הזה מוסבר איך לרשום נקודת קצה של מודל באירוח בצד הלקוח, וגם איך ליצור פונקציות טרנספורמציה וכותרות HTTP מותאמות אישית (אופציונלי). כל נקודות הקצה של מודלים באירוח בצד הלקוח נתמכות, ללא קשר למיקום האירוח שלהן.

בדוגמה הבאה מוסיפים את נקודת הקצה של המודל בהתאמה אישית custom-embedding-model, שמתארחת ב-Cymbal. הפונקציות cymbal_text_input_transform ו-cymbal_text_output_transform משמשות לשינוי פורמט הקלט והפלט של המודל לפורמט הקלט והפלט של פונקציית החיזוי.

כדי לרשום נקודות קצה של מודלים להטמעת טקסט באירוח בצד הלקוח, השלם את השלבים הבאים:

  1. מתחברים למסד הנתונים באמצעות psql.

  2. יוצרים ומפעילים את התוסף google_ml_integration.

  3. אופציונלי: מוסיפים את מפתח ה-API כסוד ל-Secret Manager לצורך אימות.

  4. קוראים לסוד ששמור ב-Secret Manager:

    CALL
      google_ml.create_sm_secret(
        secret_id => 'SECRET_ID',
        secret_path => 'projects/project-id/secrets/SECRET_MANAGER_SECRET_ID/versions/VERSION_NUMBER');
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫SECRET_ID: מזהה הסוד שהגדרתם ומשמש בהמשך לרישום נקודת קצה של מודל, לדוגמה key1.
    • ‫SECRET_MANAGER_SECRET_ID: מזהה הסוד שהוגדר ב-Secret Manager כשיצרתם את הסוד.
    • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • ‫VERSION_NUMBER: מספר הגרסה של מזהה הסוד.
  5. יוצרים את פונקציות הטרנספורמציה של הקלט והפלט על סמך החתימה הבאה של פונקציית החיזוי לנקודות קצה של מודל הטמעת טקסט. למידע נוסף על יצירת פונקציות טרנספורמציה, ראו דוגמה לפונקציות טרנספורמציה.

    אלה דוגמאות לפונקציות טרנספורמציה שספציפיות לנקודת הקצה של מודל הטמעת הטקסט custom-embedding-model:

    -- Input Transform Function corresponding to the custom model endpoint
    CREATE OR REPLACE FUNCTION cymbal_text_input_transform(model_id VARCHAR(100), input_text TEXT)
    RETURNS JSON
    LANGUAGE plpgsql
    AS $$
    DECLARE
      transformed_input JSON;
      model_qualified_name TEXT;
    BEGIN
      SELECT json_build_object('prompt', json_build_array(input_text))::JSON INTO transformed_input;
      RETURN transformed_input;
    END;
    $$;
    -- Output Transform Function corresponding to the custom model endpoint
    CREATE OR REPLACE FUNCTION cymbal_text_output_transform(model_id VARCHAR(100), response_json JSON)
    RETURNS REAL[]
    LANGUAGE plpgsql
    AS $$
    DECLARE
      transformed_output REAL[];
    BEGIN
      SELECT ARRAY(SELECT json_array_elements_text(response_json->0)) INTO transformed_output;
      RETURN transformed_output;
    END;
    $$;
    
  6. מפעילים את הפונקציה create model כדי לרשום את נקודת הקצה של מודל ההטמעה בהתאמה אישית:

    CALL
      google_ml.create_model(
        model_id => 'MODEL_ID',
        model_request_url => 'REQUEST_URL',
        model_provider => 'custom',
        model_type => 'text_embedding',
        model_auth_type => 'secret_manager',
        model_auth_id => 'SECRET_ID',
        model_qualified_name => 'MODEL_QUALIFIED_NAME',
        model_in_transform_fn => 'cymbal_text_input_transform',
        model_out_transform_fn => 'cymbal_text_output_transform');
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫MODEL_ID: חובה. מזהה ייחודי לנקודת הקצה של המודל שאתם מגדירים, לדוגמה custom-embedding-model. מזהה המודל הזה משמש כהפניה למטא-נתונים שנקודת הקצה של המודל צריכה כדי ליצור הטמעות או להפעיל חיזויים.
    • ‫REQUEST_URL: חובה. נקודת הקצה הספציפית למודל כשמוסיפים הטמעה של טקסט מותאם אישית ונקודות קצה של מודלים גנריים – לדוגמה, https://cymbal.com/models/text/embeddings/v1.
    • ‫MODEL_QUALIFIED_NAME: נדרש אם נקודת הקצה של המודל משתמשת בשם מלא. השם המלא אם לנקודת הקצה של המודל יש כמה גרסאות.
    • ‫SECRET_ID: מזהה הסוד שבו השתמשתם קודם בתהליך google_ml.create_sm_secret().

מודלים גנריים

בקטע הזה נסביר איך לרשום נקודת קצה כללית של מודל שזמינה אצל ספק מודלים מארח כמו Hugging Face,‏ OpenAI,‏ Vertex AI,‏ Anthropic או כל ספק אחר. בקטע הזה מוצגות דוגמאות לרישום של נקודת קצה של מודל כללי שמתארח ב-Hugging Face, מודל gemini-pro כללי מ-Vertex AI Model Garden ונקודת הקצה של מודל claude-haiku.

אפשר לרשום כל נקודת קצה (endpoint) של מודל גנרי, כל עוד הקלט והפלט הם בפורמט JSON. בהתאם למטא-נתונים של נקודת הקצה של המודל, יכול להיות שתצטרכו ליצור כותרות HTTP או להגדיר כתובות URL של בקשות.

מידע נוסף על מודלים גנריים שעברו רישום מראש ועל מודלים עם תמיכה מובנית זמין במאמר מודלים נתמכים.

מודל Gemini

חלק מהמודלים של gemini-pro רשומים מראש, ולכן אפשר להפעיל תחזיות על ידי התקשרות ישירות למזהה המודל. מוודאים שהגדרתם את AlloyDB Omni לשליחת שאילתות למודלי AI של Vertex AI מבוססי-ענן.

בדוגמה הבאה נעשה שימוש בנקודת הקצה של המודל gemini-1.5-pro:generateContent מ-Vertex AI Model Garden.

  1. מתחברים למסד הנתונים באמצעות psql.
  2. יוצרים ומפעילים את התוסף google_ml_integration.
  3. מפעילים חיזויים באמצעות מזהה המודל שנרשם מראש:

    SELECT
        json_array_elements(
        google_ml.predict_row(
            model_id => 'gemini-1.5-pro:generateContent',
            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';
    

מודל גנרי ב-Hugging Face

בדוגמה הבאה מוסיפים את נקודת הקצה של מודל מסווג התוכן המותאם אישית facebook/bart-large-mnli שמתארח ב-Hugging Face.

  1. מתחברים למסד הנתונים באמצעות psql.
  2. יוצרים ומפעילים את התוסף google_ml_integration.
  3. מוסיפים את מפתח ה-API של OpenAI כסוד ל-Secret Manager לצורך אימות. אם כבר יצרתם סוד למודל אחר של OpenAI, אתם יכולים להשתמש באותו סוד.
  4. קוראים לסוד שמאוחסן ב-Secret Manager:

    CALL
      google_ml.create_sm_secret(
        secret_id => 'SECRET_ID',
        secret_path => 'projects/project-id/secrets/SECRET_MANAGER_SECRET_ID/versions/VERSION_NUMBER');
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫SECRET_ID: מזהה הסוד שהגדרתם, שמשמש לאחר מכן לרישום נקודת קצה של מודל.
    • ‫SECRET_MANAGER_SECRET_ID: מזהה הסוד שהוגדר ב-Secret Manager כשיוצרים את הסוד.
    • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • ‫VERSION_NUMBER: מספר הגרסה של מזהה הסוד.
  5. מפעילים את הפונקציה ליצירת מודל כדי לרשום את נקודת הקצה של המודל facebook/bart-large-mnli:

    CALL
      google_ml.create_model(
        model_id => 'MODEL_ID',
        model_provider => 'hugging_face',
        model_request_url => 'REQUEST_URL',
        model_qualified_name => 'MODEL_QUALIFIED_NAME',
        model_auth_type => 'secret_manager',
        model_auth_id => 'SECRET_ID');
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫MODEL_ID: מזהה ייחודי לנקודת הקצה של המודל שאתם מגדירים – לדוגמה, custom-classification-model. מזהה המודל הזה משמש להפניה למטא-נתונים שנקודת הקצה של המודל צריכה כדי ליצור הטמעות או להפעיל תחזיות.
    • ‫REQUEST_URL: נקודת הקצה הספציפית למודל כשמוסיפים הטמעת טקסט בהתאמה אישית ונקודות קצה של מודל גנרי, לדוגמה https://api-inference.huggingface.co/models/facebook/bart-large-mnli.
    • ‫MODEL_QUALIFIED_NAME: השם המלא של גרסת נקודת הקצה של המודל, לדוגמה facebook/bart-large-mnli.
    • ‫SECRET_ID: מזהה הסוד שבו השתמשתם קודם בתהליך google_ml.create_sm_secret().

מודל כללי של Anthropic

בדוגמה הבאה מוסיפים את נקודת הקצה של המודל claude-3-opus-20240229. ניהול נקודות קצה של מודלים מספק את פונקציית הכותרת שנדרשת לרישום מודלים של Anthropic.

מוודאים שהגדרתם את AlloyDB Omni לשליחת שאילתות למודלי AI של Vertex AI מבוססי-ענן.

  1. מתחברים למסד הנתונים באמצעות psql.
  2. יוצרים ומפעילים את התוסף google_ml_integration.

    Secret Manager

    1. מוסיפים את הטוקן למוכ"ז כסוד ל-Secret Manager לצורך אימות.
    2. קוראים לסוד ששמור ב-Secret Manager:

      CALL
        google_ml.create_sm_secret(
          secret_id => 'SECRET_ID',
          secret_path => 'projects/project-id/secrets/SECRET_MANAGER_SECRET_ID/versions/VERSION_NUMBER');
      

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫SECRET_ID: מזהה הסוד שהגדרתם, שמשמש לאחר מכן לרישום נקודת קצה של מודל.
      • ‫SECRET_MANAGER_SECRET_ID: מזהה הסוד שהוגדר ב-Secret Manager כשיצרתם את הסוד.
      • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
      • ‫VERSION_NUMBER: מספר הגרסה של מזהה הסוד.
    3. קוראים לפונקציה ליצירת מודל כדי לרשום את נקודת הקצה של מודל claude-3-opus-20240229.

      CALL
        google_ml.create_model(
          model_id => 'MODEL_ID',
          model_provider => 'anthropic',
          model_request_url => 'REQUEST_URL',
          model_auth_type => 'secret_manager',
          model_auth_id => 'SECRET_ID',
          generate_headers_fn => 'google_ml.anthropic_claude_header_gen_fn');
      

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫MODEL_ID: מזהה ייחודי לנקודת הקצה של המודל שאתם מגדירים, לדוגמה anthropic-opus. מזהה המודל הזה משמש להפניה למטא-נתונים שנקודת הקצה של המודל צריכה כדי ליצור הטמעות או להפעיל תחזיות.
      • ‫REQUEST_URL: נקודת הקצה הספציפית למודל כשמוסיפים הטמעת טקסט בהתאמה אישית ונקודות קצה של מודל גנרי, לדוגמה https://api.anthropic.com/v1/messages.

    כותרת אימות

    1. משתמשים בפונקציה שמוגדרת כברירת מחדל ליצירת שורות כותרת ב-google_ml.anthropic_claude_header_gen_fn או יוצרים פונקציה ליצירת שורות כותרת.

        CREATE OR REPLACE FUNCTION anthropic_sample_header_gen_fn(model_id VARCHAR(100), request_body JSON)
        RETURNS JSON
        LANGUAGE plpgsql
        AS $$
        #variable_conflict use_variable
        BEGIN
              RETURN json_build_object('x-api-key', 'ANTHROPIC_API_KEY', 'anthropic-version', 'ANTHROPIC_VERSION')::JSON;
        END;
        $$;
      

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫ANTHROPIC_API_KEY: מפתח ה-API של Anthropic.
      • ‫ANTHROPIC_VERSION(אופציונלי): גרסת המודל הספציפית שבה רוצים להשתמש, לדוגמה 2023-06-01.
    2. מפעילים את הפונקציה ליצירת מודל כדי לרשום את נקודת הקצה של המודל claude-3-opus-20240229.

      CALL
        google_ml.create_model(
          model_id => 'MODEL_ID',
          model_provider => 'anthropic',
          model_request_url => 'REQUEST_URL',
          generate_headers_fn => 'google_ml.anthropic_claude_header_gen_fn');
      

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫MODEL_ID: מזהה ייחודי לנקודת הקצה של המודל שאתם מגדירים, לדוגמה anthropic-opus. מזהה המודל הזה משמש להפניה למטא-נתונים שנקודת הקצה של המודל צריכה כדי ליצור הטמעות או להפעיל תחזיות.
      • ‫REQUEST_URL: נקודת הקצה הספציפית למודל כשמוסיפים הטמעת טקסט בהתאמה אישית ונקודות קצה של מודלים גנריים, לדוגמה https://api.anthropic.com/v1/messages.

מידע נוסף זמין במאמר איך מפעילים חיזויים לנקודות קצה של מודלים גנריים.

המאמרים הבאים