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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/brainlid" rel="nofollow">@brainlid</a></p>
<p>I asked Chat-GPT to make the code conversion to pure <code>Phoenix Channels</code> code (no dependency on <code>LiveView</code>) and here is the result, there seems to be more work to do since I get <code>Jason</code> encoder errors related to <code>MessageDelta{}</code> (protocol not implemented).</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">defmodule LangChainDemoWeb.AgentChatChannel do
  use Phoenix.Channel

  alias LangChainDemoWeb.AgentChatLive.Agent.ChatMessage
  alias LangChain.Chains.LLMChain
  alias LangChain.Message
  alias LangChainDemo.FitnessUsers
  alias LangChainDemo.FitnessLogs
  alias LangChain.Message.ToolCall
  alias LangChain.Message.ToolResult

  # When a user joins the channel, initialize state
  def join("agent_chat:lobby", _message, socket) do
    current_user = FitnessUsers.get_fitness_user!(1)
    llm_chain = initialize_llm_chain(current_user)

    socket =
      assign(socket, :current_user, current_user)
      |&gt; assign(:llm_chain, llm_chain)
      |&gt; assign(:display_messages, [
        %ChatMessage{
          role: :assistant,
          hidden: false,
          content: "Hello! I'm your personal trainer. How can I help you today?"
        }
      ])

    {:ok, socket}
  end

  # Handle incoming "validate" event
  def handle_in("validate", %{"chat_message" =&gt; params}, socket) do
    changeset = ChatMessage.create_changeset(params) |&gt; Map.put(:action, :validate)
    push(socket, "validate_response", %{form: to_form(changeset)})
    {:noreply, socket}
  end

  # Handle incoming "save" event
  def handle_in("save", %{"chat_message" =&gt; params}, socket) do
    case ChatMessage.new(params) do
      {:ok, message} -&gt;
        updated_socket = add_user_message(socket, message.content)
        push(updated_socket, "message_saved", %{content: message.content})
        {:noreply, run_chain(updated_socket)}

      {:error, changeset} -&gt;
        push(socket, "save_error", %{errors: changeset.errors})
        {:noreply, socket}
    end
  end

  # Handle timezone event to update user's timezone
  def handle_in("browser-timezone", %{"timezone" =&gt; timezone}, socket) do
    user = socket.assigns.current_user

    socket =
      if timezone != user.timezone do
        {:ok, updated_user} = FitnessUsers.update_fitness_user(user, %{timezone: timezone})
        assign(socket, :current_user, updated_user)
      else
        socket
      end

    {:noreply, socket}
  end

  # Handle incoming chat delta from async processing
  def handle_info({:chat_delta, delta}, socket) do
    updated_chain = LLMChain.apply_delta(socket.assigns.llm_chain, delta)
    push(socket, "chat_delta", %{delta: delta})
    {:noreply, assign(socket, :llm_chain, updated_chain)}
  end

  # Handle tool execution message from async processing
  def handle_info({:tool_executed, tool_message}, socket) do
    message = %ChatMessage{role: tool_message.role, tool_results: tool_message.tool_results}
    updated_socket = assign(socket, :llm_chain, LLMChain.add_message(socket.assigns.llm_chain, tool_message))
    push(updated_socket, "tool_executed", %{tool_message: message})
    {:noreply, updated_socket}
  end

  # Handle updated user information
  def handle_info({:updated_current_user, updated_user}, socket) do
    socket =
      assign(socket, :current_user, updated_user)
      |&gt; assign(:llm_chain, LLMChain.update_custom_context(socket.assigns.llm_chain, %{current_user: updated_user}))

    {:noreply, socket}
  end

  # Handle task errors in async processing
  def handle_info({:task_error, reason}, socket) do
    push(socket, "task_error", %{reason: reason})
    {:noreply, socket}
  end

  # Function to initialize LLMChain
  defp initialize_llm_chain(current_user) do
    LLMChain.new!(%{
      llm: ChatOpenAI.new!(%{model: "gpt-4", temperature: 0, request_timeout: 60_000, stream: true}),
      custom_context: %{live_view_pid: self(), current_user: current_user},
      verbose: false
    })
  end

  # Handle running the LLM chain async
  defp run_chain(socket) do
    chain = socket.assigns.llm_chain
    live_view_pid = self()

    callback_fn = fn
      %LangChain.MessageDelta{} = delta -&gt; send(live_view_pid, {:chat_delta, delta})
      %LangChain.Message{role: :tool} = message -&gt; send(live_view_pid, {:tool_executed, message})
      _ -&gt; :ok
    end

    Task.start(fn -&gt;
      case LLMChain.run(chain, while_needs_response: true, callback_fn: callback_fn) do
        {:ok, _updated_chain, _last_message} -&gt; :ok
        {:error, reason} -&gt; send(live_view_pid, {:task_error, reason})
      end
    end)

    assign(socket, :llm_chain, chain)
  end

  # Add user message to chain
  defp add_user_message(socket, user_text) do
    updated_chain = LLMChain.add_message(socket.assigns.llm_chain, Message.new_user!(user_text))
    assign(socket, :llm_chain, updated_chain)
  end
end

</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="344777" 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/langchain-an-elixir-langchain-like-library-for-integrating-with-llms-like-chatgpt/58551/22">Post #21</a>
	                </div>
	            </div>
              <div id="likers-container-344777" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="344777"
                     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 #21"></div>
  </section>
</div>
    <div class="postbit" id="344862" data-post-id="344862">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/brainlid" rel="nofollow">@brainlid</a></p>
<p>I have managed to do it! Now this tool can be used with a <code>Flutter</code> based Chatbot application using <code>Phoenix Channels</code>. Here is the GitHub gist, would be nice to get some tips for code improvements. Thank you. Looking forward to keep contributing to this great project.</p>
<aside class="onebox githubgist" data-onebox-src="https://gist.github.com/acrolink/198e838f15e090a2dbbaaa2c7769e8ae">
  <header class="source">

      <a href="https://gist.github.com/acrolink/198e838f15e090a2dbbaaa2c7769e8ae" target="_blank" rel="noopener nofollow ugc">gist.github.com</a>
  </header>

  <article class="onebox-body">
    <h4><a href="https://gist.github.com/acrolink/198e838f15e090a2dbbaaa2c7769e8ae" target="_blank" rel="noopener nofollow ugc">https://gist.github.com/acrolink/198e838f15e090a2dbbaaa2c7769e8ae</a></h4>



  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="344862" 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/langchain-an-elixir-langchain-like-library-for-integrating-with-llms-like-chatgpt/58551/23">Post #22</a>
	                </div>
	            </div>
              <div id="likers-container-344862" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="344862"
                     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 #22"></div>
  </section>
</div>
    <div class="postbit" id="346808" data-post-id="346808">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/brainlid" rel="nofollow">@brainlid</a><br>
Having some issues implementing the streaming example using <code>{:langchain, "~&gt; 0.3.0-rc.0"}</code> and Ollama local models</p>
<p>Using the sample <a href="https://github.com/brainlid/langchain/blob/main/notebooks/getting_started.livemd" rel="noopener nofollow ugc">Getting Started Livebook</a> code and OpenAi everything works fine. When I switch over to llama3 through Ollama I get the following error:</p>
<p><code>** (FunctionClauseError) no function clause matching in LangChain.Utils.fire_streamed_callback/2</code></p>
<p>Any help is much appreciated, and looks like great a library so far!</p>
<p>Here’s the code</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">alias LangChain.Chains.LLMChain
alias LangChain.MessageDelta
alias LangChain.Message
alias LangChain.ChatModels.ChatOllamaAI
alias LangChain.ChatModels.ChatOpenAI

handler = %{
on_llm_new_delta: fn _model, %MessageDelta{} = data -&gt;
  # We received a chunk of the response
  IO.write(data.content)
  end,

  on_message_processed: fn _chain, %Message{} = data -&gt;
    IO.puts("")
    IO.puts("")
    IO.inspect(data.content, label: "COMPLETED MESSAGE")
  end
}

{:ok, updated_chain, response} =
#  %{
#    llm: ChatOpenAI.new!(
#      %{
#      model: "gpt-4", 
#      stream: true, 
#      callbacks: [handler]
#      }
#    ),
#    callbacks: [handler]
#  }

  %{
    llm: ChatOllamaAI.new!(
      %{
      endpoint: "http://localhost:11434/api/chat", 
      model: "llama3:latest", 
      stream: true, 
      callbacks: [handler]
      }
    ),
    callbacks: [handler]
  }
  |&gt; LLMChain.new!()
  |&gt; LLMChain.add_messages([
    Message.new_system!("You are helpful assistant"),
    Message.new_user!("Write a haiku about the capital of the United States")
  ])
  |&gt; LLMChain.run()

updated_chain.last_message.content
</code></pre>
<p>The full error message is here if that helps</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">** (FunctionClauseError) no function clause matching in LangChain.Utils.fire_streamed_callback/2    
    
    The following arguments were given to LangChain.Utils.fire_streamed_callback/2:
    
        # 1
        %LangChain.ChatModels.ChatOllamaAI{
          endpoint: "http://localhost:11434/api/chat",
          mirostat: 0,
          mirostat_eta: 0.1,
          mirostat_tau: 5.0,
          model: "llama3:latest",
          num_ctx: 2048,
          num_gqa: nil,
          num_gpu: nil,
          num_predict: 128,
          num_thread: nil,
          receive_timeout: 300000,
          repeat_last_n: 64,
          repeat_penalty: 1.1,
          seed: 0,
          stop: nil,
          stream: true,
          temperature: 0.8,
          tfs_z: 1.0,
          top_k: 40,
          top_p: 0.9,
          callbacks: []
        }
    
        # 2
        %LangChain.Message{
          content: nil,
          processed_content: nil,
          index: nil,
          status: :complete,
          role: :assistant,
          name: nil,
          tool_calls: [],
          tool_results: nil
        }
    
    Attempted function clauses (showing 2 out of 2):
    
        def fire_streamed_callback(model, data) when is_list(data)
        def fire_streamed_callback(model, %LangChain.MessageDelta{} = delta)
    
    (langchain 0.3.0-rc.0) lib/utils.ex:103: LangChain.Utils.fire_streamed_callback/2
    (elixir 1.17.2) lib/enum.ex:987: Enum."-each/2-lists^foreach/1-0-"/2
    (langchain 0.3.0-rc.0) lib/utils.ex:161: anonymous fn/5 in LangChain.Utils.handle_stream_fn/3
    (finch 0.19.0) lib/finch/http1/conn.ex:346: Finch.HTTP1.Conn.receive_response/8
    (finch 0.19.0) lib/finch/http1/conn.ex:131: Finch.HTTP1.Conn.request/8
    (finch 0.19.0) lib/finch/http1/pool.ex:60: anonymous fn/10 in Finch.HTTP1.Pool.request/6
    (nimble_pool 1.1.0) lib/nimble_pool.ex:462: NimblePool.checkout!/4
    #cell:fm7cmhkax2o3kitd:48: (file)

</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="346808" data-batch-url="/posts/batch_likers">
                        2
                      </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/langchain-an-elixir-langchain-like-library-for-integrating-with-llms-like-chatgpt/58551/24">Post #23</a>
	                </div>
	            </div>
              <div id="likers-container-346808" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="346808"
                     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 #23"></div>
  </section>
</div>
    <div class="postbit" id="346858" data-post-id="346858">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for writing this library, it seems really cool. Does this library work well in practice for apps requiring sub-second time-to-first-token?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="346858" 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/langchain-an-elixir-langchain-like-library-for-integrating-with-llms-like-chatgpt/58551/25">Post #24</a>
	                </div>
	            </div>
              <div id="likers-container-346858" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="346858"
                     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 #24"></div>
  </section>
</div>
    <div class="postbit" id="347099" data-post-id="347099">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="jszod" data-post="24" data-topic="58551">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/jszod/48/3495_2.png" class="avatar"> jszod:</div>
<blockquote>
<p>Having some issues implementing the streaming example using <code>{:langchain, "~&gt; 0.3.0-rc.0"}</code> and Ollama local models</p>
</blockquote>
</aside>
<p>Make sure you pass <code>mode: :while_needs_response</code> to <code>LLMChain.run()</code> function, like this: <code>LLMChain.run(mode: :while_needs_response)</code>.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="347099" 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/langchain-an-elixir-langchain-like-library-for-integrating-with-llms-like-chatgpt/58551/26">Post #25</a>
	                </div>
	            </div>
              <div id="likers-container-347099" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="347099"
                     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 #25"></div>
  </section>
</div>
    <div class="postbit" id="347214" data-post-id="347214">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for the response. I tried what you recommended and still receive the same error</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="347214" 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/langchain-an-elixir-langchain-like-library-for-integrating-with-llms-like-chatgpt/58551/27">Post #26</a>
	                </div>
	            </div>
              <div id="likers-container-347214" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="347214"
                     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 #26"></div>
  </section>
</div>
    <div class="postbit" id="347225" data-post-id="347225">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Seems related to either the adapter or the AI engine you ae using. There is a debug flag for LLMchain, set it true to see full error messages. I recommend also to inspect the source code of the adapter / LLMchain in general. The answer can be there. Also you can try to ask Claude, can be helpful.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="347225" 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/langchain-an-elixir-langchain-like-library-for-integrating-with-llms-like-chatgpt/58551/28">Post #27</a>
	                </div>
	            </div>
              <div id="likers-container-347225" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="347225"
                     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 #27"></div>
  </section>
</div>
    <div class="postbit" id="347327" data-post-id="347327">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="brainlid" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/brainlid/120/20975_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  brainlid
                    <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">
								<blockquote>
<p>Does this library work well in practice for apps requiring sub-second time-to-first-token?</p>
</blockquote>
<p>Yes. It supports streaming.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="347327" data-batch-url="/posts/batch_likers">
                        2
                      </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/langchain-an-elixir-langchain-like-library-for-integrating-with-llms-like-chatgpt/58551/29">Post #28</a>
	                </div>
	            </div>
              <div id="likers-container-347327" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="347327"
                     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 #28"></div>
  </section>
</div>
    <div class="postbit" id="347328" data-post-id="347328">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="brainlid" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/brainlid/120/20975_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  brainlid
                    <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>Hi <a class="mention" href="/u/jszod" rel="nofollow">@jszod</a>,</p>
<p>It’s entirely possible that the there is an issue with the Ollama support. That adapter was added from a community contribution and I haven’t been using it myself.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="347328" 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/langchain-an-elixir-langchain-like-library-for-integrating-with-llms-like-chatgpt/58551/30">Post #29</a>
	                </div>
	            </div>
              <div id="likers-container-347328" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="347328"
                     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 #29"></div>
  </section>
</div>
    <div class="postbit" id="349665" data-post-id="349665">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi <a class="mention" href="/u/brainlid" rel="nofollow">@brainlid</a> ,</p>
<p>Is there some documentation somewhere on how to use messages processors?</p>
<p>I’m trying to use the new <code>json_response: true, json_schema: _</code> fields for <code>ChatOpenAi</code> but I’m not sure what to do.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="349665" 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/langchain-an-elixir-langchain-like-library-for-integrating-with-llms-like-chatgpt/58551/31">Post #30</a>
	                </div>
	            </div>
              <div id="likers-container-349665" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="349665"
                     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 #30"></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/58551/load_more?page=4">Load more posts (28 remaining)</a>
</div></template></turbo-stream>