Open Interpreter's new release looks great for locally running LLMs
The tool lets LLMs run code (Python, Javascript, Shell, and more) locally. You can chat with Open Interpreter through a ChatGPT-like interface in your terminal by running $ interpreter after installing.
Just do `pip install open-interpreter`
and then just run
`- interpreter --local` sets up fast, local LLMs.
Congrats @hellokillian 👏
🔥 Firefunction-v2 🔥: Llama 3 fine-tuned for tool calling / agents
Firefunction-v2 is a new open weights model from @FireworksAI_HQ fine-tuned for tool calling. Built on Llama 3-70b, Firefunction-v2 marries strong instruction following capabilities with tool calling that is on par with GPT4-o.
This is a great option for building agentic applications with an open source / weight LLM.
We show how to use this model for tool calling / building agents, and benchmark its tool calling ability ourselves vs GPT4-o on a SQL challenge.
Video:
https://t.co/ZNHgcVI4Rp
Docs:
https://t.co/PKh38AWT4R
Cookbook:
https://t.co/NSJI3J3NdY
Blog: https://t.co/B1Jhr9Pjnq
Nice new read on tokenization!
You've heard about the SolidGoldMagikarp token, which breaks GPT-2 because it was present in the training set of the Tokenizer, but not the LLM later.
This paper digs in in a lot more depth and detail, on a lot more models, discovering a less extreme version of the above - partially-trained tokens in both open/closed models. You have to be careful with a lot of small details and implications - weight sharing, constants in residual streams, weight-decays, regex splitting patterns, BPE, UTF-8, etc.
TLDR Tokenization remains a major pain and a large LLM attack surface. Including these partially-trained tokens in your prompts drifts the model out of distribution into undefined regions of the dynamics, areas that the model is not used to. They confuse the LLM. The paper's focus is discovery and not engineering, but it seems likely one can find "token attacks" that reliably induce target weirdness: pop-off safety, alter personality or behaviors (?), any other kind of ... otherwise undefined behavior, whatever that may look like.
Now go ask GPT-4 about _ForCanBeConverted, $PostalCodesNL, useRalative, and _typingsJapgolly :)
(or see Figure 4 of the paper at the very end for simple examples)
Dr. Gilbert Strang and Lex Fridman discuss the theory behind singular value decomposition (SVD), which is a very important concept in machine learning.
✂️Semantic Chunking
Semantic chunking using embedding distances between sentences to figure out how to split a document. A key decision is what threshold to split at.
We now support three methods:
📎Percentile
🟠Interquartile Range
👿Standard Deviation
Big shout out to @matthaigh27 for adding two new methods (interquartile, standard deviation), and big shout out to @GregKamradt for the original inspiration and the original method (percentile)
Notebook: https://t.co/k1uUUEdrc0
We just opened sourced SQLCoder-70B! It outperforms all publicly accessible LLMs for Postgres text-to-SQL generation by a very wide margin.
SQLCoder is finetuned on @AIatMeta's CodeLlama-70B model that was released yesterday on less than 20,000 hand-curated prompt completion pairs.
You can find it on @huggingface at https://t.co/abHsKzWYGW. This follows our 15B, 7B, and 34B models – and is the most capable of them all.
The model has a cc-by-sa-4 license, which means that you are free to use it as is for any use (including commercial) as long as you also open-source any changes to you make to it (i.e., if you fine-tune it further).
🐀Improved RAGatouille <> LangChain Integration
We really enjoyed @bclavie's new RAGatouille library. It makes advanced retrieval techniques (like ColBERT - more on that below) really easy to use
We've worked on a tighter integration to make it *super simple* to use RAGatouille and LangChain together
After you construct your RAGatouille retriever, you can just call `.as_langchain_retriever()` and it's immediately available as a LangChain retriever that you can use in any chain!
Updated out docs here: https://t.co/dDos1bXs8S
The main use case for this (to start) is to use ColBERT models.
If you want to learn more about ColBERT, the best person to follow is @lateinteraction
He has GREAT threads like the following: https://t.co/nDoBiGaos4
Read up on ColBERT via @lateinteraction, try it out via RAGatouille with @bclavie, and then use it in LangChain to bring the right context to your chains!