<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="286860" data-post-id="286860">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="restlessronin" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/restlessronin/120/24826_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  restlessronin
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for the pointer. It was a short but interesting series of videos.</p>
<p>As an exercise, I translated the python notebook in <a href="https://learn.deeplearning.ai/chatgpt-prompt-eng/lesson/8/chatbot" rel="noopener nofollow ugc">Lesson 8</a>, of the course, which builds a restaurant OrderBot.</p>
<p>The elixir / kino livebook is available at <a href="https://hexdocs.pm/openai_ex/dlai_orderbot.html" class="inline-onebox" rel="noopener nofollow ugc">Deeplearning.AI Order Bot — openai_ex v0.9.21</a>.</p>
<p>It’s really quite remarkable that you can build something that can carry on complex interactions with such a simple set of instructions.</p>
<p>Warning. I ran into a bunch of rate limits while running the notebook (likely because I have a free account). There’s a commented out <code>IO.inspect</code> which will show you what’s happening if you’re getting errors.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="286860" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/openai-ex-openai-api-client-library/55353/42">Post #41</a>
	                </div>
	            </div>
              <div id="likers-container-286860" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="286860"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #41"></div>
  </section>
</div>
    <div class="postbit" id="286960" data-post-id="286960">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="restlessronin" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/restlessronin/120/24826_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  restlessronin
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I have added a new Livebook demonstrating the details of streaming chat completion. It is functionally the same as <a href="https://hexdocs.pm/openai_ex/dlai_orderbot.html" class="inline-onebox" rel="noopener nofollow ugc">Deeplearning.AI Order Bot — openai_ex v0.9.21</a>, but using the streaming version of the API.</p>
<p>The sample is at <a href="https://hexdocs.pm/openai_ex/streaming_orderbot.html" class="inline-onebox" rel="noopener nofollow ugc">Streaming Orderbot — openai_ex v0.9.21</a> and can also be deployed as a Livebook app.</p>
<p>I was pleasantly surprised by how easy it was to integrate the streaming api into Livebook, using Kino to create the UI.</p>
<p>Going by my own user experience, I think the streaming API is pretty much a requirement in any production scenario, and I now understand why it’s even there. I’m happy to provide this sample to help others get started with it.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="286960" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/openai-ex-openai-api-client-library/55353/43">Post #42</a>
	                </div>
	            </div>
              <div id="likers-container-286960" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="286960"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #42"></div>
  </section>
</div>
    <div class="postbit" id="286974" data-post-id="286974">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dtew" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dtew
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>This version works well I feel.  Nice! I am taking inspiration from it.</p>
<p>(Actually I got Finch errors with your previous version - I do have a paid OpenAI account)</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="286974" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/openai-ex-openai-api-client-library/55353/44">Post #43</a>
	                </div>
	            </div>
              <div id="likers-container-286974" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="286974"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #43"></div>
  </section>
</div>
    <div class="postbit" id="287017" data-post-id="287017">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="tensiondriven" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/tensiondriven/120/15423_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  tensiondriven
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Regarding how elixir can “integrate” (loosely) with the broader set of LLM tools out there,</p>
<ul>
<li>Integrating with Langchain - Langchain is a set of tools for working with LLM’s that provides some common APIs, but those API’s are changing really, really, really, fast.  I could see an Elixir wrapper happening at some point, but right now it’s way too early.  To say “Integrate with langchain” or “support langchain” is too broad to be meaningful, at least at this point.</li>
<li>Integration with “other LLM’s” - I would love to have some way to integrate local LLM’s into elixir projects.  Instead of focusing on Langchain as an integration target, it probably makes more sense to look at Huggingface’s “transformers” library, which is what most LLM’s use.  Transformers is pretty huge though.  Implementing Transformers in Elixir is probably a bad idea.</li>
<li>Integration with Python in general - Python is so different from Elixir.  Elixir can make a bunch of guarantees because it’s functional, uses the Actor model, is based on Erlang, etc.  Python is notorious for concurrency, memory management, etc.  (Forgive me if this is a naive evaluation).  Trying to bridge the gap is probably also a losing proposition.</li>
</ul>
<p>So, what’s left?</p>
<p>Kinda exactly what openai_ex already is - an API for integrating with openai-compatible API’s (both standard http and streaming).  Since OpenAI is the de-facto, Langchain supports OpenAI’s API, and most new projects (AutoGPT, AgentGPT, BabyAGI, etc) all integrate with OpenAI first and foremost.  I think very soon we’ll see more projects (text-generation-webui, etc) providing OpenAI-compatible API’s for http and streaming.  There’s already <a href="https://github.com/hyperonym/basaran" class="inline-onebox" rel="noopener nofollow ugc">GitHub - hyperonym/basaran: Basaran is an open-source alternative to the OpenAI text completion API. It provides a compatible streaming API for your Hugging Face Transformers-based text generation models. · GitHub</a> which provides an OpenAI-compatible API that allows you to run LLM’s locally.  So,</p>
<p>Probably your best bet to use Elixir with local LLM’s is to use openai_ex to talk to a Barasan server, and run your models under Barasan.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="287017" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/openai-ex-openai-api-client-library/55353/45">Post #44</a>
	                </div>
	            </div>
              <div id="likers-container-287017" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="287017"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #44"></div>
  </section>
</div>
    <div class="postbit" id="287026" data-post-id="287026">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="restlessronin" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/restlessronin/120/24826_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  restlessronin
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="dtew" data-post="44" data-topic="55353">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/d/97f17d/48.png" class="avatar"> dtew:</div>
<blockquote>
<p>(Actually I got Finch errors with your previous version - I do have a paid OpenAI account)</p>
</blockquote>
</aside>
<p>I checked the documentation, and it appears the rate limits apply to paid accounts as well. Most likely that was causing the problem. Uncommenting the <code>IO.inspect</code> will show you the error JSON, and you can verify that was the case.</p>
<p>I’m happy you’re getting some use out of the example.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="287026" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/openai-ex-openai-api-client-library/55353/46">Post #45</a>
	                </div>
	            </div>
              <div id="likers-container-287026" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="287026"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #45"></div>
  </section>
</div>
    <div class="postbit" id="287080" data-post-id="287080">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="restlessronin" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/restlessronin/120/24826_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  restlessronin
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/tensiondriven" rel="nofollow">@tensiondriven</a> I largely agree with what you’re saying.</p>
<p>I’m trying to figure out what other functionality belongs in this library, or whether it’s ok as is. The current incarnation is a very thin wrapper around endpoint calls.</p>
<p>There’s room for higher level support such as utilities to pick out pieces of content (especially from streams), keep track of token counts, rate-limits, cost estimates, etc. Possibly breaking long requests into batches, and so on. The kinds of things that I think <a class="mention" href="/u/darwin67" rel="nofollow">@darwin67</a> was referring to earlier in his mentions of langchain.</p>
<p>Whether to include that in this library, provide it as another library, or just sample notebooks is an open question. I’m leaning towards including frequently used functionality in the library, and more ad-hoc use cases as sample notebooks. Anyone have any thoughts on this?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="287080" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/openai-ex-openai-api-client-library/55353/47">Post #46</a>
	                </div>
	            </div>
              <div id="likers-container-287080" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="287080"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #46"></div>
  </section>
</div>
    <div class="postbit" id="287082" data-post-id="287082">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="restlessronin" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/restlessronin/120/24826_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  restlessronin
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/zachallaun" rel="nofollow">@zachallaun</a> one feature (that you alluded to in your code) that would indeed be handy would be a way to cancel a currently executing streaming request. For real apps, I think it would be a requirement to allow the user to stop completion generation part way through.</p>
<p>I don’t know if you were planning on adding it. I could take a crack at it, but given the elegance of your PR code, you would likely come up with something much prettier <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="287082" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/openai-ex-openai-api-client-library/55353/48">Post #47</a>
	                </div>
	            </div>
              <div id="likers-container-287082" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="287082"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #47"></div>
  </section>
</div>
    <div class="postbit" id="287112" data-post-id="287112">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="zachallaun" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/zachallaun/120/29208_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  zachallaun
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The PR to Req is just to support the option that would allow a custom plugin to support streaming, but the FinchStream module is just an example. If/when the PR is merged, I will likely work on a ReqStream package, but I haven’t put too much thought into it yet.</p>
<p>That’s all to say: you’re welcome to add/change whatever you see fit, and I’m happy to help where possible, but don’t have immediate plans.</p>
<p>It looks like the way to abort a request is to throw inside the stream function, see <a href="https://github.com/sneako/finch/issues/112" rel="noopener nofollow ugc">here</a>.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="287112" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/openai-ex-openai-api-client-library/55353/49">Post #48</a>
	                </div>
	            </div>
              <div id="likers-container-287112" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="287112"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #48"></div>
  </section>
</div>
    <div class="postbit" id="287116" data-post-id="287116">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="teamon" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/teamon/120/23732_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  teamon
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>If you need streaming → <a href="https://github.com/elixir-tesla/tesla/pull/540" class="inline-onebox" rel="noopener nofollow ugc">Request/Response streaming for Finch adapter, SSE middleware by teamon · Pull Request #540 · elixir-tesla/tesla · GitHub</a></p>
<p>If you give it a shot and confirm it’s working fine I’d be happy to merge it and release a new version of tesla.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="287116" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/openai-ex-openai-api-client-library/55353/50">Post #49</a>
	                </div>
	            </div>
              <div id="likers-container-287116" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="287116"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #49"></div>
  </section>
</div>
    <div class="postbit" id="287165" data-post-id="287165">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="restlessronin" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/restlessronin/120/24826_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  restlessronin
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group quote-modified" data-username="teamon" data-post="50" data-topic="55353">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/teamon/48/23732_2.png" class="avatar"> teamon:</div>
<blockquote>
<p>Request/Response streaming for Finch adapter, SSE middleware by teamon · Pull Request <span class="hashtag-raw">#540</span> · elixir-tesla/tesla · GitHub</p>
</blockquote>
</aside>
<p>Thanks for the pointer. Yours is (naturally) a much more general solution for SSE events than what I put together specifically for OpenAI.</p>
<p>What I’m looking for at the moment is a way to allow user cancellation while the request is streaming. I couldn’t see an easy way to do that in your PR. Am I missing something?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="287165" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/openai-ex-openai-api-client-library/55353/51">Post #50</a>
	                </div>
	            </div>
              <div id="likers-container-287165" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="287165"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #50"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/55353/load_more?page=6">Load more posts (85 remaining)</a>
</div></template></turbo-stream>