orthagonal / langchainex

Language Chain Library for Elixir
MIT License
105 stars 5 forks source link

Cool project! #1

Open sombraSoft opened 1 year ago

sombraSoft commented 1 year ago

Hey @orthagonal , I found your repo when searching for a Langchain implementation for elixir. Are you accepting PRs? Let me know what are your plans for the repo!

orthagonal commented 1 year ago

Thanks a bunch! Yes I am accepting PRs, suggestions, advice, personal insults, etc. My tentative roadmap for first phase is:

Chains: -scrapeChain - already exists

GenServers:

I already have scrapeChain and Scraper that basically work. The goal is that Daemon, Inquisitor and Scraper are high-level general-purpose AI agents that come with a toolbelt for common generic tasks so casual users can just jump right in. But people can also dig in and make their own custom chains as well.

sethcalebweeks commented 1 year ago

What's the best way to contribute to this project? I was about to start working on the same thing, but came across this project. I'm looking to build a conversational bot with history and the ability to use tools. We built a couple chains in Elixir using EEX to store the prompts. Would you be open to meeting with me to see if we can collaborate on this project? Thanks!

orthagonal commented 1 year ago

I'm definitely up for meeting contributors, I should be available any time today. What's best way for you? I'm on both the elixir discord server and slack channels if that helps, just let me know.

sethcalebweeks commented 1 year ago

I couldn't figure out how to get into Slack, but I just joined Discord. My username is sethcalebweeks there. Tried finding you under the name orthogonal, but couldn't find you.

orthagonal commented 1 year ago

I'm HarmlessLurker#9226 on Discord, feel free to ping me!

On Fri, May 5, 2023 at 1:57 PM Caleb Weeks @.***> wrote:

I couldn't figure out how to get into Slack, but I just joined Discord. My username is sethcalebweeks there. Tried finding you under the name orthogonal, but couldn't find you.

— Reply to this email directly, view it on GitHub https://github.com/orthagonal/langchainex/issues/1#issuecomment-1536650455, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABRNA3EVNS44BMXEHVVXGTDXEVER5ANCNFSM6AAAAAAXWPZ5OY . You are receiving this because you were mentioned.Message ID: @.***>

BigSpaces commented 1 year ago

@orthagonal and @sethcalebweeks I would humbly like to join this conversation and see if I can do something to contribute. I am quite a newbie to Elixir (and programming in general). My goal was to implement the functionalities of AI into Elixir code and this is how I came to this project (didn't want to start learning python to do a couple things, really).

It would be amazing to achieve some type of AutoGPT functionality, but with the power of Elixir.

I am in discord under @BigSpaces

BigSpaces commented 1 year ago

Found @orthagonal and sent a friend request :)

cpursley commented 1 year ago

Not sure if this is the right place to ask, but how can we use Bumblebee with scraper? I went looking through the docs (and test) and tried running a few experiments without luck. Thanks!

orthagonal commented 1 year ago

You should be able to back the scraper with any of the language model providers in the API wrapper, in the scraper example I think you can just replace:

openai_provider = %LangChain.Providers.OpenAI.LanguageModel{ model_name: "gpt-3.5-turbo", max_tokens: 25, temperature: 0.5, n: 1 }

with (eg):

bumblebee_provider = %LangChain.Providers.Bumblebee.LanguageModel{ model_name: "distilgpt2", max_new_tokens: 25, temperature: 0.5 }

Bumblebee will download the Huggingface model specified by model_name to your local cache and try to run it on your GPU, so you'll need Nx and a beefy machine to run most of those. Let me know if you run into any problems.

cpursley commented 1 year ago

Thanks. That returned an error, I'll open an issue.