์ด ํ์ด์ง๋ Apigee ๋ฐ Apigee Hybrid์ ์ ์ฉ๋ฉ๋๋ค.
Apigee Edge ๋ฌธ์ ๋ณด๊ธฐ
๊ฐ์
SemanticCacheLookup ์ ์ฑ ์ AI ์ํฌ๋ก๋, ํนํ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ(LLM)๊ณผ ๊ด๋ จ๋ ์ํฌ๋ก๋์ ์ฑ๋ฅ์ ์ต์ ํํ๋๋ก ์ค๊ณ๋ ๊ณ ๊ธ ์บ์ฑ ์ ์ฑ ์ ๋๋ค.
์ด ์ ์ฑ ์ Vertex AI Text Embeds API๋ฅผ ์ฌ์ฉํ์ฌ ํ ์คํธ์ฉ ์๋ฒ ๋ฉ์ ์์ฑํ๊ณ ๋ฒกํฐ ๊ฒ์์ ์ฌ์ฉํ์ฌ ์ ํํ ์ผ์น๊ฐ ์๋ ์๋งจํฑ ์ ์ฌ์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ์ ์ฌํ ํ๋กฌํํธ๋ฅผ ์ฐพ์ต๋๋ค.
SemanticCacheLookup ์ ์ฑ ์ ์ฌ์ฉํ๋ฉด ๋ฐ๋ณต ์ฟผ๋ฆฌ์ ์๋ต ์๊ฐ์ ์ค์ด๊ณ LLM์ ๋ํ ํตํ ๋ณผ๋ฅจ์ ์ค์ฌ ๋น์ฉ์ ์ต์ ํํ ์ ์์ต๋๋ค.
์ด ์ ์ฑ ์ SemanticCachePopulate ์ ์ฑ ๊ณผ ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค.
์ด ์ ์ฑ ์ ํ์ฅ ๊ฐ๋ฅํ ์ ์ฑ ์ด๋ฉฐ, ์ด ์ ์ฑ ์ ์ฌ์ฉํ๋ฉด Apigee ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋น์ฉ ๋๋ ์ฌ์ฉ๋ฅ ์ด ์ํฅ์ ๋ฐ์ ์ ์์ต๋๋ค. ์ ์ฑ ์ ํ ๋ฐ ์ฌ์ฉ ์ํฅ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ ์ฑ ์ ํ์ ์ฐธ์กฐํ์ธ์.
์์ํ๊ธฐ ์ ์
SemanticCacheLookup ์ ์ฑ ์ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ ๋ค์ ์์ ์ ์๋ฃํด์ผ ํฉ๋๋ค.
- Vertex AI ํ๋ก์ ํธ๋ฅผ ๋ง๋ญ๋๋ค.
- ๋ฒกํฐ ๊ฒ์ ์์ธ์ ๋ง๋ญ๋๋ค.
- ์์ธ์ Vertex AI ์๋ํฌ์ธํธ๋ฅผ ๋ง๋ญ๋๋ค.
- SemanticCachePopulate ์ ์ฑ ์ ๋ง๋ญ๋๋ค.
์ด๋ฌํ ์์ ์ ์๋ฃํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋งจํฑ ์บ์ฑ ์ ์ฑ ์์ํ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
ํ์ํ ์ญํ
SemanticCacheLookup ์ ์ฑ
์ ์ ์ฉํ๊ณ ์ฌ์ฉํ๋ ๋ฐ ํ์ํ ๊ถํ์ ์ป์ผ๋ ค๋ฉด ๊ด๋ฆฌ์์๊ฒ Apigee ํ๋ก์๋ฅผ ๋ฐฐํฌํ๋ ๋ฐ ์ฌ์ฉํ๋ ์๋น์ค ๊ณ์ ์ ๋ํ AI Platform ์ฌ์ฉ์(roles/aiplatform.user
) IAM ์ญํ ์ ๋ถ์ฌํด ๋ฌ๋ผ๊ณ ์์ฒญํ์ธ์.
์ญํ ๋ถ์ฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋ก์ ํธ, ํด๋, ์กฐ์ง์ ๋ํ ์ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ปค์คํ ์ญํ ์ด๋ ๋ค๋ฅธ ์ฌ์ ์ ์๋ ์ญํ ์ ํตํด ํ์ํ ๊ถํ์ ์ป์ ์๋ ์์ต๋๋ค.
API ์ฌ์ฉ ์ค์
Enable the Compute Engine, Vertex AI, and Cloud Storage APIs.
<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> </VertexAI> </SimilaritySearch> </SemanticCacheLookup>
๊ธฐ๋ณธ ์ ์ฑ
๋ค์ ์์์์๋ Apigee UI์์ ํ๋ฆ์ 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> <Threshold>0.9</Threshold> <DeployedIndexID>{DEPLOYED_INDEX_ID}</DeployedIndexID> </VertexAI> </SimilaritySearch> </SemanticCacheLookup>
Apigee UI์ ์ SemanticCacheLookup ์ ์ฑ ์ ์ฝ์ ํ๋ฉด ๊ฐ๋ฅํ ๋ชจ๋ ์์ ์ ๋ํ ์คํ ์ด ํ ํ๋ฆฟ์ ํฌํจ๋ฉ๋๋ค. ํ์ ์์์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋๋ฅผ ์ฐธ์กฐํ์ธ์.
์ด ์์์๋ ๋ค์๊ณผ ๊ฐ์ด ๋ชจ๋ ์ ์ฑ ์ ๊ณตํต๋ ์์ฑ์ด ์์ต๋๋ค.
์์ฑ | ๊ธฐ๋ณธ๊ฐ | ํ์ ์ฌ๋ถ | ์ค๋ช |
---|---|---|---|
name |
ํด๋น ์์ | ํ์ |
์ ์ฑ
์ ๋ด๋ถ ์ด๋ฆ์
๋๋ค. ์ํ๋ ๊ฒฝ์ฐ |
continueOnError |
๊ฑฐ์ง | ์ ํ์ฌํญ | ์ ์ฑ
์ด ์คํจํ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐํ๋๋๋ก ํ๋ ค๋ฉด false ๋ก ์ค์ ํฉ๋๋ค. ์ด๋ ๋๋ถ๋ถ์ ์ ์ฑ
์์ ์์๋๋ ๋์์
๋๋ค. ์ ์ฑ
์ด ์คํจํด๋ ํ๋ฆ ์คํ์ด ๊ณ์๋๋๋ก ํ๋ ค๋ฉด true ๋ก ์ค์ ํฉ๋๋ค. ์ฐธ์กฐ:
|
enabled |
์ฐธ | ์ ํ์ฌํญ | ์ ์ฑ
์ ์ํํ๋ ค๋ฉด true ๋ก ์ค์ ํฉ๋๋ค. ์ ์ฑ
์ ์ค์งํ๋ ค๋ฉด false ๋ก ์ค์ ํฉ๋๋ค. ์ ์ฑ
์ด ํ๋ฆ์ ์ฐ๊ฒฐ๋์ด ์์ด๋ ์ ์ฑ
์ด ์ํ๋์ง ์์ต๋๋ค. |
async |
๊ฑฐ์ง | ์ง์ ์ค๋จ๋จ | ์ด ์์ฑ์ ์ง์์ด ์ค๋จ๋์์ต๋๋ค. |
๋ค์ ํ์์๋ <SemanticCacheLookup>
์ ํ์ ์์์ ๋ํ ๋๋ต์ ์ธ ์ค๋ช
์ ์ ๊ณตํฉ๋๋ค.
ํ์ ์์ | ํ์ ์ฌ๋ถ | ์ค๋ช |
---|---|---|
<DisplayName> |
์ ํ์ฌํญ | ์ ์ฑ ์ ์ด๋ฆ์ ๋๋ค. |
<IgnoreUnresolvedVariables> |
์ ํ์ฌํญ | ๋ณ์๊ฐ ํ์ธ๋์ง ์์ ๊ฒฝ์ฐ ์ฒ๋ฆฌ๋ฅผ ์ค์งํ ์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
ํ์ธ๋์ง ์์ ๋ณ์๋ฅผ ๋ฌด์ํ๊ณ ๊ณ์ ์ฒ๋ฆฌํ๋ ค๋ฉด true ๋ก ์ค์ ํฉ๋๋ค.
|
<UserPromptSource> |
์ ํ์ฌํญ | ์ถ์ถํ ์ฌ์ฉ์ ๋ฉ์์ง ํ
์คํธ์ ํ์ด๋ก๋ ์์น์
๋๋ค. ๋ฌธ์์ด ํ
์คํธ ๊ฐ๋ง ์ง์๋ฉ๋๋ค.
์ด ํ๋๋ ๋ณ์ ๋๋ JSON ๊ฒฝ๋ก ํจ์ ์ฌ์ฉ์ ํฌํจํ Apigee ๋ฉ์์ง ํ ํ๋ฆฟ ๊ตฌ๋ฌธ์ ์ง์ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. {jsonPath($.contents[-1].parts[-1].text,request.content,true)} |
<Embeddings> |
ํ์ | ์๋ฒ ๋ฉ์ ์์ฑํ๋ ๋ฐ ํ์ํ ์ ๋ณด๊ฐ ํฌํจ๋ ์์์ ๋๋ค. |
<SimilaritySearch> |
ํ์ | ์ ์ฌ์ฑ ๊ฒ์์ ์ํํ๋ ๋ฐ ํ์ํ ์ ๋ณด๊ฐ ํฌํจ๋ ์์์
๋๋ค.
์์ธํ ๋ด์ฉ์ ๊ณต๊ฐ ์์ธ์ ์ฟผ๋ฆฌํ์ฌ ์ต๊ทผ์ ์ด์ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ฐธ๊ณ ํ์ธ์. |
ํ์ ์์ ์ฐธ์กฐ
์ด ์น์
์์๋ <SemanticCacheLookup>
์ ํ์ ์์๋ฅผ ์ค๋ช
ํฉ๋๋ค.
<DisplayName>
name
์์ฑ ์ธ์ ์ด ์์๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌ UI ํ๋ก์ ํธ์ง๊ธฐ์์ ์์ฐ์ค๋ฌ์ด ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ์ ์ฑ
์ ๋ผ๋ฒจ์ ์ง์ ํฉ๋๋ค.
<DisplayName>
์์๋ ๋ชจ๋ ์ ์ฑ
์ ๊ณตํต์ผ๋ก ์ ์ฉ๋ฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ | ํด๋น ์ฌํญ ์์ |
ํ์ ์ฌ๋ถ | ์ ํ์ฌํญ. <DisplayName> ์ ์๋ตํ๋ฉด ์ ์ฑ
์ name ์์ฑ ๊ฐ์ด ์ฌ์ฉ๋ฉ๋๋ค. |
์ ํ | ๋ฌธ์์ด |
์์ ์์ | <PolicyElement> |
ํ์ ์์ | ์์ |
<DisplayName>
์์๋ ๋ค์ ๋ฌธ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
๊ตฌ๋ฌธ
<PolicyElement> <DisplayName>POLICY_DISPLAY_NAME</DisplayName> ... </PolicyElement>
์
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
<DisplayName>
์์์ ์์ฑ ๋๋ ํ์ ์์๊ฐ ์์ต๋๋ค.
<IgnoreUnresolvedVariables>
๋ณ์๊ฐ ํ์ธ๋์ง ์์ ๊ฒฝ์ฐ ์ฒ๋ฆฌ๋ฅผ ์ค์งํ ์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ํ์ธ๋์ง ์์ ๋ณ์๋ฅผ ๋ฌด์ํ๊ณ ๊ณ์ ์ฒ๋ฆฌํ๋ ค๋ฉด true
๋ก ์ค์ ํฉ๋๋ค.
<DefaultValue>
๊ฐ ์ ๊ณต๋ ๊ฒฝ์ฐ IgnoreUnresolvedVariables
๋ฅผ ์ ์ฉํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ๊ฐ | ๊ฑฐ์ง |
ํ์ ์ฌ๋ถ | ์ ํ์ฌํญ |
์ ํ | Boolean |
์์ ์์ |
<SemanticCacheLookup>
|
ํ์ ์์ | ์์ |
<UserPromptSource>
์ถ์ถํ ์ฌ์ฉ์ ๋ฉ์์ง ํ ์คํธ์ ํ์ด๋ก๋ ์์น์ ๋๋ค. ๋ฌธ์์ด ํ ์คํธ ๊ฐ๋ง ์ง์๋ฉ๋๋ค.
์ด ํ๋๋ ๋ณ์ ๋๋ JSON ๊ฒฝ๋ก ํจ์ ์ฌ์ฉ์ ๋น๋กฏํ Apigee ๋ฉ์์ง ํ ํ๋ฆฟ ๊ตฌ๋ฌธ์ ์ง์ํฉ๋๋ค.
์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
{jsonPath($.contents[-1].parts[-1].text,request.content,true)}
๊ธฐ๋ณธ๊ฐ | {jsonPath($.contents[-1].parts[-1].text,request.content,true)} |
ํ์ ์ฌ๋ถ | ์ ํ์ฌํญ |
์ ํ | ๋ฌธ์์ด |
์์ ์์ |
<SemanticCacheLookup>
|
ํ์ ์์ | ์์ |
<Embeddings>
์ด ์์๋ ํ ์คํธ ์๋ฒ ๋ฉ์ ์์ฑํ๋ ๋ฐ ํ์ํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ | ํด๋น ์ฌํญ ์์ |
ํ์ ์ฌ๋ถ | ์ ํ์ฌํญ |
์ ํ | ๋ฌธ์์ด |
์์ ์์ |
<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>
์ ํ์ ์์)
Vertex AI ๊ด๋ จ ์์ฑ์ <URL> ์์๋ฅผ ํฌํจํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ | ํด๋น ์ฌํญ ์์ |
ํ์ ์ฌ๋ถ | ํ์ |
์ ํ | ๋ฌธ์์ด |
์์ ์์ |
<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 ์ ์ฑ ์ ํ ์คํธ ์๋ฒ ๋ฉ์ ์ ๊ณตํ ์ ์๋ ๋ชจ๋ธ ๋ชฉ๋ก์ ์ง์๋๋ ๋ชจ๋ธ์ ์ฐธ๊ณ ํ์ธ์.
๊ธฐ๋ณธ๊ฐ | ํด๋น ์ฌํญ ์์ |
ํ์ ์ฌ๋ถ | ํ์ |
์ ํ | ๋ฌธ์์ด |
์์ ์์ |
<VertexAI>
|
ํ์ ์์ |
์์ |
URL
์์๋ ๋ค์ ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค.
<URL>https://{LOCATION}-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL_ID}:predict</URL>
<SimilaritySearch>
์ด ์์์๋ ์ ์ฌ์ฑ ๊ฒ์์ ์คํํ๋ ๋ฐ ํ์ํ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ ๊ณต๊ฐ ์์ธ์ ์ฟผ๋ฆฌํ์ฌ ์ต๊ทผ์ ์ด์ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
๊ธฐ๋ณธ๊ฐ | ํด๋น ์ฌํญ ์์ |
ํ์ ์ฌ๋ถ | ํ์ |
์ ํ | ๋ฌธ์์ด |
์์ ์์ |
<SemanticCacheLookup>
|
ํ์ ์์ |
<VertexAI> |
<SimilaritySearch>
์์๋ ๋ค์ ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค.
<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> </VertexAI> </SimilaritySearch>
<VertexAI>(<SimilaritySearch>
์ ํ์ ์์)
Vertex AI ๊ด๋ จ ์์ฑ์ <URL> ์์๋ฅผ ํฌํจํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ | ํด๋น ์ฌํญ ์์ |
ํ์ ์ฌ๋ถ | ํ์ |
์ ํ | ๋ฌธ์์ด |
์์ ์์ |
<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> </VertexAI>
๋ค์ ํ์์๋ <VertexAI>
์ ํ์ ์์์ ๋ํ ๋๋ต์ ์ธ ์ค๋ช
์ ์ ๊ณตํฉ๋๋ค.
ํ์ ์์ | ํ์ ์ฌ๋ถ | ์ค๋ช |
---|---|---|
<URL> |
ํ์ | ๋ฌธ์์ด ์ ์ฌ์ฑ ๊ฒ์์ ์ํํ๋ ๋ฐ ์ฌ์ฉ๋๋ URL์ ๋๋ค. ์ ์ฌ์ฑ ๊ธฐ์ค์ ๋ฐ๋ผ ๊ฐ์ฅ ์ผ์นํ๋ ๋ฐ์ดํฐ ํฌ์ธํธ๋ง ์ฌ์ฉ๋ฉ๋๋ค. |
<Threshold> |
์ ํ์ฌํญ | ๋ฌธ์์ด ๋ ํ๋กฌํํธ๊ฐ ์ผ์นํ๋์ง ์ฌ๋ถ๋ฅผ ํ๋จํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ ์ฌ์ฑ ์ ์์ ๋๋ค. 0~1 ์ฌ์ด์ ๊ฐ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 0.9์ ๋๋ค. |
<DeployedIndexID> |
ํ์ | ๋ฌธ์์ด ์๋งจํฑ ์บ์ฑ์ ์ฌ์ฉ๋๋ ์์ธ ์๋ํฌ์ธํธ์ ๋ฐฐํฌ๋ ์์ธ์ ID์ ๋๋ค. |
ํ๋ฆ ๋ณ์
ํ๋ฆ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด HTTP ํค๋, ๋ฉ์์ง ์ฝํ ์ธ ๋๋ ํ๋ฆ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ปจํ ์คํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ์ฑ ๋ฐ ํ๋ฆ์ ๋์ ๋ฐํ์ ๋์์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ํ๋ฆ ๋ณ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋ฆ ๋ณ์ ์ฐธ์กฐ๋ฅผ ํ์ธํ์ธ์.
์ ์ฑ ์ ์คํ ์ค์ ์ด๋ฌํ ์ฝ๊ธฐ ์ ์ฉ ๋ณ์๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
๋ณ์ ์ด๋ฆ | ์ค๋ช |
---|---|
request.content |
์์ ๋๋ API ์์ฒญ์ ์ ์ฒด ์ฝํ ์ธ ๋ฅผ ํฌํจํฉ๋๋ค. |
request.url |
์์ API ์์ฒญ์ URL์ ํฌํจํฉ๋๋ค. |
semanticcache.lookup.policy_name.user_prompt |
์์ฒญ ํ๋กฌํํธ์์ ์ถ์ถ๋ ํน์ ๊ตฌ์ฑ์์๋ฅผ ํฌํจํ๋ฉฐ, ์๋ฒ ๋ฉ์ ์์ฑํ๊ฑฐ๋ ์ ์ฌ์ฑ ๊ฒ์์ ์คํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. |
semanticcache.lookup.policy_name.embeddings_request |
์ ๋ ฅ ํ ์คํธ์ ํ ์คํธ ์๋ฒ ๋ฉ์ ์์ฑํ๊ธฐ ์ํด Vertex AI Embeddings API๋ก ์ ์ก๋ ์์ฒญ ํ์ด๋ก๋๋ฅผ ํฌํจํฉ๋๋ค. |
semanticcache.lookup.policy_name.embeddings_response |
์์ฑ๋ ํ ์คํธ ์๋ฒ ๋ฉ์ด ํฌํจ๋ Vertex AI Embeddings API์ ์๋ต์ด ํฌํจ๋์ด ์์ต๋๋ค. |
semanticcache.lookup.policy_name.dense_embeddings |
Vertex AI Embeddings API์์ ์์ฑ๋ ์ค์ ์ซ์ ์๋ฒ ๋ฉ ๊ฐ์ ํฌํจํฉ๋๋ค. |
semanticcache.lookup.policy_name.is_nearest_neighbor_hit |
์ง์ ๋ ์์ฒญ์ ๋ํด ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ต๊ทผ์ ์ด์์ด ๋ฐ๊ฒฌ๋์๊ณ ๋ฐ์ดํฐ ํฌ์ธํธ๊ฐ ์ ์ฌ์ฑ ๊ธฐ์ค์ ์ ์ถฉ์กฑํ๋์ง ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค. |
semanticcache.lookup.policy_name.cache_hit |
์๋ต์ด ์๋งจํฑ ์บ์์์ ๋ฐ๊ฒฌ๋์๋์ง ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค. |
semanticcache.lookup.policy_name.cached_llm_response |
์๋ฏธ ์บ์์์ ๊ฐ์ ธ์จ ์๋ต์ ํฌํจํฉ๋๋ค(์บ์ ์ ์ค์ด ๋ฐ์ํ ๊ฒฝ์ฐ). |
์ค๋ฅ ์ฐธ์กฐ
์ด ์น์
์์๋ ๋ฐํ๋๋ ์ค๋ฅ ์ฝ๋ ๋ฐ ์ค๋ฅ ๋ฉ์์ง์ <SemanticCacheLookup>
์ ์ฑ
๊ณผ ๊ด๋ จํด์ Apigee์์ ์ค์ ๋ ์ค๋ฅ ๋ณ์์ ๋ํด ์ค๋ช
ํฉ๋๋ค. ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ค๋ฅ ๊ท์น์ ๊ฐ๋ฐ ์ค์ธ ๊ฒฝ์ฐ ์ด ์ ๋ณด๋ ์ค์ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ ์ฑ
์ค๋ฅ์ ๋ํด ์์์ผ ํ ์ฌํญ ๋ฐ ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ฐํ์ ์ค๋ฅ
์ด๋ฌํ ์ค๋ฅ๋ ์ ์ฑ ์ด ์คํ๋ ๋ ๋ฐ์ํ ์ ์์ต๋๋ค.
์ค๋ฅ ์ฝ๋ | HTTP ์ํ | ์์ธ |
---|---|---|
steps.semanticcache.lookup.MessageTemplateExtractionFailed |
400 |
JSON ๊ฒฝ๋ก ํํ์์ ์ฌ์ฉํ์ฌ ์์ฒญ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ง ๋ชปํ์ต๋๋ค. |
steps.semanticcache.lookup.FailedToExtractUserPrompt |
500 |
API ์์ฒญ์์ ์ฌ์ฉ์ ํ๋กฌํํธ๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค. |
steps.semanticcache.lookup.EmbeddingsServiceUnavailable |
400 |
ํ์ฌ Vertex AI Embeddings ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. |
steps.semanticcache.lookup.EmbeddingsAPIFailed |
400 |
Vertex AI Embeddings ์๋น์ค๊ฐ ์คํจํ์ต๋๋ค. |
steps.semanticcache.lookup.VectorSearchServiceUnavailable |
400 |
ํ์ฌ Vertex AI ๋ฒกํฐ ๊ฒ์ ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. |
steps.semanticcache.lookup.VectorSearchAPIFailed |
400 |
Vertex AI ๋ฒกํฐ ๊ฒ์ ์๋น์ค๊ฐ ์คํจํ์ต๋๋ค. |
steps.semanticcache.lookup.AuthenticationFailure |
500 |
์๋น์ค ๊ณ์ ์ ํ์ํ ๊ถํ์ด ์์ต๋๋ค. |
steps.semanticcache.lookup.InternalError |
500 |
SemanticCacheLookup ์ ์ฑ ๋ด์์ ์๊ธฐ์น ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. |
steps.semanticcache.lookup.CalloutError |
500 |
Vertex AI ์๋น์ค ํธ์ถ์ด ์คํจํ์ต๋๋ค. |
๋ฐฐํฌ ์ค๋ฅ
์ด ์ค๋ฅ๋ ์ด ์ ์ฑ ์ด ํฌํจ๋ ํ๋ก์๋ฅผ ๋ฐฐํฌํ ๋ ๋ฐ์ํ ์ ์์ต๋๋ค.
์ค๋ฅ ์ด๋ฆ | ์์ธ |
---|---|
The Embeddings/VertexAI element is required. |
<Embeddings>์ <VertexAI> ์์๊ฐ ๋น์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
The SimilaritySearch/VertexAI element is required. |
<SimilaritySearch>์ <VertexAI> ์์๊ฐ ๋น์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
The Embeddings/URL element is required. |
<Embeddings>์ <URL> ์์๊ฐ ๋น์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
The SimilaritySearch/URL element is required. |
<SimilaritySearch>์ <URL> ์์๊ฐ ๋น์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
Embeddings URL {url} is invalid. |
<Embeddings>์ <URL> ์์๊ฐ ๋น์ด ์๊ฑฐ๋ ์ ํจํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
The SimilaritySearch URL {url} is invalid. |
<SimilaritySearch>์ <URL> ์์๊ฐ ๋น์ด ์๊ฑฐ๋ ์ ํจํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
The scheme {http-scheme} of Embeddings URL {url} must be one of http, https. |
Embeddings <URL> ์์์ http ์คํค๋ง๊ฐ ์ ํจํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
The scheme {http-scheme} of SimilaritySearch URL {url} must be one of http, https. |
SimilaritySearch <URL> ์์์ http ์คํค๋ง๊ฐ ์๋ชป๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
SimilaritySearch/Threshold element must be >= 0 and <= 1. |
์์ฑ์ด 0๊ณผ 1 ์ฌ์ด์ ์์ง ์์ผ๋ฉด API ํ๋ก์ ๋ฐฐํฌ๊ฐ ์คํจํฉ๋๋ค. |
SimilaritySearch/DeployedIndexID element is required. |
<SimilaritySearch>์ <DeployedIndexID> ์์๊ฐ ๋น์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
SimilaritySearch/DeployedIndexID element must not contain spaces. |
<SimilaritySearch>์ <DeployedIndexID> ์์์ ๊ณต๋ฐฑ์ด ํฌํจ๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
์ค๋ฅ ๋ณ์
์ด๋ฌํ ๋ณ์๋ ์ด ์ ์ฑ ์ด ๋ฐํ์ ์ ์ค๋ฅ๋ฅผ ํธ๋ฆฌ๊ฑฐํ ๋ ์ค์ ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ ์ฑ ์ค๋ฅ์ ๋ํด ์์์ผ ํ ์ฌํญ์ ์ฐธ์กฐํ์ธ์.
๋ณ์ | ์์น | ์ |
---|---|---|
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์์ ์ ์ฑ
์คํค๋ง๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.