{"id":4976,"date":"2026-05-14T10:20:47","date_gmt":"2026-05-14T01:20:47","guid":{"rendered":"https:\/\/cinnamon.ai\/?post_type=ideas&#038;p=4976"},"modified":"2026-06-03T14:46:32","modified_gmt":"2026-06-03T05:46:32","slug":"super-rag-tech-blog-02","status":"publish","type":"ideas","link":"https:\/\/cinnamon.ai\/en\/ideas\/super-rag-tech-blog-02\/","title":{"rendered":"[Part 2] A Thorough Explanation of Three Embedded Patterns \u2014 Analyzing API Call Flows and Dify Expense Review"},"content":{"rendered":"<ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u306f\u3058\u3081\u306b-1\">Introduction<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u672c\u9023\u8f09\u306b\u3064\u3044\u3066-4\">About this series<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-3\u3064\u306e\u30d1\u30bf\u30fc\u30f3\u3092api\u547c\u3073\u51fa\u3057\u306e\u89b3\u70b9\u3067\u898b\u76f4\u3059-6\">Re-examining the three patterns from the perspective of &quot;API calls&quot;<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u30d1\u30bf\u30fc\u30f3\u2460-super-rag\u4e2d\u5fc3-\u6700\u77ed\u3067\u52d5\u304b\u3059-12\">Pattern \u2460: Super RAG centered \u2014 Operate in the shortest time possible<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u30d1\u30bf\u30fc\u30f3\u2461-\u691c\u7d22\u7279\u5316-\u691c\u7d22\u306f\u5916\u751f\u6210\u306f\u81ea\u793e-25\">Pattern \u2461: Search-focused \u2014 Search is handled externally, generation is done in-house.<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u30d1\u30bf\u30fc\u30f3\u2462-\u524d\u51e6\u7406\u7279\u5316-\u6587\u66f8\u89e3\u6790\u30a8\u30f3\u30b8\u30f3\u3060\u3051\u501f\u308a\u308b-37\">Pattern 3: Preprocessing Specialization \u2014 Only renting the document analysis engine.<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u5177\u4f53\u4f8b-\u30d1\u30bf\u30fc\u30f3\u2461\u3067dify\u3068\u7d44\u307f\u5408\u308f\u305b\u305f\u7d4c\u8cbb\u5be9\u67fb-50\">Specific example: Expense review combined with Dify in Pattern \u2461<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u80cc\u666f\u306a\u305cdify\u5358\u72ecsuper-rag\u5358\u72ec\u3067\u306f\u8db3\u308a\u306a\u3044\u306e\u304b-52\">Background: Why is Dify alone\/Super RAG alone insufficient?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u5168\u4f53\u50cf-62\">Overall architecture<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u306e\u30b9\u30c6\u30c3\u30d7\u6982\u8981-66\">Workflow Step Overview<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u5fdc\u7528\u7bc4\u56f2-75\">Application range<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u7cbe\u5ea6\u691c\u8a3c\u306e\u5177\u4f53\u7d50\u679c\u306f\u5f8c\u7d9a\u306e\u9023\u8f09\u3067-77\">The specific results of the accuracy verification will be presented in a subsequent series.<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u3069\u306e\u30d1\u30bf\u30fc\u30f3\u3092\u9078\u3076\u3079\u304d\u304b\u5224\u65ad\u8868-79\">Deciding which pattern to choose (table)<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-3\u8ef8\u306e\u9078\u629e-81\">3-axis selection<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-7\u3064\u306e\u30c1\u30a7\u30c3\u30af\u9805\u76ee-88\">7 check items<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u8ff7\u3063\u305f\u3068\u304d\u306e\u7c21\u6613\u30eb\u30fc\u30eb-93\">Simple rules when you&#039;re unsure<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u6b21\u56de\u4e88\u544a-98\">Next episode preview<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-\u307e\u3068\u3081-101\">summary<\/a><\/li><\/ul>\n\n\n<div style=\"height:85px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"aioseo-\u306f\u3058\u3081\u306b-1\" class=\"wp-block-heading\"><a>Introduction<\/a><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In the previous article, we introduced the overall picture of Super RAG and three integration patterns via the API (\u2460 Super RAG-centric \/ \u2461 search-focused \/ \u2462 pre-processing-focused). The pattern is determined by the boundary point of &quot;how much to entrust to Super RAG and how much to control in-house.&quot;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This time, we&#039;ll take it a step further.<strong>What is the actual API call flow for each pattern?<\/strong>,and<strong>Which pattern should our company&#039;s project choose?<\/strong>This article explains the process. The choice of pattern directly impacts the allocation of development resources, how existing assets are utilized, and future expansion potential. In the latter half, we will use the expense review workflow combined with Dify in Pattern \u2461 as a concrete example and delve into &quot;why this combination works.&quot; At the end of the article, we have prepared a &quot;Table for Determining Which Pattern to Choose&quot; as a reference for architectural considerations. It is designed to be used directly when discussing your company&#039;s RAG integration policy.<\/p>\n\n\n\n<div style=\"height:51px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"aioseo-\u672c\u9023\u8f09\u306b\u3064\u3044\u3066-4\" class=\"wp-block-heading\"><a>About this series<\/a><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is the second article in the series. The series is structured into five chapters: (I) Why Super RAG, (II) How to implement it, (III) Visualizing the contents, (IV) What&#039;s happening in the field, and (V) Decision-making regarding implementation. This article covers the first half of Chapter II, &quot;How to implement it,&quot; and the next article (the third in the series) will be a &quot;catalog&quot; that organizes the API functions themselves by function.<\/p>\n\n\n\n<div style=\"height:51px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"aioseo-3\u3064\u306e\u30d1\u30bf\u30fc\u30f3\u3092api\u547c\u3073\u51fa\u3057\u306e\u89b3\u70b9\u3067\u898b\u76f4\u3059-6\" class=\"wp-block-heading\"><a>Re-examining the three patterns from the perspective of &quot;API calls&quot;<\/a><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To review what we covered last time, let&#039;s look at the three patterns from the perspectives of &quot;who is responsible for what&quot; and &quot;the granularity of the APIs used.&quot;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"551\" src=\"https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/01_patterns_responsibility-1024x551.png\" alt=\"\" class=\"wp-image-4977\" srcset=\"https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/01_patterns_responsibility-1024x551.png 1024w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/01_patterns_responsibility-300x162.png 300w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/01_patterns_responsibility-768x414.png 768w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/01_patterns_responsibility-1536x827.png 1536w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/01_patterns_responsibility-18x10.png 18w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/01_patterns_responsibility-225x120.png 225w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/01_patterns_responsibility.png 1872w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em>Responsibility Sharing and API Dependencies in Three Built-in Patterns<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:51px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>pattern<\/th><th>Document analysis<\/th><th>Chunk search<\/th><th>Answer generation<\/th><th>Granularity of API usage<\/th><\/tr><\/thead><tbody><tr><td>\u2460 Mainly Super RAG<\/td><td>Super RAG<\/td><td>Super RAG<\/td><td>Super RAG (including LLM)<\/td><td>Large (registration + chat)<\/td><\/tr><tr><td>\u2461 Search-focused<\/td><td>Super RAG<\/td><td>Super RAG<\/td><td>Our own LLM<\/td><td>Medium (Registration + Search + Self-Generated)<\/td><\/tr><tr><td>\u2462 Specialized in pre-processing<\/td><td>Super RAG<\/td><td>Our company<\/td><td>Our own LLM<\/td><td>Detailed (extraction, chunking, and embedding using each API)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">What I&#039;d like you to pay attention to here is,<strong>&quot;Use &#039;purpose-oriented APIs&#039; that process at a larger granularity the closer you are to Super RAG, and use &#039;function-oriented APIs&#039; that process at a finer level the closer you are to your own company.&quot;<\/strong>This is the general trend. This is not simply a matter of effort, but a trade-off with the degree of control at each stage. In patterns where a degree of flexibility is desired, the number of functional API calls increases, while in situations where simplicity is desired, purpose-oriented API calls that do not require fine-grained control suffice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next, we will look at the API call flow in detail for each pattern.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"aioseo-\u30d1\u30bf\u30fc\u30f3\u2460-super-rag\u4e2d\u5fc3-\u6700\u77ed\u3067\u52d5\u304b\u3059-12\" class=\"wp-block-heading\"><a>Pattern \u2460: Super RAG centered \u2014 Operate in the shortest time possible<\/a><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pattern 1 is a configuration where the entire process, from document registration to response generation, is fully delegated to Super RAG. The company&#039;s own system plays only the minimal role of uploading files and sending chat messages.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>API<\/strong><strong>Call flow (typical example)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Upload the target document using POST \/api\/v3.2\/collections\/{collection_id}\/references\/<br>2. The Super RAG side automatically performs extraction, chunking, and indexing.<br>3. Create a chat session using POST \/api\/v3.2\/chats\/<br>4. Send your question via POST \/api\/v3.2\/chats\/{chat_id}\/messages\/<br>5. Answers, evidence, and reference chunks are streamed via SSE.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Suitable cases<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is a case where there is no existing RAG infrastructure and the company wants to deploy AI assistant functionality internally as quickly as possible. Because design, implementation, and operation can be minimized, the time from PoC to production will be the shortest possible.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Points to note<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With Super RAG, there are some limitations in fine-tuning the prompts ultimately sent to the LLM, replacing the LLM itself, and strictly controlling the response format. If you want to fine-tune the LLM&#039;s input and output yourself, you might want to consider Pattern \u2461.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"aioseo-\u30d1\u30bf\u30fc\u30f3\u2461-\u691c\u7d22\u7279\u5316-\u691c\u7d22\u306f\u5916\u751f\u6210\u306f\u81ea\u793e-25\" class=\"wp-block-heading\"><a>Pattern \u2461: Search-focused \u2014 Search is handled externally, generation is done in-house.<\/a><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pattern \u2461 utilizes Super RAG&#039;s powerful document analysis and search capabilities while controlling response generation (final prompt synthesis, context management, LLM call) on-site. This is a hybrid approach where searching is handled externally and response generation is done internally.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>API<\/strong><strong>Call flow (typical example)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Upload the document using POST \/api\/v3.2\/collections\/{collection_id}\/references\/<br>2. The system receives the query and retrieves the relevant chunks using POST \/api\/v3\/workflows\/retrieve\/.<br>3. Assemble the acquired chunks into prompts on our end.<br>4. Generate responses using your company&#039;s preferred LLM (OpenAI\/Azure\/on-premise LLM, etc.).<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Suitable cases<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is a case where the company already has an LLM calling infrastructure and a workflow control mechanism (similar to Dify, which will be discussed later). This configuration is well-suited to requirements where the company wants to control the response format, prompt tuning, and model switching in-house.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Dify expense review falls into this position.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As we will discuss in more detail later, a typical example of pattern \u2461 is a configuration where Dify&#039;s workflow calls \/api\/v3\/workflows\/retrieve\/ to retrieve relevant regulations, and a Dify agent then makes a review decision.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"aioseo-\u30d1\u30bf\u30fc\u30f3\u2462-\u524d\u51e6\u7406\u7279\u5316-\u6587\u66f8\u89e3\u6790\u30a8\u30f3\u30b8\u30f3\u3060\u3051\u501f\u308a\u308b-37\" class=\"wp-block-heading\"><a>Pattern 3: Preprocessing Specialization \u2014 Only renting the document analysis engine.<\/a><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pattern 3 uses Super RAG exclusively for document analysis (extraction, chunking, and embedding as needed), with vector database construction, searching, and response generation all controlled internally.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>API<\/strong><strong>Call flow (typical example)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Extract structured text from a file using POST \/api\/v3.3\/actions\/document-extract\/<br>2. Split the extracted text into chunks using POST \/api\/v3.3\/actions\/chunking\/<br>3. (Optional) Vectorize the chunks using POST \/api\/v3\/actions\/embedding\/. If using your own embedding model, perform this step yourself.<br>4. Store chunks and embeddings in our own vector database.<br>5. When a question is asked, the company performs a vector search \u2192 constructs a prompt \u2192 generates the answer using its own LLM (Low-Level Module).<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Suitable cases<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We have developed our own vector databases (Milvus, Qdrant, Pinecone, etc.) and search pipelines, and we want to maintain the flexibility of their search and inference capabilities.<strong>Only the part that extracts the structure of diverse documents, including Japanese, with high accuracy.<\/strong>This is a case where we want to entrust this to Super RAG. The accuracy of the preprocessing determines the ceiling of the final search and answer accuracy, so entrusting this to an external engine is a realistic option.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Points to note<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This approach offers the broadest implementation scope, from index building to query processing. However, it allows you to control every parameter yourself, including chunk granularity, vector dimension, and whether or not reranking is enabled.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"aioseo-\u5177\u4f53\u4f8b-\u30d1\u30bf\u30fc\u30f3\u2461\u3067dify\u3068\u7d44\u307f\u5408\u308f\u305b\u305f\u7d4c\u8cbb\u5be9\u67fb-50\" class=\"wp-block-heading\"><a>Specific example: Expense review combined with Dify in Pattern \u2461<\/a><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">From here, we will present the most easily understandable concrete example of pattern \u2461.<strong>Expense review workflow using Dify<\/strong>We will discuss this.<\/p>\n\n\n\n<h3 id=\"aioseo-\u80cc\u666f\u306a\u305cdify\u5358\u72ecsuper-rag\u5358\u72ec\u3067\u306f\u8db3\u308a\u306a\u3044\u306e\u304b-52\" class=\"wp-block-heading\">Background: Why is Dify alone\/Super RAG alone insufficient?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Expense review may seem like a simple matching task at first glance, but in reality, it involves multiple sources of information.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">- Reading the application details (subject, amount, payee, etc.)<br>- Comparison with internal expense regulations<br>- Assignment of accounting account codes<br>- External information when a decision cannot be made based on regulations (e.g., National Tax Agency guidelines, verification of the existence of the recipient of payment)<br>- A decision on whether or not to do something, based on supporting evidence.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you try to complete this process using only Dify, internal documents (Word, Excel, forms)<strong>High-precision reading<\/strong>This is where we run into problems. Dify&#039;s standard RAG is a simple, text-centric search, which tends to miss information in table cells and formatted standard documents. Also, creating custom pipelines with the Knowledge Pipeline feature requires a lot of effort and tends to be data-dependent, making it difficult to create general-purpose, high-precision pipelines.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the other hand, even if you try to complete the process using only Super RAG,<strong>Referencing external web information and controlling the flow of the review process<\/strong>This is where it falls short, making agent-based multi-stage inference difficult. In other words, in themes requiring multi-stage inference, the strengths of both are complementary. By combining Dify&#039;s &quot;flexible workflow control and agent functionality&quot; with Super RAG&#039;s &quot;high-precision Japanese document analysis + hybrid search,&quot; we can achieve accuracy and user experience that neither of them could have achieved alone.<\/p>\n\n\n\n<div style=\"height:53px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"aioseo-\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u5168\u4f53\u50cf-62\" class=\"wp-block-heading\">Overall architecture<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"432\" src=\"https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/02_dify_expense_review-1024x432.png\" alt=\"\" class=\"wp-image-4978\" srcset=\"https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/02_dify_expense_review-1024x432.png 1024w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/02_dify_expense_review-300x126.png 300w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/02_dify_expense_review-768x324.png 768w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/02_dify_expense_review-1536x648.png 1536w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/02_dify_expense_review-18x8.png 18w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/02_dify_expense_review.png 2040w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em>Overview of the Dify expense review process (typical example of pattern \u2461)<\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Search the Super RAG API from Dify&#039;s workflow node (\/api\/v3\/workflows\/retrieve\/ or Dify&#039;s<strong>External Knowledge API<\/strong>The system calls a forwarding service (*) to retrieve relevant expense regulations and account code information. Dify&#039;s agent then synthesizes the application details, search results, and external web information to produce a well-supported review decision. Super RAG is responsible only for the most mundane yet crucial aspect of quality: &quot;reading and searching internal documents.&quot;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">*) External Knowledge API integration will be officially supported in Super RAG 3.4, which is scheduled for release in July 2026 (tentative).<\/p>\n\n\n\n<h3 id=\"aioseo-\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u306e\u30b9\u30c6\u30c3\u30d7\u6982\u8981-66\" class=\"wp-block-heading\">Workflow Step Overview<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The actual workflow follows the steps outlined below (details will be explored in more detail later in this series).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Upload the expense claim form to Super RAG.<br>2. Extract text information such as subject, description, and amount from the application form.<br>3. Search for relevant chunks from expense regulations\/account code tables via Super RAG.<br>4. The AI agent makes a review decision based on the application content, search results, and necessary external web information.<br>5. Output the review results and supporting evidence as text.<br>6. Final confirmation of personnel<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"aioseo-\u5fdc\u7528\u7bc4\u56f2-75\" class=\"wp-block-heading\">Application range<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Expense review is just one example. This structure is:<strong>Accurate understanding of internal company documents<\/strong>&quot;and&quot;<strong>Multi-stage decision-making including external information<\/strong>It can be applied to any task that requires both internal and external information. For example, it can be consistently applied to tasks that have a structure of &quot;internal knowledge + external information + multi-stage judgment,&quot; such as contract reviews that cross-reference internal regulations with laws and regulations, technical reviews that compare design documents with past incident reports, and estimation support that cross-references specifications with product catalogs.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 id=\"aioseo-\u7cbe\u5ea6\u691c\u8a3c\u306e\u5177\u4f53\u7d50\u679c\u306f\u5f8c\u7d9a\u306e\u9023\u8f09\u3067-77\" class=\"wp-block-heading\">The specific results of the accuracy verification will be presented in a subsequent series.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For quantitative comparative verification results such as &quot;how much accuracy can actually be achieved&quot; and &quot;how do Dify alone, Super RAG alone, and combinations differ,&quot; as well as detailed node configurations of the workflow, please refer to the following:<strong>We will delve deeper into this in the &quot;Use Case Examples: AI Agent Integration (tentative title)&quot; section planned for the second half of this series.<\/strong>We will discuss how Pattern \u2461 functions in practice and how it affects accuracy.<\/p>\n\n\n\n<div style=\"height:49px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"aioseo-\u3069\u306e\u30d1\u30bf\u30fc\u30f3\u3092\u9078\u3076\u3079\u304d\u304b\u5224\u65ad\u8868-79\" class=\"wp-block-heading\"><a>Deciding which pattern to choose (table)<\/a><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Based on what we&#039;ve discussed so far, let&#039;s summarize the criteria for making decisions when actually choosing a pattern.<strong>Selection of 3 axes and 7 check items<\/strong>Please use this as a starting point for internal discussions.<\/p>\n\n\n\n<h3 id=\"aioseo-3\u8ef8\u306e\u9078\u629e-81\" class=\"wp-block-heading\">3-axis selection<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"1720\" height=\"880\" src=\"https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/03_decision_flow.png\" alt=\"\" class=\"wp-image-4979\" srcset=\"https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/03_decision_flow.png 1720w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/03_decision_flow-300x153.png 300w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/03_decision_flow-1024x524.png 1024w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/03_decision_flow-768x393.png 768w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/03_decision_flow-1536x786.png 1536w, https:\/\/cinnamon.ai\/wp-content\/uploads\/2026\/04\/03_decision_flow-18x9.png 18w\" sizes=\"auto, (max-width: 1720px) 100vw, 1720px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Pattern selection decision flow<\/em><\/p>\n\n\n\n<div style=\"height:53px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The patterns ultimately boil down to the selection of the following three axes:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Axis 1: Where is the data stored?<\/strong><br>If you want to place chunks in your company&#039;s vector database or existing search infrastructure \u2192 <strong>Pattern 3 confirmed<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Axis 2: Where should the search be performed?<\/strong><br>If you store the data on Super RAG, the search will also run on the Super RAG side. This cannot be separated.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Axis 3: Where will the response be generated?<\/strong><br>Complete the process using a Super RAG chat flow \u2192 <strong>Pattern 1<\/strong>\/ Controlled independently with our own LLM \u2192 <strong>Pattern \u2461<\/strong><\/p>\n\n\n\n<h3 id=\"aioseo-7\u3064\u306e\u30c1\u30a7\u30c3\u30af\u9805\u76ee-88\" class=\"wp-block-heading\">7 check items<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For more practical decision-making, we have prepared a quick reference chart that allows you to identify the most suitable pattern based on the results of the following seven check items.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>perspective<\/th><th>Pattern 1 orientation<\/th><th>Pattern \u2461<\/th><th>Pattern 3<\/th><\/tr><\/thead><tbody><tr><td>Existing assets of Vector DB<\/td><td>None \/ I&#039;d like to leave it to you<\/td><td>None \/ I&#039;d like to leave it to you<\/td><td>Yes \/ I want to make use of it<\/td><\/tr><tr><td>Flexibility in LLM selection and prompt adjustment<\/td><td>Low is fine<\/td><td>I want to hold it high<\/td><td>I want to hold it high<\/td><\/tr><tr><td>External data boundary requirements<\/td><td>It can be deposited into Super RAG.<\/td><td>It can be deposited into Super RAG.<\/td><td>We want to keep it confined to our own system.<\/td><\/tr><tr><td>Importance of implementation speed<\/td><td>top priority<\/td><td>Medium<\/td><td>It can be done later.<\/td><\/tr><tr><td>Development and Operations Resources<\/td><td>few<\/td><td>Medium<\/td><td>There is plenty.<\/td><\/tr><tr><td>Availability of existing workflow tools<\/td><td>none<\/td><td>Dify \/ n8n etc. available<\/td><td>We have our own proprietary control board.<\/td><\/tr><tr><td>Cost structure preference<\/td><td>Lowest learning cost<\/td><td>LLM is managed in-house.<\/td><td>In-house control, including infrastructure<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The pattern that fits from multiple perspectives becomes the first choice. If it&#039;s not possible to completely narrow it down to one pattern, you can start with pattern \u2461 and move to pattern \u2462 as needed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">*Regarding the &quot;external data boundary requirements,&quot; it is possible to install Super RAG within the customer&#039;s Azure environment even in cases \u2460 and \u2461.<\/p>\n\n\n\n<h3 id=\"aioseo-\u8ff7\u3063\u305f\u3068\u304d\u306e\u7c21\u6613\u30eb\u30fc\u30eb-93\" class=\"wp-block-heading\">Simple rules when you&#039;re unsure<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>I just want to get it moving as soon as possible.<\/strong> \u2192 Start with Pattern \u2460<\/li>\n\n\n\n<li><strong>We have existing workflow tools and agent infrastructure.<\/strong> \u2192 Combine using pattern \u2461<\/li>\n\n\n\n<li><strong>We want to utilize our existing vector database \/ We want to place the data on our own system.<\/strong> \u2192 Use pattern \u2462 to rent only the pre-processing equipment.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"aioseo-\u6b21\u56de\u4e88\u544a-98\" class=\"wp-block-heading\"><a>Next episode preview<\/a><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Next time (Part 3),<strong>API Functionality Catalog \u2014 What can be done, and what should be handled in-house?<\/strong>This article will provide a list of Super RAG API functions, such as document extraction, chunking, embedding, search, chat, authentication, and group management, categorized by role. It will also clarify &quot;who is responsible for which pattern&quot; for each function. By reading this in conjunction with pattern selection, it will serve as a &quot;dictionary-like&quot; article that will help you more concretely define the division of roles within your own system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And the specific accuracy verification results of Pattern \u2461&#039;s Dify expense review, and a deeper look at the node configuration within the workflow,<strong>&quot;Use Case Example: AI Agent Integration (Provisional)&quot;<\/strong>We&#039;ll be covering it. Please look forward to it.<\/p>\n\n\n\n<div style=\"height:52px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"aioseo-\u307e\u3068\u3081-101\" class=\"wp-block-heading\"><a>summary<\/a><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The three integration patterns can be summarized by the trade-off that &quot;the closer you are to Super RAG, the fewer and simpler the APIs will be; the closer you are to your own company, the more detailed and numerous the calls will be, but the greater the freedom of control.&quot; Pattern 1 prioritizes speed of implementation, Pattern 2 offers flexible combination with existing LLMs and workflow tools, and Pattern 3 leverages existing vector database assets and provides strong control\u2014these are the winning strategies for each pattern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The configuration of Pattern 2, such as Dify Expense Review, is a good example of how combining tools can reach areas that each tool alone could not, such as &quot;high-precision reading of internal documents&quot; and &quot;flexible multi-stage reasoning flows.&quot; When applying this to your own use case, start by organizing which &quot;areas&quot; to entrust to whom, using the decision table at the end of the article as a starting point.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&lt;Articles in this series&gt;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/cinnamon.ai\/en\/ideas\/super-rag-tech-blog-01\/\" target=\"_blank\" rel=\"noopener\" title=\"[Part 1] Achieving a Quality Beyond Standard RAG \u2014 Technical Innovations Supporting Super RAG\">[Part 1] Achieving a Quality Beyond Standard RAG \u2014 Technical Innovations Supporting Super RAG<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cinnamon.ai\/en\/ideas\/super-rag-tech-blog-02\/\" title=\"[Part 2] A Thorough Explanation of Three Embedded Patterns \u2014 Analyzing API Call Flows and Dify Expense Review\">[Part 2] A Thorough Explanation of Three Embedded Patterns \u2014 Analyzing API Call Flows and Dify Expense Review<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cinnamon.ai\/en\/ideas\/super-rag-tech-blog-03\/\" title=\"[Part 3] API Function Catalog \u2014 What can be done, and what should be handled in-house?\">[Part 3] API Function Catalog \u2014 What can be done, and what should be handled in-house?<\/a><\/li>\n\n\n\n<li>[Part 4] The Contents of Document Extraction \u2014 How is the Engine Selected? (Scheduled for release in June 2026)<\/li>\n\n\n\n<li>[Part 5] Hybrid Search and Reranking \u2014 Making the Most of Extracted Content by Balancing &quot;Semantic&quot; and &quot;Word&quot; (Scheduled for release in June 2026)<\/li>\n\n\n\n<li>[Part 6] Super RAG Answer Strategy \u2014 Design Decisions for Mastering Single-hop and Three Techniques to Support Answer Quality (Scheduled for release in June 2026)<\/li>\n<\/ul>\n\n\n\n<div style=\"height:81px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-fe48e5de wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/contents.cinnamon.ai\/contact\/inquiry_blog\" target=\"_blank\" rel=\"noreferrer noopener\">contact<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/contents.cinnamon.ai\/download\/wp_superrag_dl_blog\" target=\"_blank\" rel=\"noreferrer noopener\">Super RAG Document Download<\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:140px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>","protected":false},"excerpt":{"rendered":"<p>\u306f\u3058\u3081\u306b \u524d\u56de\u306e\u8a18\u4e8b\u3067\u306f\u3001Super RAG\u306e\u5168\u4f53\u50cf\u3068\u3001API\u3092\u901a\u3058\u305f3\u3064\u306e\u7d44\u307f\u8fbc\u307f\u30d1\u30bf\u30fc\u30f3\uff08\u2460Super RAG\u4e2d\u5fc3\uff0f\u2461\u691c\u7d22\u7279\u5316\uff0f\u2462\u524d\u51e6\u7406\u7279\u5316\uff09\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002\u300c\u3069\u3053\u307e\u3067\u3092Super RAG\u306b\u4efb\u305b\u3001\u3069\u3053\u304b\u3089\u81ea\u793e\u3067\u5236\u5fa1 [&hellip;]<\/p>","protected":false},"featured_media":4980,"template":"","ideas-cat":[59],"class_list":["post-4976","ideas","type-ideas","status-publish","has-post-thumbnail","hentry","ideas-cat-tech"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/cinnamon.ai\/en\/wp-json\/wp\/v2\/ideas\/4976","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cinnamon.ai\/en\/wp-json\/wp\/v2\/ideas"}],"about":[{"href":"https:\/\/cinnamon.ai\/en\/wp-json\/wp\/v2\/types\/ideas"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cinnamon.ai\/en\/wp-json\/wp\/v2\/media\/4980"}],"wp:attachment":[{"href":"https:\/\/cinnamon.ai\/en\/wp-json\/wp\/v2\/media?parent=4976"}],"wp:term":[{"taxonomy":"ideas-cat","embeddable":true,"href":"https:\/\/cinnamon.ai\/en\/wp-json\/wp\/v2\/ideas-cat?post=4976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}