jehuty
llm-gpt4all
jehuty | llm-gpt4all | |
---|---|---|
1 | 3 | |
0 | 184 | |
- | - | |
3.7 | 6.9 | |
11 months ago | 12 days ago | |
TypeScript | Python | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jehuty
-
The Problem with LangChain
I used Langchain before for a job interview and was not confident with how it works under the hood and how dangerous would it be if there’s some injection going on. So I used it as minimal as possible. It took me a lot of codes even though when I’m using it minimally. One of their example is to call an API by letting LLM parse a documentation and call the API from its understanding, which looks so unreliable if the LLM went offs a bit. I found it hard to give total control to Langchain.
I tried experimenting on building a library that makes it easy and transparent to use LLM https://github.com/adityapurwa/jehuty and tried the middleware approach that might be more familiar in general. Its an experiment so the API might changes a lot until we find a sweet spot. If you have an advice or suggestions it would be helpful and appreciated.
llm-gpt4all
-
LLM now provides tools for working with embeddings
I'm still iterating on that. Plugins get complete control over the prompts, so they can handle the various weirdnesses of them. Here's some relevant code:
https://github.com/simonw/llm-gpt4all/blob/0046e2bf5d0a9c369...
https://github.com/simonw/llm-mlc/blob/b05eec9ba008e700ecc42...
https://github.com/simonw/llm-llama-cpp/blob/29ee8d239f5cfbf...
I'm not completely happy with this yet. Part of the problem is that different models on the same architecture may have completely different prompting styles.
I expect I'll eventually evolve the plugins to allow them to be configured in an easier and more flexible way. Ideally I'd like you to be able to run new models on existing architectures using an existing plugin.
-
Accessing Llama 2 from the command-line with the LLM-replicate plugin
My LLM tool can be used for both. That's what the plugins are for.
It can talk to OpenAI, PaLM 2 and Llama / other models on Replicate via API, using API keys.
It can run local models on your own machine using these two plugins: https://github.com/simonw/llm-gpt4all and https://github.com/simonw/llm-mpt30b
-
The Problem with LangChain
Yeah I haven't figured out how to have it reuse the models from the desktop GPT4All installation yet, issue here: https://github.com/simonw/llm-gpt4all/issues/5
What are some alternatives?
llm - Access large language models from the command-line
ollama - Get up and running with Llama 3, Mistral, Gemma, and other large language models.
llm-api - Fully typed & consistent chat APIs for OpenAI, Anthropic, Groq, and Azure's chat models for browser, edge, and node environments.
gchain - Composable LLM Application framework inspired by langchain
multi-gpt - A Clojure interface into the GPT API with advanced tools like conversational memory, task management, and more
llm-mlc - LLM plugin for running models using MLC
simpleaichat - Python package for easily interfacing with chat apps, with robust features and minimal code complexity.
aipl - Array-Inspired Pipeline Language
buildabot - A production-grade framework for building AI agents.
llama.cpp - LLM inference in C/C++