diff --git a/README.md b/README.md index 805073b5..66e7c460 100644 --- a/README.md +++ b/README.md @@ -459,19 +459,22 @@ conversation_cache: authentication: module: "noop" -byok_rag: - - rag_id: custom-docs-0_1 - rag_type: inline::faiss - embedding_model: sentence-transformers/all-mpnet-base-v2 - embedding_dimension: 768 - vector_db_id: - db_path: /home//rag-content/vector_db/custom_docs/0.1/faiss_store.db - rag: - # inline: - # - custom-docs-0_1 - tool: - - custom-docs-0_1 + byok: + stores: + - rag_id: custom-docs-0_1 + backend: faiss + embedding_model: sentence-transformers/all-mpnet-base-v2 + embedding_dimension: 768 + vector_db_id: + db_path: /home//rag-content/vector_db/custom_docs/0.1/faiss_store.db + retrieval: + # inline: + # sources: + # - custom-docs-0_1 + tool: + sources: + - custom-docs-0_1 ``` Once we have a database we can use script `query_rag.py` to check some results: diff --git a/src/lightspeed_rag_content/config_templates.py b/src/lightspeed_rag_content/config_templates.py index 4e09bfad..1a7d9fa2 100644 --- a/src/lightspeed_rag_content/config_templates.py +++ b/src/lightspeed_rag_content/config_templates.py @@ -160,37 +160,43 @@ """ LCS_FAISS_BYOK_TEMPLATE = """\ -byok_rag: - - rag_id: {index_id} - rag_type: inline::faiss - embedding_model: {model_name} - embedding_dimension: {dimension} - vector_db_id: {vector_store_id} - db_path: ${{env.RAG_DB_PATH:={db_path}}} - rag: - # inline: - # - {index_id} - tool: - - {index_id} + byok: + stores: + - rag_id: {index_id} + backend: faiss + embedding_model: {model_name} + embedding_dimension: {dimension} + vector_db_id: {vector_store_id} + db_path: ${{env.RAG_DB_PATH:={db_path}}} + retrieval: + # inline: + # sources: + # - {index_id} + tool: + sources: + - {index_id} """ LCS_PGVECTOR_BYOK_TEMPLATE = """\ -byok_rag: - - rag_id: {index_id} - rag_type: remote::pgvector - embedding_model: {model_name} - embedding_dimension: {dimension} - vector_db_id: {vector_store_id} - host: ${{env.POSTGRES_HOST}} - port: ${{env.POSTGRES_PORT}} - db: ${{env.POSTGRES_DATABASE}} - user: ${{env.POSTGRES_USER}} - password: ${{env.POSTGRES_PASSWORD}} - rag: - # inline: - # - {index_id} - tool: - - {index_id} + byok: + stores: + - rag_id: {index_id} + backend: pgvector + embedding_model: {model_name} + embedding_dimension: {dimension} + vector_db_id: {vector_store_id} + host: ${{env.POSTGRES_HOST}} + port: ${{env.POSTGRES_PORT}} + db: ${{env.POSTGRES_DATABASE}} + user: ${{env.POSTGRES_USER}} + password: ${{env.POSTGRES_PASSWORD}} + retrieval: + # inline: + # sources: + # - {index_id} + tool: + sources: + - {index_id} """ diff --git a/tests/test_document_processor_llama_stack.py b/tests/test_document_processor_llama_stack.py index 6fa2a2c3..9ff7af0e 100644 --- a/tests/test_document_processor_llama_stack.py +++ b/tests/test_document_processor_llama_stack.py @@ -227,15 +227,17 @@ def test_write_lcs_config_faiss(self, mocker, llama_stack_processor): assert "service:" in data assert "llama_stack:" in data assert "authentication:" in data - assert "byok_rag:" in data - assert "rag_type: inline::faiss" in data + assert "byok:" in data + assert "stores:" in data + assert "backend: faiss" in data assert "rag_id: my-index" in data assert "vector_db_id: vs_abc123" in data assert "${env.RAG_DB_PATH:=/data/faiss_store.db}" in data assert "embedding_dimension: 768" in data assert f"embedding_model: {llama_stack_processor['model_name']}" in data - assert "rag:" in data + assert "retrieval:" in data assert "tool:" in data + assert "sources:" in data assert "- my-index" in data def test_write_lcs_config_pgvector(self, mocker, llama_stack_processor): @@ -253,11 +255,12 @@ def test_write_lcs_config_pgvector(self, mocker, llama_stack_processor): assert "service:" in data assert "llama_stack:" in data assert "authentication:" in data - assert "byok_rag:" in data - assert "rag_type: remote::pgvector" in data + assert "byok:" in data + assert "stores:" in data + assert "backend: pgvector" in data assert "rag_id: pg-index" in data assert "vector_db_id: vs_pg123" in data - byok_section = data[data.index("byok_rag:") :] + byok_section = data[data.index("byok:") :] assert "db_path" not in byok_section assert f"embedding_model: {llama_stack_processor['model_name']}" in data assert "${env.POSTGRES_HOST}" in data @@ -265,8 +268,9 @@ def test_write_lcs_config_pgvector(self, mocker, llama_stack_processor): assert "${env.POSTGRES_DATABASE}" in data assert "${env.POSTGRES_USER}" in data assert "${env.POSTGRES_PASSWORD}" in data - assert "rag:" in data + assert "retrieval:" in data assert "tool:" in data + assert "sources:" in data assert "- pg-index" in data def test_run_llama_stack(self, mocker, llama_stack_processor):