הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לצפייה במסמכי התיעוד של
Apigee Edge
המדיניות SemanticCacheLookup היא מדיניות מתקדמת לשמירה במטמון, שנועדה לשפר את הביצועים של עומסי עבודה של AI, במיוחד כאלה שכוללים מודלים גדולים של שפה (LLM).
המדיניות משתמשת ב- Text embeddings API של Vertex AI כדי ליצור הטמעות לטקסט, וב-חיפוש וקטורי כדי למצוא הנחיות דומות על סמך דמיון סמנטי, ולא על סמך התאמות מדויקות.
כללי המדיניות של SemanticCacheLookup מקצרים את זמני התגובה של שאילתות חוזרות, ומייעלים את העלויות על ידי צמצום נפח הקריאות למודלי LLM.
המדיניות הזו פועלת בשילוב עם המדיניות SemanticCachePopulate.
המדיניות הזו היא מדיניות ניתנת להרחבה, והשימוש בה עשוי להשפיע על העלות או על הניצול, בהתאם לרישיון Apigee שלכם. למידע על סוגי המדיניות וההשלכות של השימוש בהם, קראו את המאמר סוגי מדיניות.
לפני שמתחילים
לפני שמשתמשים בכללי המדיניות SemanticCacheLookup, צריך לבצע את המשימות הבאות:
- יוצרים פרויקט ב-Vertex AI.
- יוצרים אינדקס ב-Vector Search.
- יוצרים נקודת קצה (endpoint) של Vertex AI לאינדקס.
- יוצרים מדיניות SemanticCachePopulate.
מידע נוסף על השלמת המשימות האלה זמין במאמר תחילת העבודה עם מדיניות שמירה במטמון סמנטי.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות כדי להחיל את המדיניות SemanticCacheLookup ולהשתמש בה, בקשו מהאדמין להקצות לכם את התפקיד משתמש ב-AI Platform (roles/aiplatform.user) ב-IAM בחשבון השירות שבו אתם משתמשים כדי לפרוס שרתי proxy של Apigee.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הפעלת ממשקי ה-API
מפעילים את ממשקי ה-API של Compute Engine, Vertex AI ו-Cloud Storage, אם הם עדיין לא מופעלים.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
רכיב <SemanticCacheLookup>
הגדרה של מדיניות SemanticCacheLookup.
| ערך ברירת מחדל | מידע נוסף מופיע בקטע הכרטיסייה "מדיניות ברירת המחדל" שבהמשך. |
| חובה? | חובה |
| סוג | אובייקט מורכב |
| רכיב הורה | לא רלוונטי |
| רכיבי צאצא |
<DisplayName><IgnoreUnresolvedVariables><UserPromptSource><Embeddings><SimilaritySearch> |
הרכיב <SemanticCacheLookup> משתמש בתחביר הבא:
תחביר
הרכיב <SemanticCacheLookup> משתמש בתחביר הבא:
<SemanticCacheLookup async="false" continueOnError="false" enabled="true" name="SCL-lookup"> <DisplayName>SCL-lookup</DisplayName> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <UserPromptSource>{jsonPath('$.contents[-1].parts[-1].text',request.content,true)}</UserPromptSource> <Embeddings> <VertexAI> <URL>https://{LOCATION}-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL_ID}:predict</URL> </VertexAI> </Embeddings> <SimilaritySearch> <VertexAI> <URL>https://{PUBLIC_DOMAIN_NAME}/v1/projects/{PROJECT_ID}/locations/{LOCATION}/indexEndpoints/{INDEX_ENDPOINT_ID}:findNeighbors</URL> <DeployedIndexID>{DEPLOYED_INDEX_ID}</DeployedIndexID> <Threshold>0.95</Threshold> <DistanceMeasureType>DOT_PRODUCT_DISTANCE</DistanceMeasureType> </VertexAI> </SimilaritySearch> </SemanticCacheLookup>
מדיניות ברירת המחדל
בדוגמה הבאה מוצגות הגדרות ברירת המחדל כשמוסיפים מדיניות SemanticCacheLookup לתהליך בממשק המשתמש של Apigee:
<SemanticCacheLookup async="false" continueOnError="false"enabled="true" name="SCL-lookup"> <DisplayName>SCL-lookup</DisplayName> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <UserPromptSource>{jsonPath('$.contents[-1].parts[-1].text',request.content,true)}</UserPromptSource> <Embeddings> <VertexAI> <URL>https://{LOCATION}-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL_ID}:predict </URL> </VertexAI> </Embeddings> <SimilaritySearch> <VertexAI> <URL>https://{PUBLIC_DOMAIN_NAME}/v1/projects/{PROJECT_ID}/locations/{LOCATION}/indexEndpoints/{INDEX_ENDPOINT_ID}:findNeighbors</URL> <Threshold>0.9</Threshold> <DeployedIndexID>{DEPLOYED_INDEX_ID}</DeployedIndexID> <DistanceMeasureType>DOT_PRODUCT_DISTANCE</DistanceMeasureType> </VertexAI> </SimilaritySearch> </SemanticCacheLookup>
כשמוסיפים מדיניות SemanticCacheLookup חדשה בממשק המשתמש של Apigee, התבנית מכילה סטאבים לכל הפעולות האפשריות. בהמשך מופיע מידע על הרכיבים הנדרשים.
לרכיב הזה יש את המאפיינים הבאים שמשותפים לכל המדיניות:
| מאפיין | ברירת מחדל | חובה? | תיאור |
|---|---|---|---|
name |
לא רלוונטי | חובה |
השם הפנימי של המדיניות. הערך של מאפיין אפשר להשתמש ברכיב |
continueOnError |
FALSE | אופציונלי | מגדירים את הערך false כדי להחזיר שגיאה אם המדיניות נכשלת. זו התנהגות צפויה ברוב המקרים. הגדרה ל-true מאפשרת להמשיך את הביצוע של התהליך גם אחרי שמדיניות נכשלת. מאמרים קשורים:
|
enabled |
TRUE | אופציונלי | מגדירים את הערך true כדי לאכוף את המדיניות, או את הערך false כדי להשבית את המדיניות. המדיניות לא נאכפת גם אם היא עדיין משויכת לזרימה. |
async |
FALSE | הוצא משימוש | המאפיין הזה הוצא משימוש. |
בטבלה הבאה מופיע תיאור כללי של רכיבי המשנה של <SemanticCacheLookup>:
| רכיב צאצא | חובה? | תיאור |
|---|---|---|
<DisplayName> |
אופציונלי | שם המדיניות. |
<IgnoreUnresolvedVariables> |
אופציונלי | קובעת אם העיבוד ייפסק כשמשתנה לא נפתר.
צריך להגדיר את הערך true כדי להתעלם ממשתנים שלא נפתרו ולהמשיך בעיבוד.
|
<UserPromptSource> |
אופציונלי | המיקום של המטען הייעודי (payload) של טקסט ההנחיה של המשתמש שצריך לחלץ. אפשר להשתמש רק בערכי טקסט של מחרוזות.
השדה הזה תומך בתחביר של תבניות הודעות ב-Apigee, כולל שימוש ב משתנים או בפונקציות של JSON Path. לדוגמה: {jsonPath('$.contents[-1].parts[-1].text',request.content,true)} |
<Embeddings> |
חובה | רכיב שמכיל את המידע שנדרש כדי ליצור הטמעות. |
<SimilaritySearch> |
חובה | רכיב שמכיל את המידע שנדרש כדי לבצע חיפושים של דמיון.
מידע נוסף זמין במאמר שליחת שאילתה לאינדקס ציבורי כדי לקבל את השכנים הקרובים ביותר. |
הפניה לרכיב צאצא
בקטע הזה מתוארים רכיבי הצאצא של <SemanticCacheLookup>.
<DisplayName>
אפשר להשתמש במאפיין הזה בנוסף למאפיין name כדי לתת למדיניות שם אחר, שנשמע יותר טבעי, ב-UI של עורך ה-proxy לניהול.
הרכיב <DisplayName> משותף לכל סוגי המדיניות.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | זה שינוי אופציונלי. אם לא מציינים את <DisplayName>, המערכת משתמשת בערך של מאפיין name של המדיניות. |
| סוג | String |
| רכיב אב | <PolicyElement> |
| רכיבי צאצא | ללא |
רכיב <DisplayName> משתמש בתחביר הבא:
תחביר
<PolicyElement> <DisplayName>POLICY_DISPLAY_NAME</DisplayName> ... </PolicyElement>
דוגמה
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
לרכיב <DisplayName> אין מאפיינים או רכיבי צאצא.
<IgnoreUnresolvedVariables>
המדיניות הזו קובעת אם העיבוד ייפסק כשמשתנה לא נפתר. מגדירים את הערך true כדי להתעלם ממשתנים לא פתורים ולהמשיך בעיבוד.
השדה IgnoreUnresolvedVariables לא רלוונטי כשמציינים את <DefaultValue>.
| ערך ברירת מחדל | לא נכון |
| חובה? | אופציונלי |
| סוג | בוליאני |
| רכיב אב |
<SemanticCacheLookup>
|
| רכיבי צאצא | ללא |
<UserPromptSource>
המיקום של המטען הייעודי (payload) של טקסט ההנחיה של המשתמש שצריך לחלץ. אפשר להשתמש רק בערכי טקסט של מחרוזות.
השדה הזה תומך בתחביר של תבניות הודעות ב-Apigee, כולל שימוש במשתנים או בפונקציות של נתיב JSON.
לדוגמה:
{jsonPath('$.contents[-1].parts[-1].text',request.content,true)}
| ערך ברירת מחדל | {jsonPath('$.contents[-1].parts[-1].text',request.content,true)} |
| חובה? | אופציונלי |
| סוג | String |
| רכיב הורה |
<SemanticCacheLookup>
|
| רכיבי צאצא | ללא |
<Embeddings>
הרכיב הזה מכיל את המידע שנדרש כדי ליצור הטמעות טקסט.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | אופציונלי |
| סוג | String |
| רכיב הורה |
<SemanticCacheLookup>
|
| רכיבי צאצא |
<VertexAI>
|
הרכיב <Embeddings> משתמש בתחביר הבא:
<Embeddings>
<VertexAI>
<URL>https://{LOCATION}-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL_ID}:predict</URL>
</VertexAI>
</Embeddings><VertexAI> (צאצא של <Embeddings>)
מכיל את הרכיב <URL> למאפיינים ספציפיים של Vertex AI.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | חובה |
| סוג | String |
| רכיב הורה |
<Embeddings>
|
| רכיבי צאצא |
<URL> |
הרכיב VertexAI משתמש בתחביר הבא:
<VertexAI>
<URL>https://{LOCATION}-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL_ID}:predict</URL>
</VertexAI><URL> (צאצא של <VertexAI>)
כתובת ה-URL שמשמשת ליצירת הטמעות טקסט. כאן אפשר לעיין ברשימת המודלים שמספקים הטמעות טקסט למדיניות SemanticCacheLookup.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | חובה |
| סוג | String |
| רכיב הורה |
<VertexAI>
|
| רכיבי צאצא |
ללא |
הרכיב URL משתמש בתחביר הבא:
<URL>https://{LOCATION}-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL_ID}:predict</URL>הרכיב URL תומך בשימוש בתבניות של כתובות URL. אם רוצים, אפשר לספק משתנה ברכיב הזה
כדי להחזיק את הערך של כתובת ה-URL, כמו בדוגמה הבאה:
<URL>https://{URL_VARIABLE}</URL><SimilaritySearch>
הרכיב הזה מכיל את המידע שנדרש כדי לבצע חיפושים לפי דמיון.
אפשר להריץ את החיפוש לפי דמיון באינדקס החיפוש של חיפוש וקטורי שנפרס בנקודת קצה ציבורית או בנקודת קצה פרטית (Private Service Connect). צריך לציין אמצעי תחבורה אחד בלבד מבין האפשרויות הבאות ברכיב <VertexAI>:
-
<URL>– לנקודת קצה ציבורית, באמצעות REST (:findNeighbors). -
<PrivateServiceConnect>– לנקודת קצה פרטית, דרך gRPC. נקודת קצה פרטית (Private Service Connect) של אינדקס פרוס מקבלת רק gRPC.
מידע נוסף זמין במאמרים שליחת שאילתה לאינדקס ציבורי כדי לקבל את השכנים הקרובים ביותר ושמירה במטמון סמנטי עם נקודת קצה פרטית (Private Service Connect).
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | חובה |
| סוג | String |
| רכיב הורה |
<SemanticCacheLookup>
|
| רכיבי צאצא |
<VertexAI> |
הרכיב <SimilaritySearch> משתמש בתחביר הבא.
נקודת קצה ציבורית (REST):
<SimilaritySearch> <VertexAI> <URL>https://{PUBLIC_DOMAIN_NAME}/v1/projects/{PROJECT_ID}/locations/{LOCATION}/indexEndpoints/{INDEX_ENDPOINT_ID}:findNeighbors</URL> <Threshold>0.9</Threshold> <DeployedIndexID>{DEPLOYED_INDEX_ID}</DeployedIndexID> <DistanceMeasureType>DOT_PRODUCT_DISTANCE</DistanceMeasureType> </VertexAI> </SimilaritySearch>
נקודת קצה פרטית (Private Service Connect, gRPC):
<SimilaritySearch>
<VertexAI>
<PrivateServiceConnect>
<GrpcEndpoint>grpc://{TARGET_HOST}:10000</GrpcEndpoint>
</PrivateServiceConnect>
<Threshold>0.9</Threshold>
<DeployedIndexID>{DEPLOYED_INDEX_ID}</DeployedIndexID>
</VertexAI>
</SimilaritySearch><VertexAI> (צאצא של <SimilaritySearch>)
מכיל את המאפיינים הספציפיים ל-Vertex AI שמשמשים לביצוע החיפוש לפי דמיון. צריך לציין בדיוק אחד מהטרנספורטים הבאים: רכיב <URL> (לנקודת קצה ציבורית, דרך REST) או רכיב <PrivateServiceConnect> (לנקודת קצה פרטית, דרך gRPC).
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | חובה |
| סוג | String |
| רכיב הורה |
<SimilaritySearch>
|
| רכיבי צאצא |
<URL> |
בנקודת קצה ציבורית, הרכיב VertexAI משתמש בתחביר הבא:
<VertexAI> <URL>https://{PUBLIC_DOMAIN_NAME}/v1/projects/{PROJECT_ID}/locations/{LOCATION}/indexEndpoints/{INDEX_ENDPOINT_ID}:findNeighbors</URL> <Threshold>0.9</Threshold> <DeployedIndexID>{DEPLOYED_INDEX_ID}</DeployedIndexID> <DistanceMeasureType>DOT_PRODUCT_DISTANCE</DistanceMeasureType> </VertexAI>
עבור נקודת קצה פרטית (Private Service Connect), התחביר של רכיב VertexAI הוא:
<VertexAI>
<PrivateServiceConnect>
<GrpcEndpoint>grpc://{TARGET_HOST}:10000</GrpcEndpoint>
</PrivateServiceConnect>
<Threshold>0.9</Threshold>
<DeployedIndexID>{DEPLOYED_INDEX_ID}</DeployedIndexID>
</VertexAI>בטבלה הבאה מפורטים רכיבי המשנה של <VertexAI>.
| רכיב צאצא | חובה? | תיאור |
|---|---|---|
<URL> |
חובה (צריך לציין <URL> או <PrivateServiceConnect>) |
String כתובת ה-URL שמשמשת לביצוע חיפושי דמיון בנקודת קצה (endpoint) ציבורית של אינדקס חיפוש וקטורי, באמצעות REST ( הרכיב <URL>https://{URL_VARIABLE}</URL> |
<PrivateServiceConnect> |
חובה (צריך לציין <URL> או <PrivateServiceConnect>) |
אובייקט מורכב מכיל את פרטי החיבור שמשמשים לביצוע חיפושי דמיון באינדקס החיפוש פרטי של חיפוש וקטורי שנפרס בנקודת קצה (endpoint) של Private Service Connect. נקודת קצה פרטית של deployed-index מקבלת רק gRPC. הרכיב הזה מכיל רכיב צאצא יחיד, <PrivateServiceConnect>
<GrpcEndpoint>grpc://{TARGET_HOST}:10000</GrpcEndpoint>
</PrivateServiceConnect>רכיב
מידע נוסף זמין במאמר שמירה סמנטית במטמון עם נקודת קצה פרטית (Private Service Connect). |
<Threshold> |
אופציונלי | String הערך שהשכן הקרוב ביותר צריך להגיע אליו כדי להיחשב כהתאמה.
ערך ברירת המחדל הוא 0.9, שמתאים ל- |
<DeployedIndexID> |
חובה | String המזהה של האינדקס שנפרס בנקודת הקצה של האינדקס, שמשמשת לשמירת נתונים במטמון סמנטי. |
<DistanceMeasureType> |
אופציונלי | String מדד המרחק שבאמצעותו נוצר האינדקס ב-Vertex AI Vector Search. הוא מגדיר את הכיוון של ההשוואה ב- הערכים התקפים הם ערך ברירת המחדל הוא |
בחירת סף למדד המרחק
המדד שלפיו נבנה האינדקס קובע את כיוון ההשוואה של <Threshold>: מכפלה סקלרית היא מדד של דמיון, ולכן ערך גדול יותר מצביע על התאמה קרובה יותר, ואילו שלושת המדדים האחרים הם מדדי מרחק, ולכן ערך קטן יותר מצביע על התאמה קרובה יותר. מגדירים את <DistanceMeasureType> בהתאם לאינדקס, ואז מכוונים את ערך הסף של המדד.
| מדידת מרחק | סף המטמון |
|---|---|
DOT_PRODUCT_DISTANCE (ברירת מחדל) |
value >= threshold |
COSINE_DISTANCE |
value <= threshold |
SQUARED_L2_DISTANCE |
value <= threshold |
L1_DISTANCE |
value <= threshold |
כדי למצוא את המדד שבאמצעותו נבנה האינדקס, מריצים את הפקודה gcloud ai indexes describe INDEX_ID --region=REGION וקוראים את השדה distanceMeasureType. כדי לוודא שהמדיניות הוחלה, שולחים את אותה בקשה פעמיים ובודקים את semanticcache.lookup.policy_name.measure_type ואת semanticcache.lookup.policy_name.nearest_neighbor_measure בסשן ניפוי באגים.
משתני זרימה
משתני זרימה מגדירים התנהגות דינמית בזמן ריצה למדיניות ולתהליכים, על סמך כותרות HTTP או תוכן של הודעות, או ההקשר שזמין בתהליך. מידע נוסף על משתני זרימה זמין במאמר חומר עזר בנושא משתני זרימה.
המדיניות הזו מספקת את קבוצת משתני הזרימה הבאה שהם לקריאה בלבד במהלך ההפעלה. אפשר להשתמש במשתני הזרימה האלה עם מדיניות DataCapture כדי ליצור דוחות ניתוח בהתאמה אישית. מידע נוסף זמין במאמר בנושא איסוף נתוני לקוחות בהתאם למדיניות בנושא איסוף נתונים.
| שם המשתנה | תיאור |
|---|---|
request.content |
מכיל את התוכן המלא של בקשת ה-API הנכנסת. |
request.url |
מכיל את כתובת ה-URL של בקשת ה-API הנכנסת. |
SemanticCacheLookup.policy_name.user_prompt |
מכיל רכיבים ספציפיים שחולצו מהנחיית הבקשה, שמשמשת ליצירת הטמעות או לביצוע חיפושים לפי דמיון. |
SemanticCacheLookup.policy_name.embeddings_request |
מכיל את המטען הייעודי (payload) של הבקשה שנשלחה ל-Vertex AI Embeddings API כדי ליצור הטמעות טקסט לטקסט הקלט. |
SemanticCacheLookup.policy_name.embeddings_response |
מכיל את התשובה מ-Vertex AI Embeddings API, שכוללת את הטמעות הטקסט שנוצרו. |
SemanticCacheLookup.policy_name.dense_embeddings |
מכיל את ערכי ההטמעה המספריים בפועל שנוצרו על ידי Vertex AI Embeddings API. |
SemanticCacheLookup.policy_name.is_nearest_neighbor_hit |
מציין אם נמצא השכן הקרוב ביותר במסד הנתונים של הווקטורים לבקשה ולנקודת הנתונים הנתונות שעומדות בסף הדמיון. |
SemanticCacheLookup.policy_name.cache_hit |
מציין אם התשובה נמצאה במטמון הסמנטי. |
SemanticCacheLookup.policy_name.cached_llm_response |
מכיל את התשובה שאוחזרה מהמטמון הסמנטי (אם הייתה מציאה במטמון). |
semanticcache.lookup.policy_name.nearest_neighbor_measure |
מכיל את הערך הגולמי שאינדקס החיפוש הווקטורי החזיר לשכן הקרוב ביותר. מוגדר גם בהתאמות וגם בפספוסים בכל פעם שמוחזרת תוצאה קרובה. |
semanticcache.lookup.policy_name.measure_type |
מכיל את מדד המרחק שהמדיניות חלה עליו, כולל המקרים שבהם המדיניות חזרה לברירת המחדל. מוגדר גם בהתאמות וגם בפספוסים בכל פעם שמוחזרת תוצאה קרובה. |
הפניה לשגיאה
בקטע הזה מתוארים קודי התקלות והודעות השגיאה שמוחזרים על ידי Apigee, ומשתני התקלות שמוגדרים על ידי Apigee, הספציפיים למדיניות <SemanticCacheLookup>. המידע הזה חשוב אם אתם מפתחים כללי שגיאות לטיפול בשגיאות. מידע נוסף זמין במאמרים מה צריך לדעת על שגיאות שקשורות למדיניות וטיפול בשגיאות.
שגיאות זמן ריצה
השגיאות האלה מתרחשות כשהמדיניות מופעלת.
| קוד תקלה | סטטוס HTTP | מטרה |
|---|---|---|
steps.semanticcache.lookup.MessageTemplateExtractionFailed |
400 |
לא הצלחנו לחלץ נתונים מהבקשה באמצעות הביטוי של נתיב ה-JSON. |
steps.semanticcache.lookup.FailedToExtractUserPrompt |
500 |
לא ניתן לחלץ את ההנחיה למשתמש מבקשת ה-API. |
steps.semanticcache.lookup.EmbeddingsServiceUnavailable |
400 |
שירות ההטמעות של Vertex AI לא זמין כרגע. |
steps.semanticcache.lookup.EmbeddingsAPIFailed |
400 |
שירות ההטמעות של Vertex AI נכשל. |
steps.semanticcache.lookup.VectorSearchServiceUnavailable |
400 |
השירות Vertex AI Vector Search לא זמין כרגע. |
steps.semanticcache.lookup.VectorSearchAPIFailed |
400 |
השירות Vertex AI Vector Search נכשל. |
steps.semanticcache.lookup.AuthenticationFailure |
500 |
לחשבון השירות אין את ההרשאות הנדרשות. |
steps.semanticcache.lookup.InternalError |
500 |
אירעה שגיאה לא צפויה במדיניות SemanticCacheLookup. |
steps.semanticcache.lookup.CalloutError |
500 |
הקריאה לשירות Vertex AI נכשלה. |
שגיאות בפריסה
השגיאות האלה מתרחשות כשפורסים שרת proxy שמכיל את המדיניות הזו.
| שם השגיאה | מטרה |
|---|---|
The Embeddings/VertexAI element is required. |
השגיאה הזו מתרחשת אם הרכיב <VertexAI> ב-<Embeddings> ריק. |
The SimilaritySearch/VertexAI element is required. |
השגיאה הזו מתרחשת אם הרכיב <VertexAI> ב-<SimilaritySearch> ריק. |
Embeddings/VertexAI cannot have both URL and PrivateServiceConnect elements. |
השגיאה הזו מתרחשת אם ציינתם גם את הרכיב <URL> וגם את הרכיב <PrivateServiceConnect> ב-<Embeddings>. |
SimilaritySearch/VertexAI cannot have both URL and PrivateServiceConnect elements. |
השגיאה הזו מתרחשת אם הרכיבים <URL> ו-<PrivateServiceConnect> מצוינים ב-<SimilaritySearch>. |
Embeddings/VertexAI/URL or Embeddings/PrivateServiceConnect/GrpcEndpoint element is required. |
השגיאה הזו מתרחשת אם לא מציינים את הרכיב <URL> או את הרכיב <GrpcEndpoint> ב-<Embeddings>. |
SimilaritySearch/VertexAI/URL or SimilaritySearch/PrivateServiceConnect/GrpcEndpoint element is required. |
השגיאה הזו מתרחשת אם לא צוין הרכיב <URL> או הרכיב <GrpcEndpoint> ב-<SimilaritySearch>. |
The Embeddings/VertexAI/PrivateServiceConnect element is not supported. Use URL instead. |
האירוע מתרחש אם נעשה שימוש ברכיב <PrivateServiceConnect> ב-<Embeddings>. |
Embeddings URL {url} is invalid. |
השגיאה הזו מתרחשת אם הרכיב <URL> ב-<Embeddings> ריק או לא תקין. |
The SimilaritySearch URL {url} is invalid. |
השגיאה הזו מתרחשת אם הרכיב <URL> ב-<SimilaritySearch> ריק או לא תקין. |
The scheme {http-scheme} of Embeddings URL {url} must be one of http, https. |
השגיאה מתרחשת אם הסכימה http של רכיב ההטמעה <URL> לא תקינה. |
The scheme {http-scheme} of SimilaritySearch URL {url} must be one of http, https. |
השגיאה הזו מתרחשת אם הסכימה http של הרכיב SimilaritySearch <URL> לא תקינה. |
The SimilaritySearch /VertexAI/PrivateServiceConnect/GrpcEndpoint {grpc-endpoint} must be in the format "grpc://TARGET_HOST:PORT". |
השגיאה הזו מתרחשת אם הרכיב <GrpcEndpoint> ב-<SimilaritySearch> לא בפורמט grpc://TARGET_HOST:PORT. |
The scheme {grpc-scheme} of SimilaritySearch /VertexAI/PrivateServiceConnect/GrpcEndpoint {grpc-endpoint} must be "grpc". |
השגיאה מתרחשת אם הסכימה grpc של רכיב ה-SimilaritySearch <GrpcEndpoint> לא תקינה. |
SimilaritySearch/Threshold element must not be NaN. |
השגיאה הזו מתרחשת אם הרכיב <Threshold> ב-<SimilaritySearch> הוא
NaN. מותר להעלות Infinity וגם -Infinity. |
Invalid DistanceMeasureType {value}. Supported values are DOT_PRODUCT_DISTANCE,
COSINE_DISTANCE, SQUARED_L2_DISTANCE and L1_DISTANCE |
השגיאה הזו מתרחשת אם הרכיב <DistanceMeasureType> ב-<SimilaritySearch> הוא לא אחד מארבעת הערכים הנתמכים. ההתאמה מדויקת. מידע נוסף זמין במאמר בנושא פרמטרים של הגדרת אינדקס. |
SimilaritySearch/DeployedIndexID element is required. |
השגיאה הזו מתרחשת אם הרכיב <DeployedIndexID> ב-<SimilaritySearch> ריק. |
SimilaritySearch/DeployedIndexID element must not contain spaces. |
השגיאה הזו מתרחשת אם הרכיב <DeployedIndexID> ב-<SimilaritySearch> מכיל רווחים. |
משתני תקלות
המדיניות הזו מגדירה את המשתנים האלה כשהיא מפעילה שגיאה בזמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות שקשורות למדיניות.
| משתנים | כאשר: | דוגמה |
|---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME הוא שם התקלה, כמו שמופיע בטבלה שגיאות זמן ריצה שלמעלה. שם התקלה הוא החלק האחרון של קוד התקלה. | fault.name Matches "UnresolvedVariable" |
semanticcachelookup.POLICY_NAME.failed |
POLICY_NAME הוא השם שהמשתמש נתן למדיניות שגרמה לשגיאה. | semanticcachelookup.SC-lookup.failed = true |
דוגמה לתגובת שגיאה
{ "fault": { "faultstring": "SemanticCacheLookup[SC-lookup]: unable to resolve variable [variable_name]", "detail": { "errorcode": "steps.semanticcachelookup.UnresolvedVariable" } } }
דוגמה לכלל שגיאה
<FaultRule name="SemanticCacheLookup Faults">
<Step>
<Name>SCL-CustomSetVariableErrorResponse</Name>
<Condition>(fault.name = "SetVariableFailed")</Condition>
</Step>
<Condition>(semanticcachelookup.failed = true)</Condition>
</FaultRule>סכימות
כל סוג מדיניות מוגדר על ידי סכימת XML (.xsd). סכימות המדיניות זמינות ב-GitHub.