RxAssim

RxAssim

Microsoft’s Guidance seems to be the future of how developers will build features on top of Large Language Models.
But since it’s in Python, in order for me to use it with Elixir I had to use Erlport.

Has anyone started porting Guidance to Elixir? Maybe I can help :slight_smile:

Showing Posts 1 to 8

dtew

dtew

I volunteer to help too. Unfortunately I cannot lead.

nallwhy

nallwhy

It will be a good choice to use Doumi.Port if you want to run Python codes in Elixir applications.

RxAssim

RxAssim OP

I used a combination of Erlport and Poolboy, but I’ll check out NimblePool which is what Doum.Port is using for pooling :pray:

nallwhy

nallwhy

Thanks!

I think NimblePool is more appropriate for using ports.

https://github.com/dashbitco/nimble_pool#nimblepool

Pools in the Erlang VM, and therefore in Elixir, are generally process-based: they manage a group of processes. The downside of said pools is that when they have to manage resources, such as sockets or ports, the additional process leads to overhead.

In such pools, you usually end-up with two scenarios:

  • You invoke the pool manager, which returns the pooled process, which performs the operation on the socket or port for you, returning you the reply. This approach is non-optimal because all of the data sent and returned by the resource needs to be copied between processes
  • You invoke the pool manager, which returns the pooled process, which gives you access to the resource. Then you can act directly on the resource, avoiding the data copying, but you need to keep the state of the resource in sync with the process

NimblePool allows you to implement the second scenario without the addition of processes, which leads to a simpler and more efficient implementation. You should consider using NimblePool whenever you have to manage sockets, ports, or NIF resources and you want the client to perform one-off operations on them. For example, NimblePool is a good solution to manage HTTP/1 connections, ports that need to communicate with long-running programs, etc.

nallwhy

nallwhy

And I’m going to port Langchain to Elixir.

I don’t know about Guidance, is it better than Langchain?
If it is, I want to join to porting Guidance to Elixir.

dtew

dtew

Interesting post for me since I don’t know LangChain: Re-implementing LangChain in 100 lines of code

dtew

dtew

Yes, and we also have a Qdrant Elixir Client being developed by Marinac. Qdrant is a very fast vector database.

(I’m listing this here to gather resources, as much as anything)

— All posts loaded —

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
AstonJ
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
maennchen
:warning: Security advisory: Decimal DoS vulnerability A vulnerability has been published for decimal where very large exponents can cau...
New
Null-logic-0
What IDE or editor are you using for Elixir development? Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New

Other Trending Topics Top

marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews