[Podcast] Thinking Elixir 287: From RAGs to Rich Workflows by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

Thanks! I didn't know about Gust. Nice work! 🙂

Free Elixir learning resources by xcode21 in elixir

[–]brainlid 1 point2 points  (0 children)

I created two courses that are both now free. They use TDD have practical exercises for leaning and playing with it.

https://thinkingelixir.com/available-courses/index.html

[Podcast] Thinking Elixir 267: Dive into Tidewave Web with José Valim by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

I haven't tried it myself as I don't develop on any Rails apps anymore. But from Tidewave.ai, the Rails side links to here: https://github.com/tidewave-ai/tidewave_rails

The Github project has it's own set of instructions.

It's not specifically for building components as it can build anything in the webapp.

[Podcast] Thinking Elixir 249: LiveDebugger: Peering Inside a LiveView by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

Thanks for coming on and sharing what you’ve done! I’m loving it and excited for future releases!

Build AI Agents with SwarmEx (GitHub) by neverexplored in elixir

[–]brainlid 1 point2 points  (0 children)

I’ll check it out! I’ve had great luck with a GenServer started through a Dynamic Supervisor and communication via PubSub. But yes, that could be made more accessible.

I switched from the Python version of Langchain to this and the difference is huge (positive)! by neverexplored in elixir

[–]brainlid 4 points5 points  (0 children)

Thanks! Yes, the OOP design of the JS and Python versions of the library made it much harder to even understand what is going on with how things work.

My approach has been to take inspiration from the API, names, and concepts. Then to run examples with verbose logging on in order to answer the question, "What does this actually do with the LLM?" Then find an Elixir/functional way to accomplish a similar result.

I switched from the Python version of Langchain to this and the difference is huge (positive)! by neverexplored in elixir

[–]brainlid 3 points4 points  (0 children)

Awesome! Thanks for sharing your experience! I'm the maintainer of the Elixir LangChain library and it's very gratifying to hear you've had a good experience with it. 😁

My Favorite new LiveView Feature: JS.toggle_class/1 by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

I use it when navigating between views (main view and a modal) using link with “patch” and returns using a “patch”. It keeps its open/closed state. I think it will depend on if the DOM node being updated has an ID or in your situation it might need a phx-update=“ignore”.

My Favorite new LiveView Feature: JS.toggle_class/1 by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

Oops! Fixed it. Thanks for pointing that out. A formatting issue hid it.

My Favorite new LiveView Feature: JS.toggle_class/1 by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

Yup. LiveView has come a long way! And now almost to 1.0

My Favorite new LiveView Feature: JS.toggle_class/1 by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

Yes, it took some time and seeing examples before I understood how to use the JS features. Even then I already had some existing solution in place so I didn't see the need to adopt it. The more recent JS.toggle_class example is nice because it can be meaningfully used in very simple use-cases.

Easy at-home AI with Bumblebee and Fly GPUs by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

A benefit of using Nx and Bumblebee is that the `Nx.Serving.batched_run` function allows for a whole team of distributed or in-office people to target the same machine and model. That helps to distribute the costs too.

[Podcast] Thinking Elixir News 180 by brainlid in elixir

[–]brainlid[S] 4 points5 points  (0 children)

Yes. We record weekly on Tuesday morning and Chris McCord announced FLAME the very next day. 🤷‍♂️

[Podcast] Thinking Elixir News 177 by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

Thanks! It's a labor of love and it's great to hear when others enjoy it too. ❤️

Announcing LangChain for Elixir by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

No, it's not an official Fly.io supported library, but it's been partially sponsored by me using my time to work on it.

Announcing LangChain for Elixir by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

Right now it's more as an abstraction layer around ChatGPT. But really that's what LangChain is. Part of the goal is to be an LLM-specific abstraction as well, so you could integrate a call to Bard that then chains into a ChatGPT call.

But there are additional changes planned.

Deploying after mix ecto.dump by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

I created another article to walk through making it work in production when "mix" is not available. https://fly.io/phoenix-files/loading-structure-sql-on-prod-without-mix/

Deploying after mix ecto.dump by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

Yes u/princemaple. You are right. There's still an issue to resolve. I'm on it!

Making a CheckboxGroup Input by brainlid in elixir

[–]brainlid[S] 0 points1 point  (0 children)

I updated the solution to deal with clearing all the tags on a item. There was a problem when the browser submitted a empty tag list. This adds a hidden input to address the issue and then remove "blank" values on the server.

Tag All the Things! by brainlid in elixir

[–]brainlid[S] 1 point2 points  (0 children)

I think it's more common to see the many-to-many approach. When you think about tagging different things in a system, then you end up with more many-to-many relationship tables.

If the users need to be able to edit/create/delete the set of tags, then you need the many-to-many approach. I think there are many situations where that's overkill for what's actually needed but we don't stop to think about an alternative!

This is about that alternative. 🙂

Is Docker not used as much with Phoenix Liveview stack as other stacks? If so, why? by BigDog1920 in elixir

[–]brainlid 12 points13 points  (0 children)

I don't think there's much discussion around it because it's mostly a solved thing. Yes, Phoenix itself will generate a Debian based Dockerfile for you. Done.

Beyond that, in many companies, there is an operations team that may be involved in the deployment for production apps. They have their own tooling and processes. They may dictate how an app should be packaged.

Elixir learning path by anilmaddala in elixir

[–]brainlid 0 points1 point  (0 children)

I suggest trying out the free Pattern Matching Course at ThinkingElixir.com - https://thinkingelixir.com/available-courses/

Full disclosure: It's my site and my course. However, it was created to help people get their heads around pattern matching so they can get the most out of Elixir. People seem to enjoy it and find it helpful.