{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-@l10n/vi/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Tài liệu tham khảo C/C++ cho Tisane Embedded","projectTitle":"Tisane Developer Documentation","description":"Tisane is an NLP platform, used for content moderation & more.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"tài-liệu-tham-khảo-cc-cho-tisane-embedded","__idx":0},"children":["Tài liệu tham khảo C/C++ cho Tisane Embedded"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"tổng-quan","__idx":1},"children":["Tổng quan"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Hướng dẫn này cung cấp tài liệu tham khảo về các phương pháp có sẵn trong Bộ công cụ phát triển phần mềm (SDK) Tisane Embedded cho các ứng dụng C/C++."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"thành-phần","__idx":2},"children":["Thành phần"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Về cơ bản, Tisane runtime giao tiếp trực tiếp với các mô hình ngôn ngữ Tisane được lưu trữ trong kho lưu trữ RocksDB. Không cần sử dụng hoặc cài đặt hệ thống quản lý cơ sở dữ liệu bên ngoài."]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"flowchart LR\n  library[Tisane C++ library]\n  rocksdb[(RocksDB language models)]\n  library<--->rocksdb\n","diagramHtml":"<svg id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 520.078125px;\" viewBox=\"0 0.000003814697265625 520.078125 102.14356994628906\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012{font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .error-icon{fill:#552222;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .error-text{fill:#552222;stroke:#552222;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .edge-thickness-normal{stroke-width:1px;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .edge-thickness-thick{stroke-width:3.5px;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .edge-pattern-solid{stroke-dasharray:0;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .marker{fill:#333333;stroke:#333333;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .marker.cross{stroke:#333333;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 svg{font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:16px;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 p{margin:0;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .label{font-family:\"Redocly Mermaid Sans\",sans-serif;color:#333;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .cluster-label text{fill:#333;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .cluster-label span{color:#333;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .cluster-label span p{background-color:transparent;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .label text,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 span{fill:#333;color:#333;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .node rect,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .node circle,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .node ellipse,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .node polygon,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .rough-node .label text,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .node .label text,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .image-shape .label,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .icon-shape .label{text-anchor:middle;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .rough-node .label,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .node .label,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .image-shape .label,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .icon-shape .label{text-align:center;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .node.clickable{cursor:pointer;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .arrowheadPath{fill:#333333;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .flowchart-link{stroke:#333333;fill:none;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .cluster text{fill:#333;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .cluster span{color:#333;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 rect.text{fill:none;stroke-width:0;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .icon-shape,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .icon-shape p,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .icon-shape .label rect,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 .node .neo-node{stroke:#9370DB;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 [data-look=\"neo\"].node rect,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 [data-look=\"neo\"].cluster rect,#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",sans-serif;}#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",sans-serif;}</style><g><marker id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M204.531,51.072L208.031,51.072C211.531,51.072,218.531,51.072,226.198,51.072C233.865,51.072,242.198,51.072,250.531,51.072C258.865,51.072,267.198,51.072,274.865,51.072C282.531,51.072,289.531,51.072,293.031,51.072L296.531,51.072\" id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012-L_library_rocksdb_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_library_rocksdb_0\" data-points=\"W3sieCI6MjAwLjUzMTI1LCJ5Ijo1MS4wNzE3ODExNTg0NDcyNjZ9LHsieCI6MjI1LjUzMTI1LCJ5Ijo1MS4wNzE3ODExNTg0NDcyNjZ9LHsieCI6MjUwLjUzMTI1LCJ5Ijo1MS4wNzE3ODExNTg0NDcyNjZ9LHsieCI6Mjc1LjUzMTI1LCJ5Ijo1MS4wNzE3ODExNTg0NDcyNjZ9LHsieCI6MzAwLjUzMTI1LCJ5Ijo1MS4wNzE3ODExNTg0NDcyNjZ9XQ==\" data-look=\"classic\" marker-start=\"url(#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-pointStart)\" marker-end=\"url(#diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_library_rocksdb_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012-flowchart-library-0\" data-look=\"classic\" transform=\"translate(104.265625, 51.071781158447266)\"><rect class=\"basic label-container\" style=\"\" x=\"-96.265625\" y=\"-27\" width=\"192.53125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-66.265625, -12)\"><rect></rect><foreignObject width=\"132.53125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Tisane C++ library</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012-flowchart-rocksdb-1\" data-look=\"classic\" transform=\"translate(406.3046875, 51.071781158447266)\"><path d=\"M0,15.714517851339432 a105.7734375,15.714517851339432 0,0,0 211.546875,0 a105.7734375,15.714517851339432 0,0,0 -211.546875,0 l0,54.71451785133943 a105.7734375,15.714517851339432 0,0,0 211.546875,0 l0,-54.71451785133943\" class=\"basic label-container outer-path\" style=\"\" transform=\"translate(-105.7734375, -43.07177677700915)\"></path><g class=\"label\" style=\"\" transform=\"translate(-98.2734375, -2)\"><rect></rect><foreignObject width=\"196.546875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>RocksDB language models</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs><defs><filter id=\"diagram-dc8ec59114f5765e41c569b6e623f45308e3268ba18fa1ae2d1291e6258b4012-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs></svg>","diagramHtmlDark":"<svg id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 520.078125px;\" viewBox=\"0 0.000003814697265625 520.078125 102.14356994628906\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a{font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .error-icon{fill:#a44141;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .error-text{fill:#ddd;stroke:#ddd;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .edge-thickness-normal{stroke-width:1px;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .edge-thickness-thick{stroke-width:3.5px;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .edge-pattern-solid{stroke-dasharray:0;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .edge-pattern-dashed{stroke-dasharray:3;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .edge-pattern-dotted{stroke-dasharray:2;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .marker{fill:lightgrey;stroke:lightgrey;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .marker.cross{stroke:lightgrey;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a svg{font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:16px;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a p{margin:0;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .label{font-family:\"Redocly Mermaid Sans\",sans-serif;color:#ccc;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .cluster-label text{fill:#F9FFFE;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .cluster-label span{color:#F9FFFE;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .cluster-label span p{background-color:transparent;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .label text,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a span{fill:#ccc;color:#ccc;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .node rect,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .node circle,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .node ellipse,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .node polygon,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .rough-node .label text,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .node .label text,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .image-shape .label,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .icon-shape .label{text-anchor:middle;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .rough-node .label,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .node .label,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .image-shape .label,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .icon-shape .label{text-align:center;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .node.clickable{cursor:pointer;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .arrowheadPath{fill:lightgrey;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .flowchart-link{stroke:lightgrey;fill:none;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .cluster text{fill:#F9FFFE;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .cluster span{color:#F9FFFE;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a rect.text{fill:none;stroke-width:0;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .icon-shape,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .icon-shape p,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .icon-shape .label rect,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a .node .neo-node{stroke:#ccc;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a [data-look=\"neo\"].node rect,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a [data-look=\"neo\"].cluster rect,#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a [data-look=\"neo\"].node polygon{stroke:url(#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a [data-look=\"neo\"].node path{stroke:url(#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a-gradient);stroke-width:1px;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a [data-look=\"neo\"].node circle{stroke:url(#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a :root{--mermaid-font-family:\"Redocly Mermaid Sans\",sans-serif;}#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a :root{--mermaid-font-family:\"Redocly Mermaid Sans\",sans-serif;}</style><g><marker id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M204.531,51.072L208.031,51.072C211.531,51.072,218.531,51.072,226.198,51.072C233.865,51.072,242.198,51.072,250.531,51.072C258.865,51.072,267.198,51.072,274.865,51.072C282.531,51.072,289.531,51.072,293.031,51.072L296.531,51.072\" id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a-L_library_rocksdb_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_library_rocksdb_0\" data-points=\"W3sieCI6MjAwLjUzMTI1LCJ5Ijo1MS4wNzE3ODExNTg0NDcyNjZ9LHsieCI6MjI1LjUzMTI1LCJ5Ijo1MS4wNzE3ODExNTg0NDcyNjZ9LHsieCI6MjUwLjUzMTI1LCJ5Ijo1MS4wNzE3ODExNTg0NDcyNjZ9LHsieCI6Mjc1LjUzMTI1LCJ5Ijo1MS4wNzE3ODExNTg0NDcyNjZ9LHsieCI6MzAwLjUzMTI1LCJ5Ijo1MS4wNzE3ODExNTg0NDcyNjZ9XQ==\" data-look=\"classic\" marker-start=\"url(#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-pointStart)\" marker-end=\"url(#diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_library_rocksdb_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a-flowchart-library-0\" data-look=\"classic\" transform=\"translate(104.265625, 51.071781158447266)\"><rect class=\"basic label-container\" style=\"\" x=\"-96.265625\" y=\"-27\" width=\"192.53125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-66.265625, -12)\"><rect></rect><foreignObject width=\"132.53125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Tisane C++ library</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a-flowchart-rocksdb-1\" data-look=\"classic\" transform=\"translate(406.3046875, 51.071781158447266)\"><path d=\"M0,15.714517851339432 a105.7734375,15.714517851339432 0,0,0 211.546875,0 a105.7734375,15.714517851339432 0,0,0 -211.546875,0 l0,54.71451785133943 a105.7734375,15.714517851339432 0,0,0 211.546875,0 l0,-54.71451785133943\" class=\"basic label-container outer-path\" style=\"\" transform=\"translate(-105.7734375, -43.07177677700915)\"></path><g class=\"label\" style=\"\" transform=\"translate(-98.2734375, -2)\"><rect></rect><foreignObject width=\"196.546875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>RocksDB language models</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><defs><filter id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><linearGradient id=\"diagram-72f264f9b61ed5f6284f47527de45edcf1e27f31f035e4254a20a57d5835d27a-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></svg>"},"children":["flowchart LR\n  library[Tisane C++ library]\n  rocksdb[(RocksDB language models)]\n  library<--->rocksdb\n"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"các-hệ-điều-hành-nhị-phân","__idx":3},"children":["Các hệ điều hành nhị phân"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"windows","__idx":4},"children":["Windows"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Thư viện runtime:"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["libTisane.dll"]},": Tisane runtime cốt lõi."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["libgcc_s_seh-1.dll"]},": Thư viện POSIX C/C++ chuẩn."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["libstdc++-6.dll"]},": Thư viện POSIX C/C++ chuẩn."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["libwinpthread-1.dll"]},": Thư viện POSIX C/C++ chuẩn."]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"linux","__idx":5},"children":["Linux"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["tisane: Chương trình thực thi cốt lõi của Tisane."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"mô-hình-ngôn-ngữ","__idx":6},"children":["Mô hình ngôn ngữ"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Xem phần: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/vi/sdks/languagemodels"},"children":["Kho dữ liệu mô hình ngôn ngữ"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"yêu-cầu","__idx":7},"children":["Yêu cầu"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"nền-tảng","__idx":8},"children":["Nền tảng"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"windows-1","__idx":9},"children":["Windows"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Windows 10+ (64-bit)"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Các phiên bản Windows cũ hơn có thể hoạt động nhưng không được hỗ trợ chính thức"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"linux-1","__idx":10},"children":["Linux"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Kernel phiên bản 6.0.0 trở lên"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"ram","__idx":11},"children":["RAM"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Tải chậm"]},": 50 Mb cố định + 50 đến 100 Mb cho mỗi mô hình ngôn ngữ"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Tải đầy đủ"]},": từ 400 Mb đến 2 Gb cho mỗi mô hình ngôn ngữ"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Đọc thêm: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/vi/sdks/lazyloading"},"children":["Chế độ Tải chậm so với chế độ Tải đầy đủ"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"tích-hợp","__idx":12},"children":["Tích hợp"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"luồng-công-việc-cơ-bản","__idx":13},"children":["Luồng công việc cơ bản"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SetDbPath"]}," – Thiết lập đường dẫn dữ liệu."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LoadAnalysisLanguageModel"]}," – Tải mô hình ngôn ngữ mong muốn."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Parse"]}," – Phân tích văn bản"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"cài-đặt-và-sử-dụng","__idx":14},"children":["Cài đặt và sử dụng"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Bao gồm tệp tiêu đề:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Hãy đảm bảo bạn bao gồm tệp tiêu đề cần thiết (",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/assets/tisane.6f323797c0d44b9f4a7baf0067907a19f0ebfa1f3001b13c1d8d7712c80092a9.b50dc3a2.h"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tisane.h"]}]},") trong dự án C/C++ của mình."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Tệp này sẽ chứa các khai báo hàm."]}]},{"$$mdtype":"Tag","name":"ol","attributes":{"start":2},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Liên kết ứng dụng của bạn với thư viện Tisane (ví dụ: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tisane.so"]}," hoặc ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["libTisane.dll"]},")."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Khởi tạo:"]}]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Thiết lập đường dẫn dữ liệu:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Lệnh ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["gọi"]}," đầu tiên bạn ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["phải"]}," thực hiện là đến ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SetDbPath"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Thao tác này cho SDK biết nơi tìm tệp dữ liệu mô hình ngôn ngữ."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tải mô hình ngôn ngữ:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Gọi ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LoadAnalysisLanguageModel"]}," để tải mô hình ngôn ngữ mong muốn."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Gọi ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["sau khi"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SetDbPath"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Việc tải toàn bộ mô hình ngôn ngữ có thể mất thời gian, đặc biệt là đối với các mô hình lớn."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Nếu có kế hoạch chuyển đổi (ví dụ: dịch), hãy tải mô hình ngôn ngữ tạo sinh:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Gọi ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LoadGenerationLanguageModel"]}," để tải mô hình ngôn ngữ mong muốn cho ngôn ngữ đích."]}]}]}]},{"$$mdtype":"Tag","name":"ol","attributes":{"start":4},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Quy trình:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Phân tích cú pháp văn bản:"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sử dụng hàm ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Parse"]}," để phân tích văn bản bằng các cài đặt được chỉ định:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["language"]},": Mã ngôn ngữ chuẩn ISO-639-1 (ví dụ: \"en\", \"zh-CN\"), danh sách mã ngôn ngữ phân cách bằng gạch đứng hoặc dấu ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["*"]}," để phát hiện tự động."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["content"]},": Văn bản UTF-8 để phân tích cú pháp."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["settings"]},": Chuỗi JSON với các cài đặt. (Xem phần: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/vi/apis/tisane-api-response-guide"},"children":["Hướng dẫn phản hồi và cấu hình"]},").`"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Returns"]},": Chuỗi JSON (Xem phần: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/vi/apis/tisane-api-response-guide"},"children":["Hướng dẫn phản hồi và cấu hình"]},")."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Phát hiện ngôn ngữ:"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sử dụng hàm ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DetectLanguage"]}," để xác định ngôn ngữ của một văn bản nhất định."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["content"]},": Văn bản UTF-8."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["likelyLanguages"]},": (Tùy chọn) Ngôn ngữ dự kiến."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["segmentDelimiter"]},": (Tùy chọn) Phân tách các phần của văn bản để phát hiện ngôn ngữ. Mặc dù có thể phát hiện nhiều ngôn ngữ khác nhau mà không cần chỉ định rõ ràng dấu phân cách, nhưng dấu phân cách cho phép kiểm soát kết quả tốt hơn."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Returns"]},": Mã ngôn ngữ được phát hiện."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Chuyển đổi văn bản:"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sử dụng hàm ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Transform"]}," để dịch hoặc diễn giải một chuỗi từ ngôn ngữ này sang ngôn ngữ khác."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceLanguage"]},": Mã ngôn ngữ chuẩn ISO-639-1 (ví dụ: \"en\", \"zh-CN\"), danh sách mã ngôn ngữ phân cách bằng gạch đứng hoặc dấu ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["*"]}," để phát hiện tự động."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["targetLanguage"]},": Mã ngôn ngữ cần dịch hoặc danh sách mã ngôn ngữ được phân cách bằng dấu gạch đứng."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["content"]},": Văn bản UTF-8 cần chuyển đổi."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["settings"]},": Chuỗi JSON."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Returns"]},": Văn bản đã chuyển đổi, nếu một ngôn ngữ đích được chỉ định; một mảng JSON chứa bản dịch, nếu nhiều ngôn ngữ được chỉ định."]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Xem thêm phần:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/vi/apis/tisane-api-response-guide"},"children":["Hướng dẫn cấu hình và phản hồi API"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"tham-chiếu-hàm","__idx":15},"children":["Tham chiếu hàm"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"setdbpath","__idx":16},"children":["SetDbPath"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"__stdcall void SetDbPath(const char *dataRootPath);\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Xác định đường dẫn gốc đến các tệp dữ liệu mô hình ngôn ngữ. Phải gọi hàm này trước khi sử dụng bất kỳ hàm Tisane SDK nào khác."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dataRootPath"]},": Chuỗi kiểu C kết thúc bằng ký tự null biểu thị đường dẫn tuyệt đối hoặc tương đối đến thư mục chứa dữ liệu mô hình ngôn ngữ."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Giá trị trả về:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Không có."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ví dụ:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"SetDbPath(\"C:\\\\Tisane\");\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"loadanalysislanguagemodel","__idx":17},"children":["LoadAnalysisLanguageModel"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"__stdcall void LoadAnalysisLanguageModel(const char *languageCode);\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tải mô hình ngôn ngữ để sử dụng theo phương pháp ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Parse"]}," hoặc làm ngôn ngữ nguồn trong phương pháp ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Transform"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tham số:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["languageCode"]},": Chuỗi kiểu C kết thúc bằng ký tự null biểu thị mã ngôn ngữ. Ví dụ: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"en\""]}," là tiếng  Anh, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"es\""]}," là tiếng Tây Ban Nha."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Giá trị trả về:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Không có."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ví dụ:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"LoadAnalysisLanguageModel(\"en\");\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"loadgenerationlanguagemodel","__idx":18},"children":["LoadGenerationLanguageModel"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"__stdcall void LoadGenerationLanguageModel(const char *languageCode);\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tải mô hình ngôn ngữ để sử dụng làm mô hình ngôn ngữ đích cho các tác vụ tạo văn bản như dịch và diễn giải."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Các mô hình tạo sinh luôn được tải ở chế độ chậm."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tham số:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["languageCode"]},": Chuỗi kiểu C kết thúc bằng ký tự null biểu thị mã ngôn ngữ."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Giá trị trả về:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Không có."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ví dụ:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"LoadGenerationLanguageModel(\"fr\"); // Load French for translation\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"loadcustomizedanalysislanguagemodel","__idx":19},"children":["LoadCustomizedAnalysisLanguageModel"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"__stdcall void LoadCustomizedAnalysisLanguageModel(const char *languageCode, const char *customizationSuffix);\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tải một mô hình ngôn ngữ tùy chỉnh. Thao tác này cho phép mở rộng mô hình ngôn ngữ cơ sở với vốn từ vựng hoặc logic cụ thể theo từng lĩnh vực. Mô hình ngôn ngữ tùy chỉnh được chạy cùng với mô hình ngôn ngữ chính và được ưu tiên hơn các định nghĩa của mô hình chính."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tham số:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["languageCode"]},": Mã ngôn ngữ của mô hình ngôn ngữ cơ sở."]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customizationSuffix"]},": Hậu tố xác định mô hình bổ sung tùy chỉnh cụ thể. SDK sẽ tìm kiếm thư mục có tên được chỉ định trong thư mục gốc hiện tại."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Giá trị trả về:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Không có."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ví dụ:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"SetDbPath(\"C:\\\\Tisane\");\nLoadCustomizedAnalysisLanguageModel(\"en\", \"medical\"); // Load a customized English model for the medical domain\n// Tisane will look for additional language models under C:\\\\Tisane\\\\medical\\\\\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"unloadanalysislanguagemodel","__idx":20},"children":["UnloadAnalysisLanguageModel"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"__stdcall void UnloadAnalysisLanguageModel(const char *languageCode);\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Dỡ bỏ mô hình ngôn ngữ phân tích đã tải trước đó khỏi bộ nhớ."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tham số:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["languageCode"]},": Mã ngôn ngữ của mô hình cần dỡ bỏ."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Giá trị trả về:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Không có."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ví dụ:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"UnloadAnalysisLanguageModel(\"en\");\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"setprogresscallback","__idx":21},"children":["SetProgressCallback"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"void SetProgressCallback(void __stdcall ptrProgressCallback(double));\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Đặt hàm gọi lại để nhận cập nhật tiến trình trong quá trình tải mô hình ngôn ngữ. Thao tác này hữu ích trong việc cung cấp phản hồi trực quan cho người dùng trong quá trình tải, có thể mất khá nhiều thời gian."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tham số:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ptrProgressCallback"]},": Con trỏ tới một hàm chấp nhận một tham số kiểu double. Giá trị double sẽ nằm trong khoảng từ 0,0 đến 1,0, biểu diễn tiến trình tải (0,0 = 0%, 1,0 = 100%)."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Giá trị trả về:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Không có."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ví dụ:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"#include <iostream>\n\nvoid __stdcall MyProgressCallback(double progress) {\n    std::cout << \"Loading progress: \" << (progress * 100) << \"%\" << std::endl;\n}\n\nint main() {\n    SetProgressCallback(MyProgressCallback);\n    // ... load language model ...\n    return 0;\n}\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"setparseprogresscallback","__idx":22},"children":["SetParseProgressCallback"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"void SetParseProgressCallback(bool __stdcall ptrParseProgressCallback(double));\n;\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Đặt hàm gọi lại để nhận thông tin cập nhật tiến trình trong quá trình xử lý. Thao tác này hữu ích trong việc cung cấp phản hồi trực quan cho người dùng trong quá trình phân tích cú pháp dài và cho phép người dùng hủy quá trình xử lý."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Khi quá trình xử lý bị hủy, kết quả một phần được trả về, với một phần bổ sung"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["interrupted"]}," attribute set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," in the response JSON."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tham số:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ptrParseProgressCallback"]},": Con trỏ tới một hàm chấp nhận một tham số kiểu double và trả về một giá trị boolean. Giá trị double sẽ nằm trong khoảng từ 0,0 đến 1,0, biểu diễn tiến trình tải (0,0 = 0%, 1,0 = 100%). Giá trị boolean cho biết liệu vòng lặp xử lý có nên bị gián đoạn hay không. Khi thoát ra, Tisane tóm tắt tất cả các câu cho đến thời điểm đó và trả về phản hồi như bình thường."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Giá trị trả về:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Không có."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ví dụ:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"#include <iostream>\n\nbool MyParseProgressCallback(double progress) {\n    std::cout << \"Progress: \" << progress << \"%. Abort? Y/N\" << std::endl;\n    char answer;\n    std::cin.get(answer);\n    return std::toupper(answer) == 'Y';\n}\n\n\nint main() {\n    SetDbPath(\"C:\\\\Tisane\");\n    ActivateLazyLoading(); // it's a test, we don't want to load the entire model for a tiny piece of text to be processed\n    LoadAnalysisLanguageModel(\"en\");\n    SetParseProgressCallback(MyParseProgressCallback);\n    cout << \"\\n\" << Parse(\"en\", \"This is a test. This is a test. This is a test. This is a test. \", \"{\\\"parses\\\":true, \\\"words\\\":true}\" << std::endl);   \n    return 0;\n}\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"activatelazyloading","__idx":23},"children":["ActivateLazyLoading"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"void ActivateLazyLoading();\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Kích hoạt chế độ tải chậm."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Đọc thêm: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/vi/sdks/lazyloading"},"children":["Chế độ Tải chậm so với chế độ Tải đầy đủ"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tham số:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Không có."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Giá trị trả về:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Không có."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ví dụ:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"ActivateLazyLoading();\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"islazyloadingactive","__idx":24},"children":["IsLazyLoadingActive"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"bool IsLazyLoadingActive();\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Kiểm tra xem chế độ tải chậm có đang hoạt động hay không."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tham số:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Không có."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Giá trị trả về:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," nếu chế độ tải chậm đang hoạt động,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," nếu ngược lại."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ví dụ:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"if (IsLazyLoadingActive()) {\n    std::cout << \"Lazy loading is active.\" << std::endl;\n}\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"phân-tích-cú-pháp","__idx":25},"children":["Phân tích cú pháp"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"const char* Parse(const char *language, const char *content, const char *settings);\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Phân tích cú pháp nội dung văn bản đã cho bằng cách sử dụng mô hình ngôn ngữ và cài đặt được chỉ định."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tham số:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["language"]},": Mã ngôn ngữ của ngôn ngữ cần phân tích cú pháp."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["content"]},": Văn bản cần phân tích cú pháp (được mã hóa UTF-8)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["settings"]},": Một chuỗi JSON xác định các tính năng phân tích mong muốn. Xem phần Thông số cài đặt để biết chi tiết."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Giá trị trả về:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Một ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["const char*"]}," chứa chuỗi JSON biểu diễn kết quả phân tích. Không cần giải phóng bộ nhớ. Trả về ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nullptr"]}," nếu thất bại."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Mã mẫu:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"  SetDbPath(\"C:\\\\Tisane\");\n  ActivateLazyLoading(); // it's a test, we don't want to load the entire model for a tiny piece of text to be processed\n  LoadAnalysisLanguageModel(\"en\");\n  cout << \"\\n\" << Parse(\"en\", \"This is a test.\", \"{\\\"parses\\\":true, \\\"words\\\":true}\");\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Xem phần: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/vi/apis/tisane-api-response-guide"},"children":["Phản hồi"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"parsetextfile","__idx":26},"children":["ParseTextFile"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"const char* ParseTextFile(const char *language, const char *filename, uint32_t chunkSize, const char *settings);\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Phân tích cú pháp nội dung từ tệp văn bản được chỉ định bằng ngôn ngữ được chỉ định bằng cách sử dụng các cài đặt được chỉ định theo từng khối. Chỉ tải khối đang được xử lý."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tham số:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["language"]},": Mã ngôn ngữ của ngôn ngữ cần phân tích cú pháp."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["filename"]},": Tệp văn bản cần phân tích cú pháp (được mã hóa UTF-8). Được giả định chỉ chứa văn bản."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chunkSize"]},": Kích thước của các khối được sử dụng để đọc luồng từ tệp. Nếu bằng 0, thì 8192 byte sẽ được chỉ định."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["settings"]},": Một chuỗi JSON xác định các tính năng phân tích mong muốn. Xem phần Thông số cài đặt để biết chi tiết."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Giá trị trả về:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Một ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["const char*"]}," chứa chuỗi JSON biểu diễn kết quả phân tích. Không cần giải phóng bộ nhớ. Trả về ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nullptr"]}," nếu thất bại."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Văn bản sẽ bị lược bỏ khỏi phản hồi đối với các tệp lớn hơn vì mục đích hiệu suất."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Mã mẫu:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"  SetDbPath(\"C:\\\\Tisane\");\n  ActivateLazyLoading(); // it's a test, we don't want to load the entire model for a tiny piece of text to be processed\n  LoadAnalysisLanguageModel(\"en\");\n  std::string result = ParseTextFile(\"en\", \"myinputfile.txt\", 8192, \"{}\");\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"detectlanguage","__idx":27},"children":["DetectLanguage"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"__stdcall const char* DetectLanguage(const char *content, const char *likelyLanguages, const char* segmentDelimiter);\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Phát hiện ngôn ngữ của nội dung văn bản được cung cấp."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tham số:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["content"]},": Văn bản cần phân tích (được mã hóa UTF-8)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["likelyLanguages"]},": (Tùy chọn) Danh sách các mã ngôn ngữ được phân tách bằng dấu phẩy có khả năng xuất hiện trong văn bản. Điều này có thể cải thiện độ chính xác của việc phát hiện. Truyền nullptr nếu không cần thiết."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["segmentDelimiter"]},": (Tùy chọn) Một chuỗi được sử dụng để phân định các phân đoạn trong văn bản. Đối với mỗi phân đoạn, việc phát hiện sẽ được thực hiện riêng biệt. Truyền nullptr cho hành vi mặc định."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Giá trị trả về:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Một ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["const char*"]}," chứa một chuỗi JSON biểu diễn (các) ngôn ngữ được phát hiện. Trả về ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nullptr"]}," nếu thất bại."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Không giải phóng bộ nhớ. Bộ nhớ được quản lý nội bộ."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ví dụ:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"const char* detectedLanguage = DetectLanguage(\"Bonjour le monde!\", nullptr, nullptr);\nif (detectedLanguage) {\n    std::cout << \"Detected Language: \" << detectedLanguage << std::endl;\n    // free memory\n}\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"chuyển-đổi","__idx":28},"children":["Chuyển đổi"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"__stdcall const char* Transform(const char * sourceLanguage, const char * targetLanguage,const char * content, const char * settings);\n","lang":"cpp"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Dịch hoặc diễn giải một chuỗi từ ngôn ngữ này sang ngôn ngữ khác."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Yêu cầu cả mô hình ngôn ngữ nguồn và ngôn ngữ đích đều được tải bằng",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LoadGenerationLanguageModel"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tham số:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sourceLanguage"]},": Mã ngôn ngữ của ngôn ngữ nguồn."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["targetLanguage"]},": Mã ngôn ngữ của ngôn ngữ đích."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["content"]},": Văn bản cần chuyển đổi (được mã hóa UTF-8)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["settings"]},": Một chuỗi JSON xác định các tùy chọn chuyển đổi mong muốn."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Xem thêm phần:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/vi/apis/tisane-api-response-guide"},"children":["Hướng dẫn cấu hình và phản hồi API"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/vi/apis/tisane-api-configuration"},"children":["Hướng dẫn cấu hình và tùy chỉnh"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Giá trị trả về:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Một ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["const char*"]}," chứa văn bản đã được dịch hoặc diễn giải. Không cần giải phóng bộ nhớ.  Trả về ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nullptr"]}," nếu thất bại."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ví dụ:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cpp","header":{"controls":{"copy":{}}},"source":"  SetDbPath(\"C:\\\\Tisane\");\n  ActivateLazyLoading(); // it's a test, we don't want to load the entire model for a tiny piece of text to be processed\n  LoadAnalysisLanguageModel(\"fr\");\n  LoadGenerationLanguageModel(\"en\");\n  const char* translatedText = Transform(\"fr\", \"en\", \"bonjour!\", \"{}\");\n  if (translatedText) {\n    std::cout << \"Translated Text: \" << translatedText << std::endl;\n    // free memory\n  }\n","lang":"cpp"},"children":[]}]},"headings":[{"value":"Tài liệu tham khảo C/C++ cho Tisane Embedded","id":"tài-liệu-tham-khảo-cc-cho-tisane-embedded","depth":1},{"value":"Tổng quan","id":"tổng-quan","depth":2},{"value":"Thành phần","id":"thành-phần","depth":3},{"value":"Các hệ điều hành nhị phân","id":"các-hệ-điều-hành-nhị-phân","depth":4},{"value":"Windows","id":"windows","depth":5},{"value":"Linux","id":"linux","depth":5},{"value":"Mô hình ngôn ngữ","id":"mô-hình-ngôn-ngữ","depth":4},{"value":"Yêu cầu","id":"yêu-cầu","depth":2},{"value":"Nền tảng","id":"nền-tảng","depth":3},{"value":"Windows","id":"windows-1","depth":4},{"value":"Linux","id":"linux-1","depth":4},{"value":"RAM","id":"ram","depth":3},{"value":"Tích hợp","id":"tích-hợp","depth":2},{"value":"Luồng công việc cơ bản","id":"luồng-công-việc-cơ-bản","depth":3},{"value":"Cài đặt và sử dụng","id":"cài-đặt-và-sử-dụng","depth":3},{"value":"Tham chiếu hàm","id":"tham-chiếu-hàm","depth":2},{"value":"SetDbPath","id":"setdbpath","depth":3},{"value":"LoadAnalysisLanguageModel","id":"loadanalysislanguagemodel","depth":3},{"value":"LoadGenerationLanguageModel","id":"loadgenerationlanguagemodel","depth":3},{"value":"LoadCustomizedAnalysisLanguageModel","id":"loadcustomizedanalysislanguagemodel","depth":3},{"value":"UnloadAnalysisLanguageModel","id":"unloadanalysislanguagemodel","depth":3},{"value":"SetProgressCallback","id":"setprogresscallback","depth":3},{"value":"SetParseProgressCallback","id":"setparseprogresscallback","depth":3},{"value":"ActivateLazyLoading","id":"activatelazyloading","depth":3},{"value":"IsLazyLoadingActive","id":"islazyloadingactive","depth":3},{"value":"Phân tích cú pháp","id":"phân-tích-cú-pháp","depth":3},{"value":"ParseTextFile","id":"parsetextfile","depth":3},{"value":"DetectLanguage","id":"detectlanguage","depth":3},{"value":"Chuyển đổi","id":"chuyển-đổi","depth":3}],"frontmatter":{"seo":{"title":"Tài liệu tham khảo C/C++ cho Tisane Embedded"}},"lastModified":"2025-06-21T05:39:09.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/vi/sdks/candc","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}