[{"data":1,"prerenderedAt":3101},["ShallowReactive",2],{"/developers/api-docs/pathway-io/leann-app":3,"navigation-developers":701,"/developers/api-docs/pathway-io/leann":2623,"surr-/developers/api-docs/pathway-io/leann":3098},{"id":4,"title":5,"author":6,"body":7,"description":691,"extension":692,"meta":693,"navigation":695,"path":696,"seo":697,"sitemap":698,"stem":699,"__hash__":700},"content/2.developers/5.API-docs/7.pathway-io/250.leann.md","pw.io.leann",null,{"type":8,"value":9,"toc":687},"minimark",[10,14,28,43,61,64,80,86,112,138,339,342,358,361,379,382,466,478,663,666,683],[11,12,5],"h1",{"id":13},"pwioleann",[15,16,17,21,22,27],"p",{},[18,19,20],"strong",{},"This module is available when using one of the following licenses only:"," ",[23,24,26],"a",{"href":25},"/pricing","Pathway Scale, Pathway Enterprise",".",[29,30,32,35,36,42],"h2",{"id":31},"pathway.io.leann.write",[18,33,34],{},"write","(",[37,38,41],"span",{"className":39},[40],"sphinx-paramslist","table, index_path, text_column, *, metadata_columns=None, backend_name='hnsw', embedding_mode=None, embedding_model=None, embedding_options=None, name=None",")",[15,44,45,53,54,60],{},[23,46,50],{"className":47,"href":49},[48],"sphinx-source-url","https://github.com/pathwaycom/pathway/tree/main/python/pathway/io/leann/__init__.py#L133-L290",[37,51,52],{},"source","Write table data to a ",[23,55,59],{"href":56,"rel":57},"https://github.com/yichuan-w/LEANN",[58],"nofollow","LEANN"," vector index.",[15,62,63],{},"LEANN is a storage-efficient vector database that uses graph-based selective\nrecomputation to achieve up to 97% storage reduction compared to traditional\nvector databases while maintaining high recall.",[15,65,66,67,71,72,75,76,79],{},"The connector observes every Pathway minibatch. Whenever rows are added or\nremoved, it rebuilds the full LEANN index from the current snapshot of the\ntable. The result is written as a set of files that share ",[68,69,70],"code",{},"index_path"," as\ntheir prefix (e.g. ",[68,73,74],{},"./articles.leann.hnsw",", ",[68,77,78],{},"./articles.leann.meta.json",").\nThis keeps the index always consistent with the latest committed state of\nthe table.",[15,81,82,85],{},[18,83,84],{},"Performance considerations."," LEANN currently builds the index from\nscratch on every update — there is no incremental add or delete operation.\nIf the document set is large and changes arrive frequently, rebuilding the\nfull index after every minibatch will be slow. Use this connector with\ncaution in streaming pipelines:",[87,88,89,96,106],"ul",{},[90,91,92,95],"li",{},[18,93,94],{},"Static mode"," is the ideal fit. When you run Pathway once to convert\na collection from one format into a LEANN index, the index is built\nexactly once and the cost is fully amortized.",[90,97,98,101,102,105],{},[18,99,100],{},"Infrequent commits"," also work well. If your streaming pipeline\ncommits rarely (large ",[68,103,104],{},"autocommit_duration_ms",", or an external commit\ntrigger), rebuilds happen seldom and the overhead stays manageable.",[90,107,108,111],{},[18,109,110],{},"High-frequency streaming"," over a large corpus is not a good fit.\nEvery commit triggers a full rebuild; with many small commits and\nthousands of documents this can become a bottleneck. In that scenario,\nconsider a vector store that supports incremental updates.",[15,113,114,117,118,121,122,125,126,129,130,133,134,137],{},[18,115,116],{},"Limitations."," Only ",[68,119,120],{},"str"," columns are accepted for ",[68,123,124],{},"text_column"," and\n",[68,127,128],{},"metadata_columns"," — passing a column of any other type raises a\n",[68,131,132],{},"ValueError"," at pipeline construction time. Rows whose text column is\nempty or ",[68,135,136],{},"None"," are silently skipped and a warning is logged.",[87,139,140,331],{},[90,141,142,145],{},[18,143,144],{},"Parameters",[87,146,147,160,183,203,228,250,290,307,321],{},[90,148,149,152,153,159],{},[18,150,151],{},"table"," (",[23,154,156],{"href":155},"/developers/api-docs/pathway-table#pathway.Table",[68,157,158],{},"Table",") – The Pathway table to index.",[90,161,162,152,164,166,167,170,171,174,175,178,179,182],{},[18,163,70],{},[68,165,120],{}," | ",[68,168,169],{},"PathLike",") – Prefix for the LEANN index files. LEANN writes several\nfiles with this value as the common prefix (e.g. providing\n",[68,172,173],{},"\"./articles.leann\""," produces ",[68,176,177],{},"\"./articles.leann.hnsw\"",",\n",[68,180,181],{},"\"./articles.leann.meta.json\"",", and so on).",[90,184,185,152,187,193,194,197,198,200,201,27],{},[18,186,124],{},[23,188,190],{"href":189},"/developers/api-docs/pathway#pathway.ColumnReference",[68,191,192],{},"ColumnReference",") – Column reference for the column containing text to embed\n(e.g. ",[68,195,196],{},"table.body","). The column must belong to ",[68,199,151],{}," and be\nof type ",[68,202,120],{},[90,204,205,152,207,210,211,215,216,218,219,221,222,225,226,27],{},[18,206,128],{},[68,208,209],{},"list","[",[23,212,213],{"href":189},[68,214,192],{},"] | ",[68,217,136],{},") – Column references for additional ",[68,220,120],{}," columns to\nstore alongside each vector (e.g. ",[68,223,224],{},"table.title, table.category",").\nAll columns must belong to ",[68,227,151],{},[90,229,230,152,233,210,236,75,239,242,243,246,247,27],{},[18,231,232],{},"backend_name",[68,234,235],{},"Literal",[68,237,238],{},"'hnsw'",[68,240,241],{},"'diskann'","]) – LEANN graph backend — ",[68,244,245],{},"\"hnsw\""," (default) or\n",[68,248,249],{},"\"diskann\"",[90,251,252,152,255,210,258,210,260,75,263,75,266,75,269,272,273,178,276,75,279,282,283,286,287,289],{},[18,253,254],{},"embedding_mode",[68,256,257],{},"Optional",[68,259,235],{},[68,261,262],{},"'sentence-transformers'",[68,264,265],{},"'openai'",[68,267,268],{},"'mlx'",[68,270,271],{},"'ollama'","]]) – Embedding provider — ",[68,274,275],{},"\"sentence-transformers\"",[68,277,278],{},"\"openai\"",[68,280,281],{},"\"mlx\"",", or ",[68,284,285],{},"\"ollama\"",". When ",[68,288,136],{},", LEANN’s\nown default is used.",[90,291,292,152,295,166,297,299,300,303,304,306],{},[18,293,294],{},"embedding_model",[68,296,120],{},[68,298,136],{},") – Specific model name, e.g. ",[68,301,302],{},"\"facebook/contriever\"",".\nWhen ",[68,305,136],{},", the provider’s default model is used.",[90,308,309,152,312,166,315,317,318,27],{},[18,310,311],{},"embedding_options",[68,313,314],{},"dict",[68,316,136],{},") – Additional options forwarded to the embedding\nprovider, e.g. ",[68,319,320],{},"{\"api_key\": \"...\", \"base_url\": \"...\"}",[90,322,323,152,326,166,328,330],{},[18,324,325],{},"name",[68,327,120],{},[68,329,136],{},") – Unique name for this connector instance, used in logs and\npersistence snapshots.",[90,332,333,336,136],{},[18,334,335],{},"Returns",[337,338],"br",{},[15,340,341],{},"Note:",[87,343,344,347],{},[90,345,346],{},"The index is fully rebuilt after every minibatch that contains changes.\nExisting index files are overwritten on each build.",[90,348,349,350,353,354,357],{},"Requires the ",[68,351,352],{},"leann"," package. See ",[23,355,56],{"href":56,"rel":356},[58]," for\ninstallation instructions.",[15,359,360],{},"Example:",[15,362,363,364,367,368,178,371,374,375,378],{},"Suppose you have a CSV file ",[68,365,366],{},"articles.csv"," with columns ",[68,369,370],{},"title",[68,372,373],{},"body",", and ",[68,376,377],{},"category",", and you want to build a LEANN vector index\nover the article bodies so that you can run semantic search against it.",[15,380,381],{},"Start by defining the schema that matches your CSV:",[383,384,389],"pre",{"className":385,"code":386,"language":387,"meta":388,"style":388},"language-python shiki shiki-themes material-theme-palenight","import pathway as pw\nclass ArticleSchema(pw.Schema):\n    title: str\n    body: str\n    category: str\n\n","python","",[68,390,391,409,434,446,456],{"__ignoreMap":388},[37,392,395,399,403,406],{"class":393,"line":394},"line",1,[37,396,398],{"class":397},"s6cf3","import",[37,400,402],{"class":401},"s0W1g"," pathway ",[37,404,405],{"class":397},"as",[37,407,408],{"class":401}," pw\n",[37,410,412,416,420,423,426,428,431],{"class":393,"line":411},2,[37,413,415],{"class":414},"sJ14y","class",[37,417,419],{"class":418},"s5Dmg"," ArticleSchema",[37,421,35],{"class":422},"sAklC",[37,424,425],{"class":418},"pw",[37,427,27],{"class":422},[37,429,430],{"class":418},"Schema",[37,432,433],{"class":422},"):\n",[37,435,437,440,443],{"class":393,"line":436},3,[37,438,439],{"class":401},"    title",[37,441,442],{"class":422},":",[37,444,445],{"class":418}," str\n",[37,447,449,452,454],{"class":393,"line":448},4,[37,450,451],{"class":401},"    body",[37,453,442],{"class":422},[37,455,445],{"class":418},[37,457,459,462,464],{"class":393,"line":458},5,[37,460,461],{"class":401},"    category",[37,463,442],{"class":422},[37,465,445],{"class":418},[15,467,468,469,471,472,474,475,477],{},"Read the source file and register the LEANN sink. Pass the ",[68,470,373],{},"\ncolumn as the text to embed; ",[68,473,370],{}," and ",[68,476,377],{}," are stored as\nmetadata that travels with each vector and can be returned alongside\nsearch results:",[383,479,481],{"className":385,"code":480,"language":387,"meta":388,"style":388},"table = pw.io.csv.read(\"articles.csv\", schema=ArticleSchema)  \npw.io.leann.write(  \n    table,\n    index_path=\"./articles.leann\",\n    text_column=table.body,\n    metadata_columns=[table.title, table.category],\n    backend_name=\"hnsw\",\n    embedding_model=\"facebook/contriever\",\n)\n",[68,482,483,538,558,565,581,596,623,640,657],{"__ignoreMap":388},[37,484,485,488,491,494,496,500,502,505,507,511,513,516,519,521,524,528,530,533,535],{"class":393,"line":394},[37,486,487],{"class":401},"table ",[37,489,490],{"class":422},"=",[37,492,493],{"class":401}," pw",[37,495,27],{"class":422},[37,497,499],{"class":498},"s-wAU","io",[37,501,27],{"class":422},[37,503,504],{"class":498},"csv",[37,506,27],{"class":422},[37,508,510],{"class":509},"sdLwU","read",[37,512,35],{"class":422},[37,514,515],{"class":422},"\"",[37,517,366],{"class":518},"sfyAc",[37,520,515],{"class":422},[37,522,523],{"class":422},",",[37,525,527],{"class":526},"s7ZW3"," schema",[37,529,490],{"class":422},[37,531,532],{"class":509},"ArticleSchema",[37,534,42],{"class":422},[37,536,537],{"class":401},"  \n",[37,539,540,542,544,546,548,550,552,554,556],{"class":393,"line":411},[37,541,425],{"class":401},[37,543,27],{"class":422},[37,545,499],{"class":498},[37,547,27],{"class":422},[37,549,352],{"class":498},[37,551,27],{"class":422},[37,553,34],{"class":509},[37,555,35],{"class":422},[37,557,537],{"class":509},[37,559,560,563],{"class":393,"line":436},[37,561,562],{"class":509},"    table",[37,564,178],{"class":422},[37,566,567,570,572,574,577,579],{"class":393,"line":448},[37,568,569],{"class":526},"    index_path",[37,571,490],{"class":422},[37,573,515],{"class":422},[37,575,576],{"class":518},"./articles.leann",[37,578,515],{"class":422},[37,580,178],{"class":422},[37,582,583,586,588,590,592,594],{"class":393,"line":458},[37,584,585],{"class":526},"    text_column",[37,587,490],{"class":422},[37,589,151],{"class":509},[37,591,27],{"class":422},[37,593,373],{"class":498},[37,595,178],{"class":422},[37,597,599,602,605,607,609,611,613,616,618,620],{"class":393,"line":598},6,[37,600,601],{"class":526},"    metadata_columns",[37,603,604],{"class":422},"=[",[37,606,151],{"class":509},[37,608,27],{"class":422},[37,610,370],{"class":498},[37,612,523],{"class":422},[37,614,615],{"class":509}," table",[37,617,27],{"class":422},[37,619,377],{"class":498},[37,621,622],{"class":422},"],\n",[37,624,626,629,631,633,636,638],{"class":393,"line":625},7,[37,627,628],{"class":526},"    backend_name",[37,630,490],{"class":422},[37,632,515],{"class":422},[37,634,635],{"class":518},"hnsw",[37,637,515],{"class":422},[37,639,178],{"class":422},[37,641,643,646,648,650,653,655],{"class":393,"line":642},8,[37,644,645],{"class":526},"    embedding_model",[37,647,490],{"class":422},[37,649,515],{"class":422},[37,651,652],{"class":518},"facebook/contriever",[37,654,515],{"class":422},[37,656,178],{"class":422},[37,658,660],{"class":393,"line":659},9,[37,661,662],{"class":422},")\n",[15,664,665],{},"Run the pipeline. In static mode Pathway processes the file once and\nwrites the index; in streaming mode it keeps the index up to date as\nnew articles arrive:",[383,667,669],{"className":385,"code":668,"language":387,"meta":388,"style":388},"pw.run()  \n",[68,670,671],{"__ignoreMap":388},[37,672,673,675,677,680],{"class":393,"line":394},[37,674,425],{"class":401},[37,676,27],{"class":422},[37,678,679],{"class":509},"run",[37,681,682],{"class":422},"()\n",[684,685,686],"style",{},"html pre.shiki code .s6cf3, html code.shiki .s6cf3{--shiki-default:#89DDFF;--shiki-default-font-style:italic}html pre.shiki code .s0W1g, html code.shiki .s0W1g{--shiki-default:#BABED8}html pre.shiki code .sJ14y, html code.shiki .sJ14y{--shiki-default:#C792EA}html pre.shiki code .s5Dmg, html code.shiki .s5Dmg{--shiki-default:#FFCB6B}html pre.shiki code .sAklC, html code.shiki .sAklC{--shiki-default:#89DDFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s-wAU, html code.shiki .s-wAU{--shiki-default:#F07178}html pre.shiki code .sdLwU, html code.shiki .sdLwU{--shiki-default:#82AAFF}html pre.shiki code .sfyAc, html code.shiki .sfyAc{--shiki-default:#C3E88D}html pre.shiki code .s7ZW3, html code.shiki .s7ZW3{--shiki-default:#BABED8;--shiki-default-font-style:italic}",{"title":388,"searchDepth":411,"depth":411,"links":688},[689],{"id":31,"depth":411,"text":690},"write(table, index_path, text_column, *, metadata_columns=None, backend_name='hnsw', embedding_mode=None, embedding_model=None, embedding_options=None, name=None)","This module is available when using one of the following licenses only: Pathway Scale, Pathway Enterprise.","md",{"sidebar":694},"API",true,"/developers/api-docs/pathway-io/leann",{"title":5,"description":691},{"loc":696},"2.developers/5.API-docs/7.pathway-io/250.leann","FOdiTqjg_8_r_n8LECilp7uYR-iE2KILrePIwvbxVDQ",[702],{"title":703,"path":704,"stem":705,"children":706,"page":724},"Developers","/developers","2.developers",[707,1568,1881],{"title":708,"path":709,"stem":710,"children":711,"page":724},"User Guide","/developers/user-guide","2.developers/4.user-guide",[712,767,1025,1146,1224,1340,1472,1488,1547],{"title":713,"meta":714,"icon":715,"path":716,"stem":717,"children":718,"page":724},"Introduction",{"icon":715},"heroicons:book-open","/developers/user-guide/introduction","2.developers/4.user-guide/10.introduction",[719,725,730,735,740,745,750,755,760],{"title":720,"path":721,"stem":722,"meta":723},"Welcome","/developers/user-guide/introduction/welcome","2.developers/4.user-guide/10.introduction/10.welcome",{"heading":724,"toc":724},false,{"title":726,"path":727,"stem":728,"meta":729},"Installation","/developers/user-guide/introduction/installation","2.developers/4.user-guide/10.introduction/20.installation",{"heading":724,"toc":724},{"title":731,"path":732,"stem":733,"meta":734},"Overview","/developers/user-guide/introduction/pathway-overview","2.developers/4.user-guide/10.introduction/30.pathway-overview",{},{"title":736,"path":737,"stem":738,"meta":739},"Starting Examples","/developers/user-guide/introduction/first_realtime_app_with_pathway","2.developers/4.user-guide/10.introduction/40.first_realtime_app_with_pathway",{},{"title":741,"path":742,"stem":743,"meta":744},"Core Concepts","/developers/user-guide/introduction/concepts","2.developers/4.user-guide/10.introduction/50.concepts",{},{"title":746,"path":747,"stem":748,"meta":749},"Why Pathway","/developers/user-guide/introduction/why-pathway","2.developers/4.user-guide/10.introduction/60.why-pathway",{},{"title":751,"path":752,"stem":753,"meta":754},"Licensing Guide","/developers/user-guide/introduction/licensing-guide","2.developers/4.user-guide/10.introduction/65.licensing-guide",{"heading":724,"toc":724},{"title":756,"path":757,"stem":758,"meta":759},"Streaming and Static Modes","/developers/user-guide/introduction/streaming-and-static-modes","2.developers/4.user-guide/10.introduction/70.streaming-and-static-modes",{},{"title":761,"path":762,"stem":763,"meta":764},"Batch Processing in Python","/developers/user-guide/introduction/batch-processing","2.developers/4.user-guide/10.introduction/80.batch-processing",{"thumbnail":765,"thumbnailFit":766},"/assets/content/documentation/pathway-batch.png","contain",{"title":768,"path":769,"stem":770,"children":771,"page":724},"Connect","/developers/user-guide/connect","2.developers/4.user-guide/20.connect",[772,784,789,795,800,805,818,828,833,854],{"title":773,"path":774,"stem":775,"meta":776},"Basic Data Types","/developers/user-guide/connect/datatypes","2.developers/4.user-guide/20.connect/20.datatypes",{"date":777,"tags":778,"keywords":780,"notebook_export_path":783},"2024-01-26",[779,151],"tutorial",[781,782],"type","schema","notebooks/tutorials/basic_datatypes.ipynb",{"title":785,"path":786,"stem":787,"meta":788},"Connectors in Pathway","/developers/user-guide/connect/connectors-in-pathway","2.developers/4.user-guide/20.connect/30.connectors-in-pathway",{},{"title":790,"path":791,"stem":792,"meta":793},"Connectors list","/developers/user-guide/connect/pathway-connectors","2.developers/4.user-guide/20.connect/35.pathway-connectors",{"layout":794,"aside":695,"toc":724,"single":695},"default",{"title":796,"path":797,"stem":798,"meta":799},"Defining Schema","/developers/user-guide/connect/schema","2.developers/4.user-guide/20.connect/40.schema",{},{"title":801,"path":802,"stem":803,"meta":804},"Generate Data Streams with the demo Module","/developers/user-guide/connect/artificial-streams","2.developers/4.user-guide/20.connect/50.artificial-streams",{},{"title":806,"path":807,"stem":808,"meta":809},"Automatic Generation of Schema Class","/developers/user-guide/connect/schema-generation","2.developers/4.user-guide/20.connect/60.schema-generation",{"date":810,"thumbnail":811,"tags":813,"keywords":814,"notebook_export_path":817},"2023-11-08",{"src":812},"/assets/content/blog/th-custom-connectors.png",[779,151],[782,781,815,816],"JSON","connectors","notebooks/tutorials/schema-generation.ipynb",{"title":819,"path":820,"stem":821,"meta":822},"Dealing with JSON Data Type","/developers/user-guide/connect/json_type","2.developers/4.user-guide/20.connect/70.json_type",{"date":823,"thumbnail":824,"tags":825,"keywords":826,"notebook_export_path":827},"2023-12-22","/assets/content/blog/th-json.png",[779,151],[815,781,782],"notebooks/tutorials/json_type.ipynb",{"title":829,"path":830,"stem":831,"meta":832},"Switching from Batch to Streaming","/developers/user-guide/connect/switch-from-batch-to-streaming","2.developers/4.user-guide/20.connect/80.switch-from-batch-to-streaming",{},{"title":834,"path":835,"stem":836,"meta":837},"Live Web Scraping","/developers/user-guide/connect/python-web-scraping","2.developers/4.user-guide/20.connect/90.python-web-scraping",{"date":838,"tags":839,"keywords":840,"tech_icons":848,"thumbnail":850,"deployment_tag":851,"docker_github_link":853},"2025-03-13",[779,816],[841,842,843,844,845,846,847],"connector","scraping","WEB","Python","input","streaming","web scraping",[849],"streamline:web","/assets/content/showcases/web_scraping/web-scraping-th.png",[852],"docker","https://github.com/pathwaycom/pathway/tree/main/examples/projects/web-scraping",{"title":855,"path":856,"stem":857,"children":858,"page":724},"Connectors","/developers/user-guide/connect/connectors","2.developers/4.user-guide/20.connect/99.connectors",[859,875,887,899,908,927,938,951,959,971,981,990,1002,1015],{"title":860,"path":861,"stem":862,"meta":863},"File System Connector","/developers/user-guide/connect/connectors/fs-connector","2.developers/4.user-guide/20.connect/99.connectors/05.fs-connector",{"date":777,"tags":864,"tech_icons":865,"deployment_tag":867,"keywords":869,"notebook_export_path":874},[779,151],[866],"lets-icons:file-fill",[868,852],"jupyter",[841,870,504,871,845,872,873,846],"file system","json","output","static","notebooks/tutorials/fs_connector.ipynb",{"title":876,"path":877,"stem":878,"meta":879},"CSV connectors","/developers/user-guide/connect/connectors/csv_connectors","2.developers/4.user-guide/20.connect/99.connectors/10.csv_connectors",{"date":880,"thumbnail":881,"tags":882,"keywords":883,"tech_icons":885},"2023-01-12","/assets/content/blog/th-csv-connectors.png",[779,816],[841,884,845,872,873,846],"CSV",[886],"mdi:file-csv",{"title":888,"path":889,"stem":890,"meta":891},"Sending alerts to Slack","/developers/user-guide/connect/connectors/slack_send_alerts","2.developers/4.user-guide/20.connect/99.connectors/100.slack_send_alerts",{"date":892,"tags":893,"keywords":894,"tech_icons":897},"2024-02-16",[779,816],[841,895,896,872,846],"Slack","alerts",[898],"mdi:slack",{"title":900,"path":901,"stem":902,"meta":903},"Airbyte connectors","/developers/user-guide/connect/connectors/airbyte-connectors","2.developers/4.user-guide/20.connect/99.connectors/110.airbyte-connectors",{"tags":904,"keywords":905},[779,816],[841,906,907,845,873,846],"Airbyte","cloud",{"title":909,"path":910,"stem":911,"meta":912},"Using Pathway Debezium Connector for MongoDB","/developers/user-guide/connect/connectors/mongodb-debezium","2.developers/4.user-guide/20.connect/99.connectors/115.mongodb-debezium",{"date":913,"tags":914,"keywords":915,"tech_icons":923,"deployment_tag":925,"docker_github_link":926,"hideInConnectorList":695},"2024-10-30",[779,816],[841,916,917,918,919,920,921,922,845,872,846],"database","MongoDB","CDC","Debezium","Kafka","Zookeeper","Docker",[924],"material-symbols-light:database",[852],"https://github.com/pathwaycom/pathway/tree/main/examples/projects/debezium-mongodb-example",{"title":928,"path":929,"stem":930,"meta":931},"JSON Lines connectors","/developers/user-guide/connect/connectors/jsonlines-connector","2.developers/4.user-guide/20.connect/99.connectors/15.jsonlines-connector",{"date":932,"tags":933,"keywords":934,"tech_icons":936},"2024-02-20",[779,816],[841,935,815,845,872,873,846],"JSON Lines",[937],"lets-icons:json",{"title":939,"path":940,"stem":941,"meta":942},"Database connectors","/developers/user-guide/connect/connectors/database-connectors","2.developers/4.user-guide/20.connect/99.connectors/20.database-connectors",{"date":943,"thumbnail":944,"tags":945,"keywords":946,"tech_icons":948,"deployment_tag":949,"docker_github_link":950},"2023-01-19","/assets/content/blog/th-database-connectors.png",[779,816],[841,916,947,918,919,920,921,922,845,872,846],"PostgreSQL",[924],[852],"https://github.com/pathwaycom/pathway/tree/main/examples/projects/debezium-postgres-example",{"title":952,"path":953,"stem":954,"meta":955},"Custom Python connectors","/developers/user-guide/connect/connectors/custom-python-connectors","2.developers/4.user-guide/20.connect/99.connectors/30.custom-python-connectors",{"date":956,"thumbnail":812,"tags":957,"keywords":958},"2023-04-13",[779,816],[841,844,845,846],{"title":960,"path":961,"stem":962,"meta":963},"Kafka connectors","/developers/user-guide/connect/connectors/kafka_connectors","2.developers/4.user-guide/20.connect/99.connectors/30.kafka_connectors",{"date":964,"thumbnail":965,"tags":966,"tech_icons":967,"deployment_tag":969,"keywords":970},"2023-01-15","/assets/content/blog/th-kafka-connectors.png",[779,816],[968],"mdi:apache-kafka",[852],[841,920,922,845,872,846],{"title":972,"path":973,"stem":974,"meta":975},"NATS connectors","/developers/user-guide/connect/connectors/nats-connectors","2.developers/4.user-guide/20.connect/99.connectors/33.nats-connectors",{"date":976,"tags":977,"deployment_tag":978,"keywords":979},"2024-12-06",[779,816],[852],[841,980,922,845,872,846],"NATS",{"title":982,"path":983,"stem":984,"meta":985},"Python output connectors","/developers/user-guide/connect/connectors/python-output-connectors","2.developers/4.user-guide/20.connect/99.connectors/35.python-output-connectors",{"date":986,"thumbnail":987,"tags":988,"keywords":989},"2023-08-31","/assets/content/blog/th-output-connector.png",[779,816],[841,844,872,846],{"title":991,"path":992,"stem":993,"meta":994},"Google Drive connector","/developers/user-guide/connect/connectors/gdrive-connector","2.developers/4.user-guide/20.connect/99.connectors/70.gdrive-connector",{"date":995,"thumbnail":996,"tags":997,"keywords":998,"tech_icons":1000},"2023-12-14","/assets/content/blog/th-gdrive-connector.png",[779,816],[841,999,907,845,873,846],"Google Drive",[1001],"simple-icons:googledrive",{"title":1003,"path":1004,"stem":1005,"meta":1006},"Switching from Kafka to Redpanda","/developers/user-guide/connect/connectors/switching-to-redpanda","2.developers/4.user-guide/20.connect/99.connectors/80.switching-to-redpanda",{"date":1007,"thumbnail":1008,"tags":1009,"keywords":1010,"deployment_tag":1012,"tech_icons":1013,"docker_github_link":1014,"hideInConnectorList":695},"2023-03-24","/assets/content/tutorials/redpanda/th-Kafka_vs_Redpanda.png",[779,816],[841,1011,920,921,922,845,872,846],"Redpanda",[852],[968],"https://github.com/pathwaycom/pathway/tree/main/examples/projects/best-movies-example/redpanda-version",{"title":1016,"path":1017,"stem":1018,"meta":1019},"Custom WebSockets connectors","/developers/user-guide/connect/connectors/websockets-connectors","2.developers/4.user-guide/20.connect/99.connectors/90.websockets-connectors",{"date":1020,"tags":1021,"keywords":1022,"tech_icons":1024},"2023-01-24",[779,816],[841,1023,844,845,872,846],"WebSockets",[849],{"title":1026,"meta":1027,"path":1028,"stem":1029,"children":1030,"page":724},"Transform",{},"/developers/user-guide/data-transformation","2.developers/4.user-guide/30.data-transformation",[1031,1036,1050,1056,1062,1075,1091,1112,1128,1133],{"title":1032,"path":1033,"stem":1034,"meta":1035},"Table Operations Overview","/developers/user-guide/data-transformation/table-operations","2.developers/4.user-guide/30.data-transformation/10.table-operations",{},{"title":1037,"path":1038,"stem":1039,"meta":1040},"Asynchronous Transformations","/developers/user-guide/data-transformation/asynchronous-transformations","2.developers/4.user-guide/30.data-transformation/100.asynchronous-transformations",{"date":932,"thumbnail":388,"tags":1041,"keywords":1043,"notebook_export_path":1049},[779,1042],"engineering",[387,1044,1045,1046,1047,1048],"function","asynchronous","transformation","query","AsyncTransformer","notebooks/tutorials/asynctransformer.ipynb",{"title":1051,"path":1052,"stem":1053,"meta":1054},"Simple Join","/developers/user-guide/data-transformation/join-manual","2.developers/4.user-guide/30.data-transformation/20.join-manual",{"notebook_export_path":1055},"notebooks/tutorials/join_manual.ipynb",{"title":1057,"path":1058,"stem":1059,"meta":1060},"Groupby Reduce","/developers/user-guide/data-transformation/groupby-reduce-manual","2.developers/4.user-guide/30.data-transformation/30.groupby-reduce-manual",{"notebook_export_path":1061},"notebooks/tutorials/groupby_reduce_manual.ipynb",{"title":1063,"path":1064,"stem":1065,"meta":1066},"Writing Stateful Reducers","/developers/user-guide/data-transformation/custom-reducers","2.developers/4.user-guide/30.data-transformation/40.custom-reducers",{"date":1067,"thumbnail":824,"tags":1068,"keywords":1069,"notebook_export_path":1074},"2024-01-17",[779],[1070,1071,1072,1073],"reducers","aggregate","sumofsquares","median","notebooks/tutorials/custom_reducers.ipynb",{"title":1076,"path":1077,"stem":1078,"meta":1079},"Iterative Computations","/developers/user-guide/data-transformation/iterate","2.developers/4.user-guide/30.data-transformation/50.iterate",{"date":1080,"thumbnail":388,"tags":1081,"keywords":1082,"notebook_export_path":1090},"2023-12-28",[779,1042],[1083,1084,1085,1086,1087,1088,1089],"iterate","iteration","iterative","updates","connected components","collatz conjecture","newton method","notebooks/tutorials/iterate.ipynb",{"title":1092,"path":1093,"stem":1094,"children":1095,"meta":1109},"Indexes in Pathway","/developers/user-guide/data-transformation/indexes-in-pathway","2.developers/4.user-guide/30.data-transformation/60.indexes-in-pathway",[1096],{"title":1092,"path":1093,"stem":1094,"meta":1097},{"date":1098,"thumbnail":1099,"tags":1100,"keywords":1101,"notebook_export_path":1108},"2023-11-15","/assets/content/blog/th-computing-pagerank.png",[779,1042],[1102,1103,1104,1105,1106,1107],"index","indexing","join","asof join","asof_now","KNN","notebooks/tutorials/indexes.ipynb",{"date":1098,"thumbnail":1099,"tags":1110,"keywords":1111,"notebook_export_path":1108},[779,1042],[1102,1103,1104,1105,1106,1107],{"title":1113,"path":1114,"stem":1115,"children":1116,"meta":1125},"Indexing from 'groupby' and Single-row Tables","/developers/user-guide/data-transformation/indexing-grouped-tables","2.developers/4.user-guide/30.data-transformation/70.indexing-grouped-tables",[1117],{"title":1113,"path":1114,"stem":1115,"meta":1118},{"date":1119,"thumbnail":1099,"tags":1120,"keywords":1121},"2023-03-31",[779,151],[1122,1123,1124],"groupby","ix_ref","single-row table",{"date":1119,"thumbnail":1099,"tags":1126,"keywords":1127},[779,151],[1122,1123,1124],{"title":1129,"path":1130,"stem":1131,"meta":1132},"SQL API","/developers/user-guide/data-transformation/sql","2.developers/4.user-guide/30.data-transformation/80.sql",{"redirection":695},{"title":1134,"path":1135,"stem":1136,"meta":1137},"User-defined Functions","/developers/user-guide/data-transformation/user-defined-functions","2.developers/4.user-guide/30.data-transformation/90.user-defined-functions",{"date":1138,"thumbnail":388,"tags":1139,"keywords":1140,"notebook_export_path":1145},"2024-02-21",[779,1042],[387,1141,1044,1142,1046,1143,1144],"udf","apply","cache","timeout","notebooks/tutorials/udf.ipynb",{"title":1147,"path":1148,"stem":1149,"children":1150,"page":724},"Temporal Data","/developers/user-guide/temporal-data","2.developers/4.user-guide/40.temporal-data",[1151,1157,1162,1177,1189,1201,1215],{"title":1152,"path":1153,"stem":1154,"meta":1155},"Windowby Reduce","/developers/user-guide/temporal-data/windows-manual","2.developers/4.user-guide/40.temporal-data/10.windows-manual",{"notebook_export_path":1156},"notebooks/tutorials/windowby_manual.ipynb",{"title":1158,"path":1159,"stem":1160,"meta":1161},"Late Data and Cutoffs","/developers/user-guide/temporal-data/behaviors","2.developers/4.user-guide/40.temporal-data/20.behaviors",{},{"title":1163,"path":1164,"stem":1165,"meta":1166},"Controlling Temporal Behavior of Windows","/developers/user-guide/temporal-data/windows_with_behaviors","2.developers/4.user-guide/40.temporal-data/30.windows_with_behaviors",{"date":1167,"thumbnail":1168,"keywords":1169,"notebook_export_path":1176},"2024-01-08","assets/content/tutorials/clickstream_window_join/clickstream-window-join-th.png",[1170,1171,1172,1173,1174,1175],"windowby","behavior","late data","delay","cutoff","out-of-order data","notebooks/tutorials/windows_temporal_behavior.ipynb",{"title":1178,"path":1179,"stem":1180,"meta":1181},"ASOF Join","/developers/user-guide/temporal-data/asof-join","2.developers/4.user-guide/40.temporal-data/40.asof-join",{"date":1182,"thumbnail":1183,"tags":1184,"keywords":1185,"notebook_export_path":1188},"2023-05-24","/assets/content/tutorials/finance_ts_asof_join/asof-join-tutorial-th.png",[779,1042],[1105,1186,1187],"stock prices","financial data analysis","notebooks/tutorials/asof_join.ipynb",{"title":1190,"path":1191,"stem":1192,"meta":1193},"Interval Join","/developers/user-guide/temporal-data/interval-join","2.developers/4.user-guide/40.temporal-data/50.interval-join",{"date":1194,"thumbnail":1195,"tags":1196,"keywords":1197,"notebook_export_path":1200},"2023-05-22","assets/content/tutorials/fleet_eta_interval_join/fleet-eta-interval-join-th.png",[779,1042],[1198,1199],"interval join","ETA","notebooks/tutorials/interval_join.ipynb",{"title":1202,"path":1203,"stem":1204,"meta":1205},"Window Join","/developers/user-guide/temporal-data/window-join","2.developers/4.user-guide/40.temporal-data/60.window-join",{"date":1206,"thumbnail":1207,"tags":1208,"keywords":1209,"notebook_export_path":1214},"2023-06-14","/assets/content/tutorials/clickstream_window_join/clickstream-window-join-th.png",[779,1042],[1210,1211,1212,1213],"window","behavior analysis","clickstream","conversion rate","notebooks/tutorials/window_join.ipynb",{"title":1216,"path":1217,"stem":1218,"meta":1219},"Controlling Temporal Behavior of Interval Join","/developers/user-guide/temporal-data/temporal_behavior","2.developers/4.user-guide/40.temporal-data/70.temporal_behavior",{"date":1220,"thumbnail":1195,"tags":1221,"keywords":1222,"notebook_export_path":1223},"2023-11-28",[779,1042],[1198,1171,1172,1173,1174,1175],"notebooks/tutorials/interval_join_temporal_behavior.ipynb",{"title":1225,"meta":1226,"path":1227,"stem":1228,"children":1229,"page":724},"LLM tooling",{},"/developers/user-guide/llm-xpack","2.developers/4.user-guide/50.llm-xpack",[1230,1242,1251,1266,1277,1289,1301,1311,1321,1331],{"title":1231,"path":1232,"stem":1233,"meta":1234},"Introduction to the LLM xpack","/developers/user-guide/llm-xpack/overview","2.developers/4.user-guide/50.llm-xpack/10.overview",{"date":1235,"thumbnail":388,"tags":1236,"keywords":1238},"2024-02-14",[779,1237],"LLM",[1237,1239,1240,1241],"GPT","OpenAI","Gemini",{"title":1243,"path":1244,"stem":1245,"meta":1246},"Create your own RAG","/developers/user-guide/llm-xpack/llm-app-pathway","2.developers/4.user-guide/50.llm-xpack/20.llm-app-pathway",{"date":1247,"thumbnail":388,"tags":1248,"keywords":1250},"2025-03-28",[779,1237,1249],"RAG",[1237,1239,1240,1103],{"title":1252,"path":1253,"stem":1254,"children":1255,"meta":1263},"Document Indexing","/developers/user-guide/llm-xpack/docs-indexing","2.developers/4.user-guide/50.llm-xpack/30.docs-indexing",[1256],{"title":1252,"path":1253,"stem":1254,"meta":1257},{"date":1258,"thumbnail":388,"tags":1259,"keywords":1262},"2025-01-13",[779,1103,1260,1261],"document storage","retrieval",[1237,1239,1240,1241],{"date":1258,"thumbnail":388,"tags":1264,"keywords":1265},[779,1103,1260,1261],[1237,1239,1240,1241],{"title":1267,"path":1268,"stem":1269,"meta":1270},"Pathway MCP Server","/developers/user-guide/llm-xpack/pathway_mcp_server","2.developers/4.user-guide/50.llm-xpack/40.pathway_mcp_server",{"date":1271,"thumbnail":388,"tags":1272,"keywords":1273},"2025-08-01",[779,1042],[1274,1275,694,1276],"MCP","MCP server","protocol",{"title":1278,"path":1279,"stem":1280,"meta":1281},"Claude Desktop","/developers/user-guide/llm-xpack/pathway-mcp-claude-desktop","2.developers/4.user-guide/50.llm-xpack/41.pathway-mcp-claude-desktop",{"date":1282,"thumbnail":388,"tags":1283,"keywords":1285},"2025-08-19",[779,1042,1284],"claude",[1274,1278,1286,1287,1288],"real-time data","document store","statistics",{"title":1290,"path":1291,"stem":1292,"meta":1293},"Parsers","/developers/user-guide/llm-xpack/parsers","2.developers/4.user-guide/50.llm-xpack/50.parsers",{"date":1294,"tags":1295,"keywords":1296},"2024-06-04",[779,1237],[1237,1297,1298,1299,1300],"unstructured","docling","parsers","ocr",{"title":1302,"path":1303,"stem":1304,"meta":1305},"Chunking text","/developers/user-guide/llm-xpack/splitters","2.developers/4.user-guide/50.llm-xpack/60.splitters",{"date":1306,"thumbnail":388,"tags":1307,"keywords":1310},"2025-02-04",[1308,1309],"splitters","chunking",[1299,1309],{"title":1312,"path":1313,"stem":1314,"meta":1315},"Embedders","/developers/user-guide/llm-xpack/embedders","2.developers/4.user-guide/50.llm-xpack/70.embedders",{"date":1306,"thumbnail":388,"tags":1316,"keywords":1318},[779,1317],"embedder",[1237,1239,1240,1241,1319,1320],"LiteLLM","Embedder",{"title":1322,"path":1323,"stem":1324,"meta":1325},"LLM Chats","/developers/user-guide/llm-xpack/llm-chats","2.developers/4.user-guide/50.llm-xpack/80.llm-chats",{"date":1326,"thumbnail":388,"tags":1327,"keywords":1329},"2025-01-30",[779,1237,1328,1322],"LLM Wrappers",[1237,1239,1240,1241,1319,1330],"Wrapper",{"title":1332,"path":1333,"stem":1334,"meta":1335},"Rerankers","/developers/user-guide/llm-xpack/rerankers","2.developers/4.user-guide/50.llm-xpack/90.rerankers",{"date":1306,"thumbnail":388,"tags":1336,"keywords":1338},[779,1337],"reranker",[1237,1339],"Reranker",{"title":1341,"meta":1342,"path":1343,"stem":1344,"children":1345,"page":724},"Deploy",{},"/developers/user-guide/deployment","2.developers/4.user-guide/60.deployment",[1346,1351,1356,1373,1389,1394,1399,1404,1411,1416,1421,1434,1446,1451,1462],{"title":1347,"path":1348,"stem":1349,"meta":1350},"Cloud Deployment of Pathway","/developers/user-guide/deployment/cloud-deployment","2.developers/4.user-guide/60.deployment/10.cloud-deployment",{},{"title":1352,"path":1353,"stem":1354,"meta":1355},"Deploy to GCP","/developers/user-guide/deployment/gcp-deploy","2.developers/4.user-guide/60.deployment/15.gcp-deploy",{},{"title":1357,"path":1358,"stem":1359,"meta":1360},"Deploy to AWS Cloud","/developers/user-guide/deployment/aws-fargate-deploy","2.developers/4.user-guide/60.deployment/20.aws-fargate-deploy",{"date":1361,"tags":1362,"thumbnail":1365,"keywords":1367,"docker_github_link":1372,"deployButtons":724},"2024-08-16",[1363,1364],"showcase","data-pipeline",{"src":1366},"/assets/content/documentation/aws/aws-fargate-overview-th.png",[1368,1369,1370,922,1371],"AWS","Fargate","cloud deployment","AWS Fargate","https://github.com/pathwaycom/pathway/tree/main/examples/projects/aws-fargate-deploy",{"title":1374,"path":1375,"stem":1376,"meta":1377},"Deploy to Azure","/developers/user-guide/deployment/azure-aci-deploy","2.developers/4.user-guide/60.deployment/25.azure-aci-deploy",{"date":1378,"tags":1379,"thumbnail":1380,"keywords":1382,"docker_github_link":1388,"deployButtons":724},"2024-11-20",[1363,1364],{"src":1381,"contain":695},"/assets/content/documentation/azure/azure-aci-overview-th.png",[1383,1384,1370,922,1385,1386,1387],"Azure","ACI","Azure ACI","Azure Marketplace","deployment","https://github.com/pathwaycom/pathway/tree/main/examples/projects/azure-aci-deploy",{"title":1390,"path":1391,"stem":1392,"meta":1393},"Deploy with Render","/developers/user-guide/deployment/render-deploy","2.developers/4.user-guide/60.deployment/30.render-deploy",{},{"title":1395,"path":1396,"stem":1397,"meta":1398},"Deploy to Nebius AI Cloud","/developers/user-guide/deployment/nebius-deploy","2.developers/4.user-guide/60.deployment/32.nebius-deploy",{},{"title":1400,"path":1401,"stem":1402,"meta":1403},"Notebook-to-Docker Conversion","/developers/user-guide/deployment/jupyter-docker","2.developers/4.user-guide/60.deployment/35.jupyter-docker",{},{"title":1405,"path":1406,"stem":1407,"meta":1408},"Tutorial: From Jupyter to Deploy","/developers/user-guide/deployment/from-jupyter-to-deploy","2.developers/4.user-guide/60.deployment/40.from-jupyter-to-deploy",{"date":1409,"project_github_link":1410},"2023-11-29","https://github.com/pathwaycom/pathway/tree/main/examples/projects/from_jupyter_to_deploy",{"title":1412,"path":1413,"stem":1414,"meta":1415},"CI/CD","/developers/user-guide/deployment/integration","2.developers/4.user-guide/60.deployment/45.integration",{},{"title":1417,"path":1418,"stem":1419,"meta":1420},"Docker Deployment of Pathway","/developers/user-guide/deployment/docker-deployment","2.developers/4.user-guide/60.deployment/5.docker-deployment",{},{"title":1422,"path":1423,"stem":1424,"meta":1425},"Monitoring Pathway Instance","/developers/user-guide/deployment/pathway-monitoring","2.developers/4.user-guide/60.deployment/50.pathway-monitoring",{"date":1426,"thumbnail":1427,"tags":1428,"keywords":1429},"2024-05-27","/assets/content/blog/th-prometheus.png",[779,1042],[1430,1431,1432,1433],"monitoring","OpenTelemetry","Grafana","metrics",{"title":1435,"path":1436,"stem":1437,"meta":1438},"Pathway Web Dashboard","/developers/user-guide/deployment/web-dashboard","2.developers/4.user-guide/60.deployment/52.web-dashboard",{"date":1439,"tags":1440,"keywords":1441},"2026-01-13",[779,1042],[1442,1443,1430,1444,1445,1433],"Web Dashboard","UI","graph","charts",{"title":1447,"path":1448,"stem":1449,"meta":1450},"Persistence in Pathway","/developers/user-guide/deployment/persistence","2.developers/4.user-guide/60.deployment/55.persistence",{},{"title":1452,"path":1453,"stem":1454,"meta":1455},"Persistence in Pathway: How to Resume the Interrupted Computation","/developers/user-guide/deployment/persistence_recovery","2.developers/4.user-guide/60.deployment/60.persistence_recovery",{"date":1456,"thumbnail":388,"tags":1457,"keywords":1459},"2023-11-02",[779,1042,1458],"dataflow management",[1460,1461],"persistence","recovery",{"title":1463,"path":1464,"stem":1465,"meta":1466},"Persistence in Pathway: How to Add New Data without Full Computation Restart","/developers/user-guide/deployment/persistence_restart_with_new_data","2.developers/4.user-guide/60.deployment/65.persistence_restart_with_new_data",{"date":1467,"thumbnail":388,"tags":1468,"keywords":1469},"2023-11-14",[779,1042,1458],[1460,1470,1471],"optimization","restart",{"title":1473,"path":1474,"stem":1475,"children":1476,"page":724},"Migrating","/developers/user-guide/migrating","2.developers/4.user-guide/70.migrating",[1477,1483],{"title":1478,"path":1479,"stem":1480,"meta":1481},"Coming from Pandas","/developers/user-guide/migrating/migrate-from-pandas","2.developers/4.user-guide/70.migrating/10.migrate-from-pandas",{"notebook_export_path":1482},"notebooks/tutorials/from_pandas.ipynb",{"title":1484,"path":1485,"stem":1486,"meta":1487},"Pandas Cheat Sheet","/developers/user-guide/migrating/pandas-cheat-sheet","2.developers/4.user-guide/70.migrating/20.pandas-cheat-sheet",{},{"title":1489,"path":1490,"stem":1491,"children":1492,"page":724},"Advanced","/developers/user-guide/advanced","2.developers/4.user-guide/80.advanced",[1493,1498,1508,1514,1527,1532,1537,1542],{"title":1494,"path":1495,"stem":1496,"meta":1497},"Architecture","/developers/user-guide/advanced/worker-architecture","2.developers/4.user-guide/80.advanced/10.worker-architecture",{},{"title":1499,"path":1500,"stem":1501,"meta":1502},"Setting up Cache in Asynchronous Transformations","/developers/user-guide/advanced/function_calls_caching","2.developers/4.user-guide/80.advanced/20.function_calls_caching",{"date":1503,"thumbnail":388,"tags":1504,"keywords":1505},"2023-11-30",[779,1042,1458],[1460,1470,1506,1507],"async_transformer","caching",{"title":1509,"path":1510,"stem":1511,"meta":1512},"Data Model Consistency","/developers/user-guide/advanced/consistency","2.developers/4.user-guide/80.advanced/30.consistency",{"notebook_export_path":1513},"notebooks/tutorials/consistency.ipynb",{"title":1515,"path":1516,"stem":1517,"meta":1518},"Writing declarative over imperative pipelines","/developers/user-guide/advanced/declarative_vs_imperative","2.developers/4.user-guide/80.advanced/40.declarative_vs_imperative",{"date":1519,"thumbnail":388,"tags":1520,"keywords":1521,"notebook_export_path":1526},"2025-11-25",[779,1042],[1522,1523,1524,1525,1083],"declarative","imperative","ordered","splitting","notebooks/tutorials/declarative_vs_imperative.ipynb",{"title":1528,"path":1529,"stem":1530,"meta":1531},"Best Practices","/developers/user-guide/advanced/best-practices","2.developers/4.user-guide/80.advanced/5.best-practices",{},{"title":1533,"path":1534,"stem":1535,"meta":1536},"How Pathway Connectors Work","/developers/user-guide/advanced/how_pathway_connectors_work","2.developers/4.user-guide/80.advanced/50.how_pathway_connectors_work",{},{"title":1538,"path":1539,"stem":1540,"meta":1541},"Dynamic Worker Scaling","/developers/user-guide/advanced/worker_count_scaling","2.developers/4.user-guide/80.advanced/60.worker_count_scaling",{},{"title":1543,"path":1544,"stem":1545,"meta":1546},"Running on Multiple Machines","/developers/user-guide/advanced/running_on_multiple_machines","2.developers/4.user-guide/80.advanced/70.running_on_multiple_machines",{},{"title":1548,"meta":1549,"path":1550,"stem":1551,"children":1552,"page":724},"Help And Updates",{},"/developers/user-guide/development","2.developers/4.user-guide/90.development",[1553,1558,1563],{"title":1554,"path":1555,"stem":1556,"meta":1557},"Troubleshooting","/developers/user-guide/development/troubleshooting","2.developers/4.user-guide/90.development/10.troubleshooting",{},{"title":1559,"path":1560,"stem":1561,"meta":1562},"Changelog","/developers/user-guide/development/changelog","2.developers/4.user-guide/90.development/20.changelog",{"toc":724},{"title":1564,"path":1565,"stem":1566,"meta":1567},"Get help","/developers/user-guide/development/get-help","2.developers/4.user-guide/90.development/30.get-help",{},{"title":1569,"meta":1570,"path":1571,"stem":1572,"children":1573,"page":724},"API docs",{},"/developers/api-docs","2.developers/5.API-docs",[1574,1579,1584,1590,1595,1600,1605,1673,1678,1683,1688,1696,1871,1876],{"title":1575,"path":1576,"stem":1577,"meta":1578},"Pathway API","/developers/api-docs/pathway","2.developers/5.API-docs/1.pathway",{"sidebar":694},{"title":1580,"path":1581,"stem":1582,"meta":1583},"pw.reducers","/developers/api-docs/reducers","2.developers/5.API-docs/10.reducers",{"sidebar":694},{"title":1585,"path":1586,"stem":1587,"meta":1588},"pw.sql","/developers/api-docs/sql-api","2.developers/5.API-docs/11.SQL-API",{"notebook_export_path":1589},"notebooks/tutorials/sql_api.ipynb",{"title":1591,"path":1592,"stem":1593,"meta":1594},"pw.temporal","/developers/api-docs/temporal","2.developers/5.API-docs/12.temporal",{"sidebar":694},{"title":1596,"path":1597,"stem":1598,"meta":1599},"pw.udfs","/developers/api-docs/udfs","2.developers/5.API-docs/13.udfs",{"sidebar":694},{"title":1601,"path":1602,"stem":1603,"meta":1604},"pw.xpacks.connectors","/developers/api-docs/pathway-xpacks-sharepoint","2.developers/5.API-docs/14.pathway-xpacks-sharepoint",{"sidebar":694},{"title":1606,"path":1607,"stem":1608,"children":1609,"meta":1672},"pw.xpacks.llm","/developers/api-docs/pathway-xpacks-llm","2.developers/5.API-docs/15.pathway-xpacks-llm/index",[1610,1612,1617,1622,1627,1632,1637,1642,1647,1652,1657,1662,1667],{"title":1606,"path":1607,"stem":1608,"meta":1611},{"sidebar":694},{"title":1613,"path":1614,"stem":1615,"meta":1616},"pw.xpacks.llm.llms","/developers/api-docs/pathway-xpacks-llm/llms","2.developers/5.API-docs/15.pathway-xpacks-llm/1.llms",{"sidebar":694},{"title":1618,"path":1619,"stem":1620,"meta":1621},"pw.xpacks.llm.servers","/developers/api-docs/pathway-xpacks-llm/servers","2.developers/5.API-docs/15.pathway-xpacks-llm/10.servers",{"sidebar":694},{"title":1623,"path":1624,"stem":1625,"meta":1626},"pw.xpacks.llm.utils","/developers/api-docs/pathway-xpacks-llm/utils","2.developers/5.API-docs/15.pathway-xpacks-llm/11.utils",{"sidebar":694},{"title":1628,"path":1629,"stem":1630,"meta":1631},"pw.xpacks.llm.mcp_server","/developers/api-docs/pathway-xpacks-llm/mcp_server","2.developers/5.API-docs/15.pathway-xpacks-llm/12.mcp_server",{"sidebar":694},{"title":1633,"path":1634,"stem":1635,"meta":1636},"pw.xpacks.llm.embedders","/developers/api-docs/pathway-xpacks-llm/embedders","2.developers/5.API-docs/15.pathway-xpacks-llm/2.embedders",{"sidebar":694},{"title":1638,"path":1639,"stem":1640,"meta":1641},"pw.xpacks.llm.parsers","/developers/api-docs/pathway-xpacks-llm/parsers","2.developers/5.API-docs/15.pathway-xpacks-llm/3.parsers",{"sidebar":694},{"title":1643,"path":1644,"stem":1645,"meta":1646},"pw.xpacks.llm.splitters","/developers/api-docs/pathway-xpacks-llm/splitters","2.developers/5.API-docs/15.pathway-xpacks-llm/4.splitters",{"sidebar":694},{"title":1648,"path":1649,"stem":1650,"meta":1651},"pw.xpacks.llm.vector_store","/developers/api-docs/pathway-xpacks-llm/vectorstore","2.developers/5.API-docs/15.pathway-xpacks-llm/5.vectorstore",{"sidebar":694},{"title":1653,"path":1654,"stem":1655,"meta":1656},"pw.xpacks.llm.document_store","/developers/api-docs/pathway-xpacks-llm/document_store","2.developers/5.API-docs/15.pathway-xpacks-llm/6.document_store",{"sidebar":694},{"title":1658,"path":1659,"stem":1660,"meta":1661},"pw.xpacks.llm.question_answering","/developers/api-docs/pathway-xpacks-llm/question_answering","2.developers/5.API-docs/15.pathway-xpacks-llm/7.question_answering",{"sidebar":694},{"title":1663,"path":1664,"stem":1665,"meta":1666},"pw.xpacks.llm.prompts","/developers/api-docs/pathway-xpacks-llm/prompts","2.developers/5.API-docs/15.pathway-xpacks-llm/8.prompts",{"sidebar":694},{"title":1668,"path":1669,"stem":1670,"meta":1671},"pw.xpacks.llm.rerankers","/developers/api-docs/pathway-xpacks-llm/rerankers","2.developers/5.API-docs/15.pathway-xpacks-llm/9.rerankers",{"sidebar":694},{"sidebar":694},{"title":1674,"path":1675,"stem":1676,"meta":1677},"pw.Table","/developers/api-docs/pathway-table","2.developers/5.API-docs/2.pathway-table",{"sidebar":694},{"title":1679,"path":1680,"stem":1681,"meta":1682},"pw.debug","/developers/api-docs/debug","2.developers/5.API-docs/4.debug",{"sidebar":694},{"title":1684,"path":1685,"stem":1686,"meta":1687},"pw.demo","/developers/api-docs/pathway-demo","2.developers/5.API-docs/5.pathway-demo",{"sidebar":694},{"title":1689,"path":1690,"stem":1691,"children":1692,"meta":1695},"pw.indexing","/developers/api-docs/indexing","2.developers/5.API-docs/6.indexing",[1693],{"title":1689,"path":1690,"stem":1691,"meta":1694},{"sidebar":694},{"sidebar":694},{"title":1697,"path":1698,"stem":1699,"children":1700,"meta":1870},"pw.io","/developers/api-docs/pathway-io","2.developers/5.API-docs/7.pathway-io/index",[1701,1703,1708,1713,1718,1723,1728,1733,1738,1743,1748,1753,1758,1763,1768,1773,1775,1780,1785,1790,1795,1800,1805,1810,1815,1820,1825,1830,1835,1840,1845,1850,1855,1860,1865],{"title":1697,"path":1698,"stem":1699,"meta":1702},{"sidebar":694},{"title":1704,"path":1705,"stem":1706,"meta":1707},"pw.io.airbyte","/developers/api-docs/pathway-io/airbyte","2.developers/5.API-docs/7.pathway-io/110.airbyte",{"sidebar":694},{"title":1709,"path":1710,"stem":1711,"meta":1712},"pw.io.bigquery","/developers/api-docs/pathway-io/bigquery","2.developers/5.API-docs/7.pathway-io/120.bigquery",{"sidebar":694},{"title":1714,"path":1715,"stem":1716,"meta":1717},"pw.io.csv","/developers/api-docs/pathway-io/csv","2.developers/5.API-docs/7.pathway-io/130.csv",{"sidebar":694},{"title":1719,"path":1720,"stem":1721,"meta":1722},"pw.io.debezium","/developers/api-docs/pathway-io/debezium","2.developers/5.API-docs/7.pathway-io/140.debezium",{"sidebar":694},{"title":1724,"path":1725,"stem":1726,"meta":1727},"pw.io.deltalake","/developers/api-docs/pathway-io/deltalake","2.developers/5.API-docs/7.pathway-io/150.deltalake",{"sidebar":694},{"title":1729,"path":1730,"stem":1731,"meta":1732},"pw.io.dynamodb","/developers/api-docs/pathway-io/dynamodb","2.developers/5.API-docs/7.pathway-io/160.dynamodb",{"sidebar":694},{"title":1734,"path":1735,"stem":1736,"meta":1737},"pw.io.elasticsearch","/developers/api-docs/pathway-io/elasticsearch","2.developers/5.API-docs/7.pathway-io/170.elasticsearch",{"sidebar":694},{"title":1739,"path":1740,"stem":1741,"meta":1742},"pw.io.fs","/developers/api-docs/pathway-io/fs","2.developers/5.API-docs/7.pathway-io/180.fs",{"sidebar":694},{"title":1744,"path":1745,"stem":1746,"meta":1747},"pw.io.gdrive","/developers/api-docs/pathway-io/gdrive","2.developers/5.API-docs/7.pathway-io/190.gdrive",{"sidebar":694},{"title":1749,"path":1750,"stem":1751,"meta":1752},"pw.io.http","/developers/api-docs/pathway-io/http","2.developers/5.API-docs/7.pathway-io/200.http",{"sidebar":694},{"title":1754,"path":1755,"stem":1756,"meta":1757},"pw.io.iceberg","/developers/api-docs/pathway-io/iceberg","2.developers/5.API-docs/7.pathway-io/210.iceberg",{"sidebar":694},{"title":1759,"path":1760,"stem":1761,"meta":1762},"pw.io.jsonlines","/developers/api-docs/pathway-io/jsonlines","2.developers/5.API-docs/7.pathway-io/220.jsonlines",{"sidebar":694},{"title":1764,"path":1765,"stem":1766,"meta":1767},"pw.io.kafka","/developers/api-docs/pathway-io/kafka","2.developers/5.API-docs/7.pathway-io/230.kafka",{"sidebar":694},{"title":1769,"path":1770,"stem":1771,"meta":1772},"pw.io.kinesis","/developers/api-docs/pathway-io/kinesis","2.developers/5.API-docs/7.pathway-io/240.kinesis",{"sidebar":694},{"title":5,"path":696,"stem":699,"meta":1774},{"sidebar":694},{"title":1776,"path":1777,"stem":1778,"meta":1779},"pw.io.logstash","/developers/api-docs/pathway-io/logstash","2.developers/5.API-docs/7.pathway-io/260.logstash",{"sidebar":694},{"title":1781,"path":1782,"stem":1783,"meta":1784},"pw.io.milvus","/developers/api-docs/pathway-io/milvus","2.developers/5.API-docs/7.pathway-io/270.milvus",{"sidebar":694},{"title":1786,"path":1787,"stem":1788,"meta":1789},"pw.io.minio","/developers/api-docs/pathway-io/minio","2.developers/5.API-docs/7.pathway-io/280.minio",{"sidebar":694},{"title":1791,"path":1792,"stem":1793,"meta":1794},"pw.io.mongodb","/developers/api-docs/pathway-io/mongodb","2.developers/5.API-docs/7.pathway-io/290.mongodb",{"sidebar":694},{"title":1796,"path":1797,"stem":1798,"meta":1799},"pw.io.mssql","/developers/api-docs/pathway-io/mssql","2.developers/5.API-docs/7.pathway-io/300.mssql",{"sidebar":694},{"title":1801,"path":1802,"stem":1803,"meta":1804},"pw.io.mysql","/developers/api-docs/pathway-io/mysql","2.developers/5.API-docs/7.pathway-io/310.mysql",{"sidebar":694},{"title":1806,"path":1807,"stem":1808,"meta":1809},"pw.io.nats","/developers/api-docs/pathway-io/nats","2.developers/5.API-docs/7.pathway-io/320.nats",{"sidebar":694},{"title":1811,"path":1812,"stem":1813,"meta":1814},"pw.io.null","/developers/api-docs/pathway-io/null","2.developers/5.API-docs/7.pathway-io/330.null",{"sidebar":694},{"title":1816,"path":1817,"stem":1818,"meta":1819},"pw.io.mqtt","/developers/api-docs/pathway-io/mqtt","2.developers/5.API-docs/7.pathway-io/340.mqtt",{"sidebar":694},{"title":1821,"path":1822,"stem":1823,"meta":1824},"pw.io.plaintext","/developers/api-docs/pathway-io/plaintext","2.developers/5.API-docs/7.pathway-io/350.plaintext",{"sidebar":694},{"title":1826,"path":1827,"stem":1828,"meta":1829},"pw.io.postgres","/developers/api-docs/pathway-io/postgres","2.developers/5.API-docs/7.pathway-io/360.postgres",{"sidebar":694},{"title":1831,"path":1832,"stem":1833,"meta":1834},"pw.io.pubsub","/developers/api-docs/pathway-io/pubsub","2.developers/5.API-docs/7.pathway-io/370.pubsub",{"sidebar":694},{"title":1836,"path":1837,"stem":1838,"meta":1839},"pw.io.pyfilesystem","/developers/api-docs/pathway-io/pyfilesystem","2.developers/5.API-docs/7.pathway-io/380.pyfilesystem",{"sidebar":694},{"title":1841,"path":1842,"stem":1843,"meta":1844},"pw.io.python","/developers/api-docs/pathway-io/python","2.developers/5.API-docs/7.pathway-io/390.python",{"sidebar":694},{"title":1846,"path":1847,"stem":1848,"meta":1849},"pw.io.questdb","/developers/api-docs/pathway-io/questdb","2.developers/5.API-docs/7.pathway-io/400.questdb",{"sidebar":694},{"title":1851,"path":1852,"stem":1853,"meta":1854},"pw.io.redpanda","/developers/api-docs/pathway-io/redpanda","2.developers/5.API-docs/7.pathway-io/410.redpanda",{"sidebar":694},{"title":1856,"path":1857,"stem":1858,"meta":1859},"pw.io.s3","/developers/api-docs/pathway-io/s3","2.developers/5.API-docs/7.pathway-io/420.s3",{"sidebar":694},{"title":1861,"path":1862,"stem":1863,"meta":1864},"pw.io.slack","/developers/api-docs/pathway-io/slack","2.developers/5.API-docs/7.pathway-io/430.slack",{"sidebar":694},{"title":1866,"path":1867,"stem":1868,"meta":1869},"pw.io.sqlite","/developers/api-docs/pathway-io/sqlite","2.developers/5.API-docs/7.pathway-io/440.sqlite",{"sidebar":694},{"sidebar":694},{"title":1872,"path":1873,"stem":1874,"meta":1875},"pw.ml","/developers/api-docs/ml","2.developers/5.API-docs/8.ML",{"sidebar":694},{"title":1877,"path":1878,"stem":1879,"meta":1880},"pw.persistence","/developers/api-docs/persistence-api","2.developers/5.API-docs/9.persistence-api",{"sidebar":694},{"title":1882,"path":1883,"stem":1884,"children":1885,"meta":2622},"Pathway Templates","/developers/templates","2.developers/7.templates/1.index",[1886,1888,1893,1898,1903,1907,1923,1962,1988,2420],{"title":1882,"path":1883,"stem":1884,"meta":1887},{"navTitle":720,"layout":794,"aside":695,"toc":724,"single":695},{"title":1889,"path":1890,"stem":1891,"meta":1892},"Run a template","/developers/templates/run-a-template","2.developers/7.templates/20.run-a-template",{"heading":724,"toc":724},{"title":1894,"path":1895,"stem":1896,"meta":1897},"Customizing a RAG Template with YAML","/developers/templates/configure-yaml","2.developers/7.templates/30.configure-yaml",{"heading":724},{"title":1899,"path":1900,"stem":1901,"meta":1902},"How to Use Your Own Components in YAML Configuration","/developers/templates/custom-components","2.developers/7.templates/35.custom-components",{"heading":724},{"title":751,"path":1904,"stem":1905,"meta":1906},"/developers/templates/licensing-guide","2.developers/7.templates/38.licensing-guide",{"heading":724,"toc":724},{"title":1908,"meta":1909,"path":1910,"stem":1911,"children":1912,"page":724},"YAML Snippets",{},"/developers/templates/yaml-snippets","2.developers/7.templates/39.yaml-snippets",[1913,1918],{"title":1914,"path":1915,"stem":1916,"meta":1917},"Data Sources Examples","/developers/templates/yaml-snippets/data-sources-examples","2.developers/7.templates/39.yaml-snippets/10.data-sources-examples",{"heading":724,"toc":695},{"title":1919,"path":1920,"stem":1921,"meta":1922},"RAG configuration Examples","/developers/templates/yaml-snippets/rag-configuration-examples","2.developers/7.templates/39.yaml-snippets/20.rag-configuration-examples",{"heading":724,"toc":695},{"title":1924,"path":1925,"stem":1926,"children":1927,"page":724},"Rag Customization","/developers/templates/rag-customization","2.developers/7.templates/40.rag-customization",[1928,1933,1938,1944,1950,1956],{"title":1929,"path":1930,"stem":1931,"meta":1932},"REST API","/developers/templates/rag-customization/rest-api","2.developers/7.templates/40.rag-customization/10.REST-API",{"heading":724,"toc":724},{"title":1934,"path":1935,"stem":1936,"meta":1937},"Customizing prompt","/developers/templates/rag-customization/custom-prompt","2.developers/7.templates/40.rag-customization/20.custom-prompt",{"heading":724},{"title":1290,"path":1939,"stem":1940,"meta":1941},"/developers/templates/rag-customization/parsers","2.developers/7.templates/40.rag-customization/30.parsers",{"date":1294,"tags":1942,"keywords":1943},[779,1237],[1237,1297,1298,1299,1300],{"title":1302,"path":1945,"stem":1946,"meta":1947},"/developers/templates/rag-customization/splitters","2.developers/7.templates/40.rag-customization/40.splitters",{"date":1306,"thumbnail":388,"tags":1948,"keywords":1949},[1308,1309],[1299,1309],{"title":1312,"path":1951,"stem":1952,"meta":1953},"/developers/templates/rag-customization/embedders","2.developers/7.templates/40.rag-customization/50.embedders",{"date":1306,"thumbnail":388,"tags":1954,"keywords":1955},[779,1317],[1237,1239,1240,1241,1319,1320],{"title":1322,"path":1957,"stem":1958,"meta":1959},"/developers/templates/rag-customization/llm-chats","2.developers/7.templates/40.rag-customization/60.llm-chats",{"date":1326,"thumbnail":388,"tags":1960,"keywords":1961},[779,1237,1328,1322],[1237,1239,1240,1241,1319,1330],{"title":1341,"path":1963,"stem":1964,"children":1965,"page":724},"/developers/templates/deploy","2.developers/7.templates/60.deploy",[1966,1970,1974,1981],{"title":1347,"path":1967,"stem":1968,"meta":1969},"/developers/templates/deploy/cloud-deployment","2.developers/7.templates/60.deploy/10.cloud-deployment",{},{"title":1352,"path":1971,"stem":1972,"meta":1973},"/developers/templates/deploy/gcp-deploy","2.developers/7.templates/60.deploy/15.gcp-deploy",{},{"title":1357,"path":1975,"stem":1976,"meta":1977},"/developers/templates/deploy/aws-fargate-deploy","2.developers/7.templates/60.deploy/20.aws-fargate-deploy",{"date":1361,"tags":1978,"thumbnail":1979,"keywords":1980,"docker_github_link":1372,"deployButtons":724},[1363,1364],{"src":1366},[1368,1369,1370,922,1371],{"title":1374,"path":1982,"stem":1983,"meta":1984},"/developers/templates/deploy/azure-aci-deploy","2.developers/7.templates/60.deploy/25.azure-aci-deploy",{"date":1378,"tags":1985,"thumbnail":1986,"keywords":1987,"docker_github_link":1388,"deployButtons":724},[1363,1364],{"src":1381,"contain":695},[1383,1384,1370,922,1385,1386,1387],{"title":1989,"meta":1990,"path":1991,"stem":1992,"children":1993,"page":724},"ETL Templates",{},"/developers/templates/etl","2.developers/7.templates/ETL",[1994,2008,2024,2043,2063,2074,2088,2099,2109,2124,2139,2153,2168,2186,2202,2216,2232,2248,2260,2273,2283,2295,2307,2321],{"title":1995,"path":1996,"stem":1997,"meta":1998},"EL Pipeline: Move your data around with Pathway","/developers/templates/etl/el-pipeline","2.developers/7.templates/ETL/10.el-pipeline",{"layout":1999,"date":2000,"tags":2001,"thumbnail":2002,"keywords":2004,"popular":695},"template","2025-05-22",[1363,1364],{"src":2003,"contain":695},"/assets/content/showcases/el-template/el-template-thumbnail.png",[2005,2006,2007,920,947,922],"ETL","EL","YAML",{"title":2009,"path":2010,"stem":2011,"meta":2012},"Real-Time Anomaly Detection: identifying brute-force logins using Tumbling Windows","/developers/templates/etl/suspicious_activity_tumbling_window","2.developers/7.templates/ETL/10.suspicious_activity_tumbling_window",{"notebook_export_path":2013,"aside":695,"date":2014,"thumbnail":2015,"tags":2018,"keywords":2020,"layout":1999},"notebooks/tutorials/suspicious_user_activity.ipynb","2023-05-30",{"src":2016,"provider":2017},"/assets/blog/thumbnails/th-shield.png","s3",[779,2019],"machine-learning",[1210,2021,2022,2023],"tumbling","alert","notebook",{"title":2025,"path":2026,"stem":2027,"meta":2028},"Gaussian Filtering in Real-time: Signal processing with out-of-order data streams","/developers/templates/etl/gaussian_filtering_python","2.developers/7.templates/ETL/100.gaussian_filtering_python",{"notebook_export_path":2029,"aside":695,"date":2030,"layout":1999,"thumbnail":2031,"tags":2033,"related":2035,"keywords":2038},"notebooks/tutorials/gaussian-filtering-python.ipynb","2023-10-17",{"src":2032},"/assets/content/tutorials/time_series/thumbnail-gaussian.png",[779,2034],"Time Series",[2036,2037],"/blog/signal-processing","/developers/templates/etl/upsampling",[2039,2040,1175,2041,2042,1210,2023],"signal processing","Gaussian filter","irregular sampling","intervals_over",{"title":2044,"path":2045,"stem":2046,"meta":2047},"Computing the Option Greeks using Pathway and Databento","/developers/templates/etl/option-greeks","2.developers/7.templates/ETL/105.option-greeks",{"thumbnail":2048,"date":2050,"tags":2051,"keywords":2052,"notebook_export_path":2061,"docker_github_link":2062,"aside":695,"layout":1999},{"src":2049,"contain":695},"/assets/content/showcases/option-greeks/option-greeks.png","2024-08-06",[779,1364],[2053,2054,2055,2056,2057,2058,2059,2060,2023],"Option Greeks","Databento","Delta","Gamma","Theta","Rho","quant","Black model","notebooks/tutorials/option-greeks.ipynb","https://github.com/pathwaycom/pathway/tree/main/examples/projects/option-greeks",{"title":2064,"path":2065,"stem":2066,"meta":2067},"Automating reconciliation of messy financial transaction logs using Pathway's real-time fuzzy join","/developers/templates/etl/fuzzy_join_chapter1","2.developers/7.templates/ETL/11.fuzzy_join_chapter1",{"notebook_export_path":2068,"aside":695,"date":2069,"tags":2070,"keywords":2071,"layout":1999},"notebooks/showcases/fuzzy_join_part1.ipynb","2022-10-18",[779,1364],[2072,2073,1297,2023],"Fuzzy join","reconciliation",{"title":2075,"path":2037,"stem":2076,"meta":2077},"Signal Processing with Real-time Upsampling: combining multiple time series data streams.","2.developers/7.templates/ETL/110.upsampling",{"notebook_export_path":2078,"aside":695,"date":2079,"layout":1999,"thumbnail":2080,"tags":2082,"related":2083,"popular":695,"keywords":2084},"notebooks/tutorials/upsampling.ipynb","2023-10-18",{"src":2081},"/assets/content/tutorials/time_series/thumbnail-time-series.png",[779,2034],[2036,2026],[2039,2085,1175,2086,2087,2042,1210,2023],"upsampling","resampling","interpolation",{"title":2089,"path":2090,"stem":2091,"meta":2092},"Interaction with a Feedback Loop.","/developers/templates/etl/fuzzy_join_chapter2","2.developers/7.templates/ETL/12.fuzzy_join_chapter2",{"notebook_export_path":2093,"aside":695,"date":2094,"thumbnail":2095,"tags":2097,"keywords":2098,"layout":1999},"notebooks/showcases/fuzzy_join_part2.ipynb","2022-10-19",{"src":2096,"contain":695},"/assets/content/showcases/fuzzy_join/reconciliation_chapter3_trim.png",[779,1364],[2072,2073,1297,2023],{"title":2100,"path":2101,"stem":2102,"meta":2103},"Smart real-time monitoring application with alert deduplication","/developers/templates/etl/alerting-significant-changes","2.developers/7.templates/ETL/130.alerting-significant-changes",{"notebook_export_path":2104,"aside":695,"date":2105,"tags":2106,"keywords":2107,"layout":1999},"notebooks/tutorials/alert-deduplication.ipynb","2023-11-16",[779,1364],[2022,2108,1430,2023],"deduplication",{"title":2110,"path":2111,"stem":2112,"meta":2113},"Kafka ETL: Processing event streams in Python","/developers/templates/etl/kafka-etl","2.developers/7.templates/ETL/140.kafka-etl",{"layout":1999,"date":2114,"tags":2115,"thumbnail":2116,"keywords":2118,"docker_github_link":2123,"popular":695},"2024-02-15",[1363,1364],{"src":2117,"contain":695},"/assets/content/showcases/ETL-Kafka/ETL-Kafka.png",[2005,920,2119,2120,2121,2122,922],"datetime","time zone","timezone","concat_reindex","https://github.com/pathwaycom/pathway/tree/main/examples/projects/kafka-ETL",{"title":2125,"path":2126,"stem":2127,"meta":2128},"Streaming ETL pipelines in Python with Airbyte and Pathway","/developers/templates/etl/etl-python-airbyte","2.developers/7.templates/ETL/150.etl-python-airbyte",{"layout":1999,"date":2129,"tags":2130,"thumbnail":2131,"keywords":2133},"2024-02-28",[1363,1364],{"src":2132},"/assets/content/showcases/airbyte/airbyte-diagram-th.png",[2134,2135,2136,2137,2138],"airbyte","processing","airbyte python","python etl","airbyte etl",{"title":2140,"path":2141,"stem":2142,"meta":2143},"Delta Lake ETL with Pathway for Spark Analytics","/developers/templates/etl/delta_lake_etl","2.developers/7.templates/ETL/175.delta_lake_etl",{"layout":1999,"date":2144,"tags":2145,"thumbnail":2146,"keywords":2148,"docker_github_link":2152},"2024-07-23",[1363,1364],{"src":2147,"contain":695},"/assets/content/showcases/deltalake/delta_lake_diagram_th.png",[2149,2150,2151,2137,2138,922],"delta lake etl","spark delta lake","spark etl","https://github.com/pathwaycom/pathway/tree/main/examples/projects/spark-data-preparation",{"title":2154,"path":2155,"stem":2156,"meta":2157},"Python Kafka Alternative: Achieve Sub-Second Latency with your S3 Storage without Kafka using Pathway","/developers/templates/etl/kafka-alternative","2.developers/7.templates/ETL/180.kafka-alternative",{"layout":1999,"thumbnail":2158,"date":2160,"tags":2161,"keywords":2162},{"src":2159,"contain":695},"/assets/content/showcases/kafka-alternatives/kafka-alternatives-thumbnail.png","2024-08-27",[1363,1364],[2005,920,2163,2164,2165,2121,2166,2167],"Pathway","MinIO","S3","Kafka-alternatives","Delta tables",{"title":2169,"path":2170,"stem":2171,"meta":2172},"Jupyter / Colab: visualizing and transforming live data streams in Python notebooks with Pathway","/developers/templates/etl/live_data_jupyter","2.developers/7.templates/ETL/2.live_data_jupyter",{"aside":695,"date":1409,"tags":2173,"keywords":2174,"notebook_export_path":2184,"docker_github_link":2185,"popular":695,"layout":1999},[779,1364,1363],[2175,2176,2177,2178,2179,2180,2181,2182,2183,2023,922],"Jupyter notebook","interactivity","bokeh","panel","Bollinger bands","vizualization","Weighted Average","rolling statistics","dashboard","notebooks/showcases/live-data-jupyter.ipynb","https://github.com/pathwaycom/pathway/tree/main/examples/projects/from_jupyter_to_deploy/part4_deployment",{"title":2187,"path":2188,"stem":2189,"meta":2190},"Real-Time Twitter Sentiment Analysis and Prediction App with Pathway","/developers/templates/etl/twitter","2.developers/7.templates/ETL/2.twitter",{"aside":695,"layout":1999,"date":2191,"thumbnail":2192,"tags":2194,"keywords":2195,"docker_github_link":2201},"2022-10-31",{"src":2193},"/assets/content/blog/th-twitter.png",[779,2019,1363],[2196,2197,2198,2199,2200,1297,922],"Twitter","tweets","sentiment analysis","geolocation","influence","https://github.com/pathwaycom/pathway/tree/main/examples/projects/twitter",{"title":2203,"path":2204,"stem":2205,"meta":2206},"Out-of-Order Event Streams: Calculating Time Deltas with grouping by topic","/developers/templates/etl/event_stream_processing_time_between_occurrences","2.developers/7.templates/ETL/20.event_stream_processing_time_between_occurrences",{"aside":695,"date":2207,"layout":1999,"thumbnail":2208,"tags":2210,"keywords":2211},"2022-11-01",{"src":2209},"/assets/content/blog/th-time-between-events-in-a-multi-topic-event-stream.png",[779,1364],[2212,2213,919,2214,2215],"event stream","multi-topic","ordering","sort",{"title":2217,"path":2218,"stem":2219,"meta":2220},"Adaptive Classifiers: Evolving Predictions with Real-Time Data","/developers/templates/etl/lsh_chapter1","2.developers/7.templates/ETL/3.lsh_chapter1",{"notebook_export_path":2221,"aside":695,"date":2222,"thumbnail":2223,"tags":2225,"keywords":2226,"layout":1999},"notebooks/showcases/lsh.ipynb","2022-10-25",{"src":2224},"/assets/content/blog/th-realtime-classification.png",[779,2019],[2227,1107,2228,1102,2229,2230,2231,1297,2023],"Classification","LSH","Locality Sensitive Hashing","MNIST","euclidean distance",{"title":2233,"path":2234,"stem":2235,"meta":2236},"Uncovering hidden user relationships in crypto exchanges with Fuzzy Join on streaming data","/developers/templates/etl/user_pairs_fuzzy_join","2.developers/7.templates/ETL/30.user_pairs_fuzzy_join",{"aside":695,"date":2237,"thumbnail":2238,"tags":2240,"keywords":2241,"layout":1999},"2023-01-09",{"src":2239,"provider":2017},"/assets/blog/thumbnails/th-mining-hidden-user-pair-activity-with-fuzzy-join.png",[779,1364],[2242,2022,2243,2244,2245,2246,2247],"fuzzy join","cryptocurrency","bitcoin","BTC","ETH","Ethereum",{"title":2249,"path":2250,"stem":2251,"meta":2252},"Pathway Logistics Application: Streamlined Insights for Real-Time Asset Management","/developers/templates/etl/logistics","2.developers/7.templates/ETL/4.logistics",{"aside":695,"layout":1999,"date":2191,"thumbnail":2253,"tags":2255,"enterprise":695,"keywords":2256},{"src":2254},"/assets/content/blog/th-logictics-app.png",[779,2019],[2257,2258,2259],"Logistics","IoT","Dashboard",{"title":2261,"path":2262,"stem":2263,"meta":2264},"Real-Time Shortest Paths on Dynamic Networks with Bellman-Ford in Pathway","/developers/templates/etl/bellman_ford","2.developers/7.templates/ETL/40.bellman_ford",{"aside":695,"date":2265,"layout":1999,"thumbnail":2266,"tags":2268,"notebook_export_path":2269,"keywords":2270},"2022-11-03",{"src":2267,"provider":2017},"/assets/blog/thumbnails/th-bellman-ford.png",[779,2019],"notebooks/tutorials/bellman_ford.ipynb",[1083,2271,2272,1444,2023],"fixed-point","shortest-path",{"title":2274,"path":2275,"stem":2276,"meta":2277},"Linear regression on a Kafka stream","/developers/templates/etl/linear_regression_with_kafka","2.developers/7.templates/ETL/5.linear_regression_with_kafka",{"aside":695,"layout":1999,"date":2278,"tags":2279,"keywords":2280,"docker_github_link":2282},"2022-12-23",[779,1364],[2281,920,852],"linear regression","https://github.com/pathwaycom/pathway/tree/main/examples/projects/kafka-linear-regression",{"title":2284,"path":2285,"stem":2286,"meta":2287},"Real-Time PageRank on Dynamic Graphs with Pathway","/developers/templates/etl/pagerank","2.developers/7.templates/ETL/50.pagerank",{"notebook_export_path":2288,"aside":695,"date":2289,"thumbnail":2290,"tags":2292,"keywords":2293,"layout":1999},"notebooks/tutorials/pagerank.ipynb","2022-11-07",{"src":2291,"provider":2017},"/assets/blog/thumbnails/th-computing-pagerank.png",[779,2019],[2294,1444,2023],"pagerank",{"title":2296,"path":2297,"stem":2298,"meta":2299},"Sensor Fusion in real-time: combining time series data with Pathway","/developers/templates/etl/combining_time_series","2.developers/7.templates/ETL/65.combining_time_series",{"aside":695,"date":2300,"thumbnail":2301,"tags":2302,"keywords":2303,"notebook_export_path":2306,"layout":1999},"2023-04-28",{"src":2081},[2034],[2304,2305,2087,816,2023],"time series","multiple data sources","notebooks/tutorials/combining-time-series.ipynb",{"title":2308,"path":2309,"stem":2310,"meta":2311},"Realtime Server Log Monitoring: nginx + Filebeat + Pathway","/developers/templates/etl/realtime-log-monitoring","2.developers/7.templates/ETL/7.realtime-log-monitoring",{"aside":695,"layout":1999,"date":2312,"thumbnail":2313,"tags":2315,"keywords":2316,"docker_github_link":2320},"2023-02-27",{"src":2314,"contain":695},"/assets/content/tutorials/realtime_log_monitoring/meme.jpg",[779,1364],[2317,2022,920,2318,895,2319,922],"log monitoring","Filebeat","ElasticSearch","https://github.com/pathwaycom/pathway/tree/main/examples/projects/realtime-log-monitoring/filebeat-pathway-slack",{"title":2322,"path":2323,"stem":2324,"children":2325,"page":724},"Readmes","/developers/templates/etl/_readmes","2.developers/7.templates/ETL/_readmes",[2326,2331,2336,2341,2346,2351,2356,2361,2366,2371,2376,2380,2385,2390,2395,2400,2405,2410,2415],{"title":2327,"path":2328,"stem":2329,"meta":2330},"AG2 Multi-Agent Conversations with Pathway Real-Time RAG","/developers/templates/etl/_readmes/ag2-multiagent-rag","2.developers/7.templates/ETL/_readmes/ag2-multiagent-rag",{},{"title":2332,"path":2333,"stem":2334,"meta":2335},"Azure ACI Deployment Example","/developers/templates/etl/_readmes/azure-aci-deploy","2.developers/7.templates/ETL/_readmes/azure-aci-deploy",{},{"title":2337,"path":2338,"stem":2339,"meta":2340},"Benchmark for Delta Lake S3 messaging as a Kafka replacement","/developers/templates/etl/_readmes/benchmarks","2.developers/7.templates/ETL/_readmes/benchmarks",{},{"title":2342,"path":2343,"stem":2344,"meta":2345},"Best-rated movies examples","/developers/templates/etl/_readmes/best-movies-example","2.developers/7.templates/ETL/_readmes/best-movies-example",{},{"title":2347,"path":2348,"stem":2349,"meta":2350},"Make your LLM app sane again: Forgetting incorrect data in real time","/developers/templates/etl/_readmes/conf42","2.developers/7.templates/ETL/_readmes/conf42",{},{"title":2352,"path":2353,"stem":2354,"meta":2355},"Custom python connector example","/developers/templates/etl/_readmes/custom-python-connector-twitter","2.developers/7.templates/ETL/_readmes/custom-python-connector-twitter",{},{"title":2357,"path":2358,"stem":2359,"meta":2360},"Realtime monitoring of logs","/developers/templates/etl/_readmes/filebeat-pathway-slack","2.developers/7.templates/ETL/_readmes/filebeat-pathway-slack",{},{"title":2362,"path":2363,"stem":2364,"meta":2365},"Tutorial: From interactive data exploration to deployment","/developers/templates/etl/_readmes/from_jupyter_to_deploy","2.developers/7.templates/ETL/_readmes/from_jupyter_to_deploy",{},{"title":2367,"path":2368,"stem":2369,"meta":2370},"ETL with Kafka in/Kafka out","/developers/templates/etl/_readmes/kafka-etl","2.developers/7.templates/ETL/_readmes/kafka-ETL",{},{"title":2372,"path":2373,"stem":2374,"meta":2375},"Best-rated movies example - Kafka version","/developers/templates/etl/_readmes/kafka-version","2.developers/7.templates/ETL/_readmes/kafka-version",{},{"title":2357,"path":2377,"stem":2378,"meta":2379},"/developers/templates/etl/_readmes/logstash-pathway-elastic","2.developers/7.templates/ETL/_readmes/logstash-pathway-elastic",{},{"title":2381,"path":2382,"stem":2383,"meta":2384},"Pathway Monitoring using OpenTelemetry Collector and Grafana Cloud","/developers/templates/etl/_readmes/monitoring","2.developers/7.templates/ETL/_readmes/monitoring",{},{"title":2386,"path":2387,"stem":2388,"meta":2389},"Computing Option Greeks with Pathway and Databento.","/developers/templates/etl/_readmes/option-greeks","2.developers/7.templates/ETL/_readmes/option-greeks",{},{"title":2391,"path":2392,"stem":2393,"meta":2394},"Retrieval-Augmented Generation (RAG) Pipeline with Pathway","/developers/templates/etl/_readmes/question-answering-rag","2.developers/7.templates/ETL/_readmes/question-answering-rag",{},{"title":2396,"path":2397,"stem":2398,"meta":2399},"Best-rated movies example - Redpanda version","/developers/templates/etl/_readmes/redpanda-version","2.developers/7.templates/ETL/_readmes/redpanda-version",{},{"title":2401,"path":2402,"stem":2403,"meta":2404},"Sample Pathway program for SharePoint connection testing","/developers/templates/etl/_readmes/sharepoint-test","2.developers/7.templates/ETL/_readmes/sharepoint-test",{},{"title":2406,"path":2407,"stem":2408,"meta":2409},"Data Preparation for Spark Analytics","/developers/templates/etl/_readmes/spark-data-preparation","2.developers/7.templates/ETL/_readmes/spark-data-preparation",{},{"title":2411,"path":2412,"stem":2413,"meta":2414},"Realtime Twitter Analysis App with Pathway","/developers/templates/etl/_readmes/twitter","2.developers/7.templates/ETL/_readmes/twitter",{},{"title":2416,"path":2417,"stem":2418,"meta":2419},"Web Scraping with Pathway","/developers/templates/etl/_readmes/web-scraping","2.developers/7.templates/ETL/_readmes/web-scraping",{},{"title":2421,"meta":2422,"path":2423,"stem":2424,"children":2425,"page":724},"LLM-RAG Templates",{},"/developers/templates/rag","2.developers/7.templates/rag",[2426,2439,2454,2470,2483,2501,2511,2526,2536,2546,2557,2570],{"title":2427,"path":2428,"stem":2429,"meta":2430},"Question-Answering RAG App","/developers/templates/rag/demo-question-answering","2.developers/7.templates/rag/1000.demo-question-answering",{"redirection":2431,"thumbnail":2432,"layout":1999,"tags":2434,"date":1294,"keywords":2436,"docker_github_link":2431,"popular":695},"https://github.com/pathwaycom/llm-app/tree/main/templates/question_answering_rag",{"src":2433,"provider":2017},"/assets/blog/thumbnails/qna-th.png",[1363,2435],"ai-pipelines",[1237,1249,1239,1240,2437,1103,852,2438],"vector store","yaml",{"title":2440,"path":2441,"stem":2442,"meta":2443},"Adaptive RAG App","/developers/templates/rag/template-adaptive-rag","2.developers/7.templates/rag/1001.template-adaptive-rag",{"thumbnail":2444,"tags":2446,"date":2447,"layout":1999,"keywords":2448,"docker_github_link":2453},{"src":2445,"contain":695},"/assets/content/blog/adaptive-rag-plots/visual-abstract.png",[1363,2435],"2024-03-29",[1237,1249,2449,2450,2451,2452,852,2438],"Adaptive RAG","prompt engineering","prompt","explainability","https://github.com/pathwaycom/llm-app/tree/main/templates/adaptive_rag",{"title":2455,"path":2456,"stem":2457,"meta":2458},"Private RAG App with Mistral and Ollama","/developers/templates/rag/template-private-rag","2.developers/7.templates/rag/1002.template-private-rag",{"tags":2459,"date":2460,"thumbnail":2461,"layout":1999,"keywords":2463,"docker_github_link":2469},[1363,2435],"2024-04-22",{"src":2462,"contain":695},"/assets/content/blog/local-adaptive-rag/local_adaptive.png",[1237,1249,2449,2450,2452,2464,2465,2466,2467,2468,852,2438],"mistral","ollama","private rag","local rag","ollama rag","https://github.com/pathwaycom/llm-app/tree/main/templates/private_rag",{"title":2471,"path":2472,"stem":2473,"meta":2474},"Multimodal RAG pipeline with GPT4o","/developers/templates/rag/template-multimodal-rag","2.developers/7.templates/rag/1003.template-multimodal-rag",{"tags":2475,"date":2476,"thumbnail":2477,"layout":1999,"keywords":2479,"docker_github_link":2482,"popular":695},[1363,2435],"2024-01-01",{"src":2478,"contain":695},"/assets/content/showcases/multimodal-RAG/multimodalRAG-blog-banner.png",[1237,1249,1239,1240,2480,2481,1297,852,2438],"GPT-4o","multimodal RAG","https://github.com/pathwaycom/llm-app/tree/main/templates/multimodal_rag",{"title":2484,"path":2485,"stem":2486,"children":2487,"meta":2497},"Live Document Indexing (Vector Store / Retriever)","/developers/templates/rag/template-demo-document-indexing","2.developers/7.templates/rag/1008.template-demo-document-indexing",[2488],{"title":2484,"path":2485,"stem":2486,"meta":2489},{"thumbnail":2490,"tags":2492,"date":2476,"layout":1999,"keywords":2493,"docker_github_link":2496},{"src":2491,"provider":2017},"/assets/blog/thumbnails/live-document-indexing-th.png",[1363,2435],[1237,1249,1239,1240,2437,1103,2494,999,2495,852,2438],"SharePoint","Gdrive","https://github.com/pathwaycom/llm-app/tree/main/templates/document_indexing",{"thumbnail":2498,"tags":2499,"date":2476,"layout":1999,"keywords":2500,"docker_github_link":2496},{"src":2491,"provider":2017},[1363,2435],[1237,1249,1239,1240,2437,1103,2494,999,2495,852,2438],{"title":2502,"path":2503,"stem":2504,"meta":2505},"Alerting when answers change on Google Drive","/developers/templates/rag/drive-alert","2.developers/7.templates/rag/1009.drive-alert",{"tags":2506,"date":2507,"layout":1999,"keywords":2508,"docker_github_link":2510,"hide":695},[1363,2435],"2024-11-07",[1237,1249,1239,1240,2509,1103,999,2495,852],"slack","https://github.com/pathwaycom/llm-app/tree/main/templates/drive_alert",{"title":2512,"path":2513,"stem":2514,"meta":2515},"Slides AI Search App","/developers/templates/rag/template-slides-search","2.developers/7.templates/rag/1010.template-slides-search",{"thumbnail":2516,"tags":2518,"date":2519,"layout":1999,"keywords":2520,"docker_github_link":2525},{"src":2517,"provider":2017},"/assets/blog/thumbnails/slides-search-th.png",[1363,2435],"2024-11-14",[1237,1249,1239,1240,999,2521,852,2438,2522,2523,2524],"slides","multimodal","VLM","image-to-text","https://github.com/pathwaycom/llm-app/tree/main/templates/slides_ai_search",{"title":2527,"path":2528,"stem":2529,"meta":2530},"Adaptive RAG: cut your LLM costs without sacrificing accuracy","/developers/templates/rag/adaptive-rag","2.developers/7.templates/rag/1015.adaptive-rag",{"aside":695,"thumbnail":2531,"tags":2532,"date":2533,"notebook_export_path":2534,"keywords":2535,"run_template":2441,"hide":695},{"src":2445,"contain":695},[1363,2435],"2024-03-28","notebooks/showcases/adaptive_rag_question_answering.ipynb",[1237,1249,2449,2450,2451,2452,2023,922],{"title":2537,"path":2538,"stem":2539,"meta":2540},"Multimodal RAG for PDFs with Text, Images, and Charts","/developers/templates/rag/multimodal-rag","2.developers/7.templates/rag/120.multimodal-rag",{"aside":695,"thumbnail":2541,"date":2542,"tags":2543,"keywords":2544,"notebook_export_path":2545,"run_template":2472,"popular":695,"hide":695},{"src":2478,"contain":695},"2024-06-20",[1363,2435],[1237,1249,1239,1240,2480,2481,1297,2023,852],"notebooks/showcases/multimodal-rag.ipynb",{"title":2547,"path":2548,"stem":2549,"meta":2550},"Private RAG with Connected Data Sources using Mistral, Ollama, and Pathway","/developers/templates/rag/private-rag-ollama-mistral","2.developers/7.templates/rag/161.private-rag-ollama-mistral",{"aside":695,"thumbnail":2551,"tags":2552,"date":2553,"related":2554,"notebook_export_path":2555,"keywords":2556,"run_template":2456,"hide":695},{"src":2462,"contain":695},[1363,2435],"2024-04-23",[2528,2428],"notebooks/showcases/mistral_adaptive_rag_question_answering.ipynb",[1237,1249,2449,2450,2452,2464,2465,2466,2467,2468,2023,852],{"title":2558,"path":2559,"stem":2560,"meta":2561},"Pathway + PostgreSQL + LLM: app for querying financial reports with live document structuring pipeline.","/developers/templates/rag/unstructured-to-structured","2.developers/7.templates/rag/5.unstructured-to-structured",{"aside":695,"layout":1999,"date":1220,"thumbnail":2562,"tags":2564,"keywords":2565,"docker_github_link":2569},{"src":2563,"contain":695},"/assets/content/showcases/llm-app/architecture_unst_to_st.png",[1363,2435],[1237,2566,1297,947,1239,2567,2568,815,1297,922],"SQL","Entity extraction","Document parsing","https://github.com/pathwaycom/llm-app/tree/main/templates/unstructured_to_sql_on_the_fly",{"title":2322,"path":2571,"stem":2572,"children":2573,"page":724},"/developers/templates/rag/_readmes","2.developers/7.templates/rag/_readmes",[2574,2579,2587,2592,2597,2602,2607,2612,2617],{"title":2575,"path":2576,"stem":2577,"meta":2578},"AdaptiveRag","/developers/templates/rag/_readmes/adaptive_rag","2.developers/7.templates/rag/_readmes/adaptive_rag",{},{"title":2580,"path":2581,"stem":2582,"children":2583,"meta":2586},"DocumentIndexing","/developers/templates/rag/_readmes/document_indexing","2.developers/7.templates/rag/_readmes/document_indexing",[2584],{"title":2580,"path":2581,"stem":2582,"meta":2585},{},{},{"title":2588,"path":2589,"stem":2590,"meta":2591},"DocumentStoreMcpServer","/developers/templates/rag/_readmes/document_store_mcp_server","2.developers/7.templates/rag/_readmes/document_store_mcp_server",{},{"title":2593,"path":2594,"stem":2595,"meta":2596},"Pathway + LLM + Slack notification: RAG App with real-time alerting when answers change in documents","/developers/templates/rag/_readmes/drive_alert","2.developers/7.templates/rag/_readmes/drive_alert",{},{"title":2598,"path":2599,"stem":2600,"meta":2601},"MultimodalRag","/developers/templates/rag/_readmes/multimodal_rag","2.developers/7.templates/rag/_readmes/multimodal_rag",{},{"title":2603,"path":2604,"stem":2605,"meta":2606},"PrivateRag","/developers/templates/rag/_readmes/private_rag","2.developers/7.templates/rag/_readmes/private_rag",{},{"title":2608,"path":2609,"stem":2610,"meta":2611},"QuestionAnsweringRag","/developers/templates/rag/_readmes/question_answering_rag","2.developers/7.templates/rag/_readmes/question_answering_rag",{},{"title":2613,"path":2614,"stem":2615,"meta":2616},"SlidesAiSearch","/developers/templates/rag/_readmes/slides_ai_search","2.developers/7.templates/rag/_readmes/slides_ai_search",{},{"title":2618,"path":2619,"stem":2620,"meta":2621},"UnstructuredToSqlOnTheFly","/developers/templates/rag/_readmes/unstructured_to_sql_on_the_fly","2.developers/7.templates/rag/_readmes/unstructured_to_sql_on_the_fly",{},{"navTitle":720,"layout":794,"aside":695,"toc":724,"single":695},{"id":4,"title":5,"author":6,"body":2624,"description":691,"extension":692,"meta":3095,"navigation":695,"path":696,"seo":3096,"sitemap":3097,"stem":699,"__hash__":700},{"type":8,"value":2625,"toc":3092},[2626,2628,2634,2641,2651,2653,2661,2665,2681,2695,2833,2835,2846,2848,2858,2860,2914,2922,3074,3076,3090],[11,2627,5],{"id":13},[15,2629,2630,21,2632,27],{},[18,2631,20],{},[23,2633,26],{"href":25},[29,2635,2636,35,2638,42],{"id":31},[18,2637,34],{},[37,2639,41],{"className":2640},[40],[15,2642,2643,53,2648,60],{},[23,2644,2646],{"className":2645,"href":49},[48],[37,2647,52],{},[23,2649,59],{"href":56,"rel":2650},[58],[15,2652,63],{},[15,2654,66,2655,71,2657,75,2659,79],{},[68,2656,70],{},[68,2658,74],{},[68,2660,78],{},[15,2662,2663,85],{},[18,2664,84],{},[87,2666,2667,2671,2677],{},[90,2668,2669,95],{},[18,2670,94],{},[90,2672,2673,101,2675,105],{},[18,2674,100],{},[68,2676,104],{},[90,2678,2679,111],{},[18,2680,110],{},[15,2682,2683,117,2685,121,2687,125,2689,129,2691,133,2693,137],{},[18,2684,116],{},[68,2686,120],{},[68,2688,124],{},[68,2690,128],{},[68,2692,132],{},[68,2694,136],{},[87,2696,2697,2827],{},[90,2698,2699,2701],{},[18,2700,144],{},[87,2702,2703,2711,2725,2739,2757,2771,2797,2809,2819],{},[90,2704,2705,152,2707,159],{},[18,2706,151],{},[23,2708,2709],{"href":155},[68,2710,158],{},[90,2712,2713,152,2715,166,2717,170,2719,174,2721,178,2723,182],{},[18,2714,70],{},[68,2716,120],{},[68,2718,169],{},[68,2720,173],{},[68,2722,177],{},[68,2724,181],{},[90,2726,2727,152,2729,193,2733,197,2735,200,2737,27],{},[18,2728,124],{},[23,2730,2731],{"href":189},[68,2732,192],{},[68,2734,196],{},[68,2736,151],{},[68,2738,120],{},[90,2740,2741,152,2743,210,2745,215,2749,218,2751,221,2753,225,2755,27],{},[18,2742,128],{},[68,2744,209],{},[23,2746,2747],{"href":189},[68,2748,192],{},[68,2750,136],{},[68,2752,120],{},[68,2754,224],{},[68,2756,151],{},[90,2758,2759,152,2761,210,2763,75,2765,242,2767,246,2769,27],{},[18,2760,232],{},[68,2762,235],{},[68,2764,238],{},[68,2766,241],{},[68,2768,245],{},[68,2770,249],{},[90,2772,2773,152,2775,210,2777,210,2779,75,2781,75,2783,75,2785,272,2787,178,2789,75,2791,282,2793,286,2795,289],{},[18,2774,254],{},[68,2776,257],{},[68,2778,235],{},[68,2780,262],{},[68,2782,265],{},[68,2784,268],{},[68,2786,271],{},[68,2788,275],{},[68,2790,278],{},[68,2792,281],{},[68,2794,285],{},[68,2796,136],{},[90,2798,2799,152,2801,166,2803,299,2805,303,2807,306],{},[18,2800,294],{},[68,2802,120],{},[68,2804,136],{},[68,2806,302],{},[68,2808,136],{},[90,2810,2811,152,2813,166,2815,317,2817,27],{},[18,2812,311],{},[68,2814,314],{},[68,2816,136],{},[68,2818,320],{},[90,2820,2821,152,2823,166,2825,330],{},[18,2822,325],{},[68,2824,120],{},[68,2826,136],{},[90,2828,2829,2831,136],{},[18,2830,335],{},[337,2832],{},[15,2834,341],{},[87,2836,2837,2839],{},[90,2838,346],{},[90,2840,349,2841,353,2843,357],{},[68,2842,352],{},[23,2844,56],{"href":56,"rel":2845},[58],[15,2847,360],{},[15,2849,363,2850,367,2852,178,2854,374,2856,378],{},[68,2851,366],{},[68,2853,370],{},[68,2855,373],{},[68,2857,377],{},[15,2859,381],{},[383,2861,2862],{"className":385,"code":386,"language":387,"meta":388,"style":388},[68,2863,2864,2874,2890,2898,2906],{"__ignoreMap":388},[37,2865,2866,2868,2870,2872],{"class":393,"line":394},[37,2867,398],{"class":397},[37,2869,402],{"class":401},[37,2871,405],{"class":397},[37,2873,408],{"class":401},[37,2875,2876,2878,2880,2882,2884,2886,2888],{"class":393,"line":411},[37,2877,415],{"class":414},[37,2879,419],{"class":418},[37,2881,35],{"class":422},[37,2883,425],{"class":418},[37,2885,27],{"class":422},[37,2887,430],{"class":418},[37,2889,433],{"class":422},[37,2891,2892,2894,2896],{"class":393,"line":436},[37,2893,439],{"class":401},[37,2895,442],{"class":422},[37,2897,445],{"class":418},[37,2899,2900,2902,2904],{"class":393,"line":448},[37,2901,451],{"class":401},[37,2903,442],{"class":422},[37,2905,445],{"class":418},[37,2907,2908,2910,2912],{"class":393,"line":458},[37,2909,461],{"class":401},[37,2911,442],{"class":422},[37,2913,445],{"class":418},[15,2915,468,2916,471,2918,474,2920,477],{},[68,2917,373],{},[68,2919,370],{},[68,2921,377],{},[383,2923,2924],{"className":385,"code":480,"language":387,"meta":388,"style":388},[68,2925,2926,2966,2986,2992,3006,3020,3042,3056,3070],{"__ignoreMap":388},[37,2927,2928,2930,2932,2934,2936,2938,2940,2942,2944,2946,2948,2950,2952,2954,2956,2958,2960,2962,2964],{"class":393,"line":394},[37,2929,487],{"class":401},[37,2931,490],{"class":422},[37,2933,493],{"class":401},[37,2935,27],{"class":422},[37,2937,499],{"class":498},[37,2939,27],{"class":422},[37,2941,504],{"class":498},[37,2943,27],{"class":422},[37,2945,510],{"class":509},[37,2947,35],{"class":422},[37,2949,515],{"class":422},[37,2951,366],{"class":518},[37,2953,515],{"class":422},[37,2955,523],{"class":422},[37,2957,527],{"class":526},[37,2959,490],{"class":422},[37,2961,532],{"class":509},[37,2963,42],{"class":422},[37,2965,537],{"class":401},[37,2967,2968,2970,2972,2974,2976,2978,2980,2982,2984],{"class":393,"line":411},[37,2969,425],{"class":401},[37,2971,27],{"class":422},[37,2973,499],{"class":498},[37,2975,27],{"class":422},[37,2977,352],{"class":498},[37,2979,27],{"class":422},[37,2981,34],{"class":509},[37,2983,35],{"class":422},[37,2985,537],{"class":509},[37,2987,2988,2990],{"class":393,"line":436},[37,2989,562],{"class":509},[37,2991,178],{"class":422},[37,2993,2994,2996,2998,3000,3002,3004],{"class":393,"line":448},[37,2995,569],{"class":526},[37,2997,490],{"class":422},[37,2999,515],{"class":422},[37,3001,576],{"class":518},[37,3003,515],{"class":422},[37,3005,178],{"class":422},[37,3007,3008,3010,3012,3014,3016,3018],{"class":393,"line":458},[37,3009,585],{"class":526},[37,3011,490],{"class":422},[37,3013,151],{"class":509},[37,3015,27],{"class":422},[37,3017,373],{"class":498},[37,3019,178],{"class":422},[37,3021,3022,3024,3026,3028,3030,3032,3034,3036,3038,3040],{"class":393,"line":598},[37,3023,601],{"class":526},[37,3025,604],{"class":422},[37,3027,151],{"class":509},[37,3029,27],{"class":422},[37,3031,370],{"class":498},[37,3033,523],{"class":422},[37,3035,615],{"class":509},[37,3037,27],{"class":422},[37,3039,377],{"class":498},[37,3041,622],{"class":422},[37,3043,3044,3046,3048,3050,3052,3054],{"class":393,"line":625},[37,3045,628],{"class":526},[37,3047,490],{"class":422},[37,3049,515],{"class":422},[37,3051,635],{"class":518},[37,3053,515],{"class":422},[37,3055,178],{"class":422},[37,3057,3058,3060,3062,3064,3066,3068],{"class":393,"line":642},[37,3059,645],{"class":526},[37,3061,490],{"class":422},[37,3063,515],{"class":422},[37,3065,652],{"class":518},[37,3067,515],{"class":422},[37,3069,178],{"class":422},[37,3071,3072],{"class":393,"line":659},[37,3073,662],{"class":422},[15,3075,665],{},[383,3077,3078],{"className":385,"code":668,"language":387,"meta":388,"style":388},[68,3079,3080],{"__ignoreMap":388},[37,3081,3082,3084,3086,3088],{"class":393,"line":394},[37,3083,425],{"class":401},[37,3085,27],{"class":422},[37,3087,679],{"class":509},[37,3089,682],{"class":422},[684,3091,686],{},{"title":388,"searchDepth":411,"depth":411,"links":3093},[3094],{"id":31,"depth":411,"text":690},{"sidebar":694},{"title":5,"description":691},{"loc":696},[3099,3100],{"title":1769,"path":1770,"stem":1771,"children":-1},{"title":1776,"path":1777,"stem":1778,"children":-1},1775665285536]