A company is developing a RAG application to provide concise and highly relevant answers to user queries from a vast knowledge base of technical documents. They are using Cortex Search for retrieval and are considering different embedding models and text chunking strategies to optimise the system. Which of the following statements about Cortex Search embedding models and RAG best practices are correct? (Select all that apply)
Correct Answer: B,C,E
Option A is incorrect. While 'snowflake-arctic-embed-l-v2.0-8k' has a larger context window, Snowflake explicitly recommends splitting text into chunks of no more than 512 tokens for optimal RAG retrieval quality. This practice typically results in higher retrieval and downstream LLM response quality, even for models with larger context windows. Option B is correct. The 'voyage-multilingual-2 model has a context window of 32000 tokens, while 'snowflake-arctic-embed-l-v2.0' has a 512-token context window. Both are multilingual embedding models. Option C is correct. For best search results with Cortex Search, Snowflake recommends splitting the text in your search column into chunks of no more than 512 tokens. Option D is incorrect. For 'EMBED TEXT functions, only 'input tokens' are counted towards the billable total, not output tokens. Option E is correct. The "SNOWFLAKE.CORTEX.COUNT_TOKENS function can be used to calculate the exact number of tokens in a string for a specified model, which is useful for managing context window limits and understanding cost implications.