Phind Model beats GPT-4 at coding, with GPT-3.5 speed and 16k context (phind.com)

891 points by rushingcreek ↗ HN
Hi HN,

We’re excited to announce that Phind now defaults to our own model that matches and exceeds GPT-4’s coding abilities while running 5x faster. You can now get high quality answers for technical questions in 10 seconds instead of 50.

The current 7th-generation Phind Model is built on top of our open-source CodeLlama-34B fine-tunes that were the first models to beat GPT-4’s score on HumanEval and are still the best open source coding models overall by a wide margin: https://huggingface.co/spaces/bigcode/bigcode-models-leaderb....

This new model has been fine-tuned on an additional 70B+ tokens of high quality code and reasoning problems and exhibits a HumanEval score of 74.7%. However, we’ve found that HumanEval is a poor indicator of real-world helpfulness. After deploying previous iterations of the Phind Model on our service, we’ve collected detailed feedback and noticed that our model matches or exceeds GPT-4’s helpfulness most of the time on real-world questions. Many in our Discord community have begun using Phind exclusively with the Phind Model despite also having unlimited access to GPT-4.

One of the Phind Model’s key advantages is that it's very fast. We’ve been able to achieve a 5x speedup over GPT-4 by running our model on H100s using the new TensorRT-LLM library from NVIDIA. We can achieve up to 100 tokens per second single-stream while GPT-4 runs around 20 tokens per second at best.

Another key advantage of the Phind Model is context – it supports up to 16k tokens. We currently allow inputs of up to 12k tokens on the website and reserve the remaining 4k for web results.

There are still some rough edges with the Phind Model and we’ll continue improving it constantly. One area where it still suffers is consistency — on certain challenging questions where it is capable of getting the right answer, the Phind Model might take more generations to get to the right answer than GPT-4.

We’d love to hear your feedback.

Cheers,

The Phind Team

357 comments

[ 3.3 ms ] story [ 278 ms ] thread
(comment deleted)
This is great work, but HumanEval is an extremely limited benchmark and I don’t think you can seriously claim to beat GPT-4 at coding based only on that metric.
Thank you. You're right -- which is why we rely on feedback we've received from our own users for that claim. Many of our users who have the choice to use either GPT-4 or the Phind Model on Phind choose the Phind Model.
I understand, but big claims require big evidence and so it’s still IMHO not rhetorically a strong position. I’m glad people find it more useful!
You likely know this, but keep in mind the kind of selection bias in taking feedback mostly from your own users. The number of times I've heard product designers claim that their users prefer some aspect of how their application already works, ignoring the fact that the users who didn't prefer it have left and hence are likely not available to survey.
Of course. We do our best to talk to churned users as well, but we're doing this Show HN to get even more diverse feedback.
(comment deleted)
Fifth sentence:

> However, we’ve found that HumanEval is a poor indicator of real-world helpfulness.

from my last week test of opensource model , it keep repeating and gives out broken outputs, using q4
This V7 model is much better than the V2 model that we previously open-sourced. And Q4 quantization would also likely have a large detrimental impact.
Are there plans to open source V7?
I love that Phind cites what it scrapes. This should be the obligation of all LLM. I always suggest people use it over ChatGPT.
As a user, i perfer getting the right response compared to the thing spitting out a link. (not saying phind is bad). Lets focus on getting llm right before nerfing it in its baby stages.
Who said anything about nerfing? Citation is just additive, no?
In fact, I’d argue that citation makes LLM better. Kind of a “think carefully” indicator. When LLMs are able to verify those citations independently it’s going to level up again by skyrocketing the objective truthiness.
Interestingly, I'd say that _not_ being able to give citations helps protect the LLM from copyright issues. That being said, I'm much prefer if the LLM could provide citations for every piece of information it was trained on and uses to provide an answer.
Citations are essential for me as I'm using Phind for work and can't rely on "trust me bro". It needs to confirm to my expectations or be confirmed in a couple of the citations that have trustworthy sources (eg are from known domains, well-cited journals, etc.).
I've found great sites and devs using Phind.
Yeah, I prefer the context provided by the original creator. If I'm writing code and I need to reference someone else's work I put their name in my comments. I was digging through Box2D for polygon vs ray intersections and in the comments of the source code Erin Catto cites Collision Detection in Interactive 3D Environments by Gino van den Bergen. It makes me respect him even more.
Nerf is the wrong word, more like regulatory capture. If all llm had to quote their sources at this point, along with all the other for the human changes we want to do, only the big players would be able to do them effectively making it hard to enter and compete. The current big players want launching a new llm product to be more like opening a new bank than opening a lemonade stand based on the ai executive order released yesterday.
Give me the citations every day of the week. The source of information matters. For example, I don't rely on any ZFS info or opinions I find online if I can't verify it came from a contributor or highly reputable person that has a lot of experience with ZFS.

If you want to show the warts of all these LLMs, ask it about ZFS if you know enough to spot the commonly parroted misinformation that plagues the internet.

IMHO, these systems look super useful if they're citing sources and they're worthless without.

Transparency is paramount. If OpenAI doesn't want to make it's proprietary software open to academic scrutiny I completely understand. However, if their app is going to play an educational role then sources and citation are mandatory in academic content.
Funny you bring up ZFS specifically. I embarrassed myself a couple weeks ago by parroting something GPT-4 told me about ZFS to someone on reddit, which turned out to be completely wrong.
What they're citing isn't what the LLM "scraped", it's what the retrieval model fed to the LLM. You're not guaranteed that it's what it actually used to give you the output, and it's also definitely not all the text that it used to get appropriate knowledge to generate the answer, as this is split over whatever millions of examples for the language and for human language in a non human-understandable way
A couple of times I've had the reference not include the detail being mentioned in the foregoing paragraph; the citations are still highly relevant, but it wasn't quite what I expected.
I've heard this coldtake before but OpenAI's source code isn't open to academic scrutiny. So I don't understand why some people are so confident about how it works. It's certainly not magic and Phind seems to be capable of it citation.
(comment deleted)
It's transformer based language-modelling 101, not really a take, just stating facts. It's highly unlikely Phind has completely fundamentally changed all the exact same problems that the whole field is working on simultaneously, single-handedly, in a purely novel way. It's just how transformers work.
Phind appears to be doing it though. LLMs are stochastic parrots, I don’t see a radical difference. Input goes in, output comes out. Neural network aren’t magic, they’re a complex function. 1 node or a billion we can track the data that’s changing the weights inside the network.
I do this for a living
This is amazing, kudos to the team
The results I get are so-so. The rubric I use to evaluate coding LLM's is to ask it to create a Python script that determines if the contents of a given directory have been changed since the last time the script was run. This should be done recursively and handle files being added, removed, or modified and be based off the contents of the files and not the timestamps.

When I ask it as one statement it performed ok, but if I made more specifications with follow-up statements, it kept trying to go down one path even though I told it to do it a different way. A solid start but it definitely needs some improvements, IMO.

Thanks for the feedback. We're working on improving consistency and precise instruction following in followups.
If you can make this best in class for code outside just human eval, wow, that's the differentiator. Add cursor, replit and vscode support after. But best in class for code, it would be my daily driver
This is a problem that human programmers screw up… regularly.

E.g.: the efficient and robust file change monitoring on Windows is to read the NTFS change journal. For a single process lifetime there are other change notification APIs as well. Most software does neither and is either very slow or misses changes…

It's so fast ... and accurate.
This is awesome. Are you planning to open-source the V7 model?
Thanks! We generally plan to open-source our previous models once they're no longer cutting-edge, so yep :)
> We can achieve up to 100 tokens per second single-stream while GPT-4 runs around 20 tokens per second at best.

Is that with batching? If so, thats quite impressive.

> certain challenging questions where it is capable of getting the right answer, the Phind Model might take more generations to get to the right answer than GPT-4.

Some of this is sampler tuning. Y'all should look at grammar based sampling (https://github.com/ggerganov/llama.cpp/pull/1773) if you aren't using it already, as well as some of the "dynamic" sampling like mirostat and dynatemp: https://github.com/LostRuins/koboldcpp/pull/464

I think these should work with nvidia's implementation if you just swap the sampling out with the HF version.

BTW, all this is a great advantage of pulling away from OpenAI. You can dig in and implement experimental features that you just can't necessarily do through their API.

is that impressive? I was thinking 100 tok/s on an H100 is really slow considering LMDeploy claims 2000+ on an A100 and a large batch size.
We get 100 tokens a second with batch size 1. Those 2000+ figures are for large batches.
Ah, that's fair, and faster than any of the LMDeploy stats for batch size 1; nice work!

Using an H100 for inference, especially without batching, sounds awfully expensive. Is cost much of a concern for you right now?

I don't think they're saying they're doing batch size of 1, just giving performance expectations of user facing performance
Yeah, and this is basically what I was asking.

100 tokens/s on the user's end, on a host that is batching requests, is very impressive.

I think they _are_ saying batch size 1, given that rushingcreek is OP.
Yes they are saying batch size 1 for the benchmarks, but they aren't doing batch size 1 in prod (obviously).
I don't think that is obvious. If your use case demands lowest latency at any cost, you might run batch size 1. I believe replit's new code model (announced about a month ago) runs at batch 1 in prod, for example, because code completions have to feel really fast to be useful.

With TensorRT-LLM + in-flight batching you can oversubscribe that one batch slot, by beginning to process request N+1 while finishing request N, which can help a lot at scale.

I'm not sure about TensorRT, but in llama.cpp there are seperate kernals optimized for batching and single use inference. It makes a substantial difference.

I suppose one could get decent utilization by prompt processing one user while generating tokens for another.

Without batching, I was actually thinking that's kind of modest.

ExllamaV2 will get 48 tokens/s on a 4090, which is much slower/cheaper than an H100:

https://github.com/turboderp/exllamav2#performance

I didn't test codellama, but the 3090 TI figures for other sizes are in the ballpark of my generation speed on a 3090.

100 tokens/s batched throughput (for each individual user) is much harder.

Will you be offering the model as an API service? The product my team is working on would benefit from a significantly faster and possibly better performing model than GPT-4. If you're planning on keeping pace with competitive models we'd love to integrate the use of your model into our service.
If we get enough demand that's definitely something we'll consider. We're still a small team, however, and we do everything in our power to not get distracted from our main mission.
Makes sense, we're also very small (pre-seed) so definitely no cash cow for you guys yet. We probably shouldn't be prematurely optimizing our prompting performance as it's not really a bottleneck, but a 4x improvement just by swapping an API would be too good not to act on.
If you offer an API then you can be used with tools like https://aider.chat/, which is the best way to use LLMs for coding. But if only available via the web it's not possible. BTW this is the main reason I pay for the OpenAI API.
Please consider releasing an API. Having a faster alternative to GPT-4 would be amazing for so many use cases.

Especially for agents that do function calling.

If you offer an API you don't have to maintain a Visual Studio plugin. Trying to compete with tools like Cursor would be the real distraction.

And Cursor is just the start - there will be innovative workflows built on top of APIs you can't predict. You're missing out not having developers build an ecosystem for you.

just as a point to consider, NOT having an api (and thus no integrations into my editors of choice) is the main reason i haven’t given y’all a fair test run. i’d almost rather not know what i’m missing (though the threads here have convinced me to give it a shot.)
Will you open source anything newer than the v2 currently on HF?
So on firefox with normal protections I get a blank page in reply to a phind query for whatever reason. On chrome phind does seem to get some interesting answers (and is a bit cheaper than GPT to begin with for sure ;-) )
> You can now get high quality answers for technical questions in 10 seconds instead of 50.

ChatGPT 4 does not take 50 seconds to answer, so I don't understand this comparison.

We find that it takes around a minute for a 1024-token answer. Answers to less complex questions will take less time, but Phind will still be 5x faster.
Recently I've used gpt 4 and yes it does take up to a minute even for easy questions.

I've asked it how to scp a file on Windows 11 and it'll take a minute to tell me all the options possible.

If this takes 1/5th the time for equivalent questions, I'd consider switching

Not my experience at all. Are you counting the entire answer in your time?

If so, consider adding one of the “just get to the point” prompts. GPT4’s defaults have been geared towards public acceptance through long-windedness which is imo entirely unnecessary when using it to do functional things like scp a file.

Yeah, I would say this is a prompting problem and not a model problem. In a product area we're building out right now with GPT-4, our prompt (more or less) tells it to provide exactly 3 values and it does that and only that. It's quite fast.

Also, use case thing. It is very likely the case that for certain coding use cases, Phind will always be faster because it's not designed to be general purpose.

The words "briefly" or "without explanation" work well.

By keeping the prompt short, it starts generating output quicker too.

LOL, it’s not just for “public acceptance”. Look up Chain of Thought. Asking it to get to the point typically reduces the accuracy.
> LOL, it’s not just for “public acceptance”. Look up Chain of Thought. Asking it to get to the point typically reduces the accuracy.

Just trying to provide helpful feedback for you, this would have been a great comment, except for the "LOL" at the beginning that was unnecesary and demeaning.

You are being snarky but are right. I have scripts set up to auto summarise expansive answers. I wish I could build this into the ChatGPT ui though.
I know this is silly, but I've had great success asking chatgpt to summarise chatgpt's answers.
This isn't a fair comparison because I have custom instructions that mention being brief but complete, but I did "how to scp a file on Windows 11"

ChatGPT4: 14 seconds

phind with "pair programmer" checked: 65 seconds

phind default: 16 seconds

Take a look at the AutoExpert custom instructions: https://github.com/spdustin/ChatGPT-AutoExpert

It lets you specify verbosity from 1 to 5 (e.g. "V=1" in the prompt). Sometimes the model will just ignore that, but it actually does work most of the time. I use a verbosity of 1 or 2 when I just want a quick answer.

ChatGPT4 is more often than not noticeably slow enough that I question why I pay for it.
Sometimes it's insanely quick - like gpt3,5 turbo or a cached answer or something.
That really depends on the complexity of your request and any prompt engineering techniques in use for that request. Especially with "think step by step" in certain contexts, it can improve answer quality at the expense of generation time (because more tokens are emitted).
I can't wait to see this open sourced, there's a lot of sampling strategies that help coding.

And I also can't wait to see how much Phind will improve further if the Glaive dataset is added onto it.

Edit: Contrastive search, dynamic temperatures.

I tried this, but I still have yet to get any LLM to answer me a programming question (that actually works) that I actually want to solve.

Basically:

"How can I send network control commands to an AppleTV in C#"

They always make up some nonexistent library or gives an example using some nonexistent API.

That’s because you’re asking it something too obscure that I would have at first assumed wasn’t even possible.

“Make me a billionaire… I’m still poor! Bad AI!”

You need to collaborate with the AI, use it to help with each small step of the problem, with input references provided.

To a degree Phind can do the reference chasing for you, but it’s not magic.

It's definitely not impossible at least.

Someone is doing it in python here:

https://pyatv.dev/

GPT-4 actually sent me here:

"Here is an example of a C# library that implements the HAP: CSharp.HomeKit (https://github.com/brutella/hkhomekit). You can use this library as a reference or directly use it in your project."

Which, to no surprise based on my experiences with LLMs for programming does not exist and doesn't seem to have ever existed.

I get that they aren't magic, but I guess I am just bad at trying to use LLMs to help in my programming. Apparently all I do are obscure things or something. Or I am just not good enough at prompting. But I feel like that's also a reflection of the weakness of an LLM in that it needs such perfect and specific prompting to get good answers.

> Or I am just not good enough at prompting.

Or you're good enough at using your tools that you can do all the low-hanging fruit. LLMs excel at working around inadequate tooling, but (at least at the moment) they can't help you if you're trying to do something actually tricky and get stuck enough that no rubber duck can save you.

In a sense you’re asking it the wrong questions. It’s a bit like asking Google “my PC crashed, how do I fix!?” and then expecting something specific to a rare issue in the first hit.

Assuming a C# library even exists for what you’re doing (maybe not!) then still the best use of AI is to troubleshoot specific issues given an almost working piece of code as input.

Ask it to explain why something doesn’t work instead of asking it to do your job for you wholesale.

PS: GPT 4 (you are using the best coding AI, right? Right?) can get you going quickly:

“There are several libraries available for controlling Apple HomeKit from C#. One such library is *HapSharp* ². It is a .NET implementation of the HomeKit Accessory Server that allows you to create your own custom HomeKit accessory on a Raspberry Pi, Mac computer, or any other platform that can run Mono ².

Another option is *HomeKit* ¹. It is a native C# library for Apple's HomeKit Accessory Protocol. However, it is not a complete implementation and does not work ¹.

I hope this helps!

Source: Conversation with Bing, 31/10/2023 (1) netonjm/HapSharp: HomeKit Accessory Server .Net bridge! - GitHub. https://github.com/netonjm/HapSharp. (2) GitHub - ppumkin/HomeKit: Native C# Libary for Apple's HomeKit .... https://github.com/ppumkin/HomeKit. (3) homekit-accessory-protocol · GitHub Topics · GitHub. https://github.com/topics/homekit-accessory-protocol?o=asc&s...

Even all of that is on the wrong track. There is nothing that I can see anywhere about controlling an ATV with the homekit accessory protocol.
Then you asked the wrong question.

AFAIK Apple generally does not allow arbitrary remote control (headless mode) for security reasons — it could be used for spam automation!

They do though. Pyatv can do it (and home assistant is using pyatv since HA is python based) and commercial home automation systems like Crestron and Control4 can do it too.

Really I just need to get an LLM to port pyatv to C# for me I guess.

I’m working on an open source, terminal-based AI coding tool that is designed specifically for more complex, multi-iteration tasks and features. I think it could likely do a good job on this task.

I’m using it personally every day and while it still needs more work and polish, I’m finding it much better than ChatGPT or any other tools I’ve tried for bigger and more difficult tasks.

Please let me know if you (or anyone else reading this) would be interested to try a late alpha/early beta version: dane@envkey.com

I’d guess the intersection of both tech has low training content so it starts dreaming. If you break up the question into “AppleTV API” (or whatever the primary terms are), then use that context for C# it might work better? Isolate the Apple bit so it uses more specific parts of the training.
Interesting, I seem to have gotten a decent answer: https://www.phind.com/search?cache=avbridtm69ejk8pdqpx8hcnf
Unfortunately there’s nothing correct about that answer. There’s no tcp service listening for requests like that on port 7000 on an AppleTV.
It's quoting that from a StackOverflow post: https://stackoverflow.com/questions/11857130/tcpclient-or-ht....
Yeah, that port 7000 service is AirPlay protocol and they are sending photos and videos to an ATV with it.

But I want to control a unit like send navigation controls like 4 directions, back and select.

The only app I know that can do it is pyatv, (a python app) but I want to do it in my C# app.

It would be nice if an LLM could port pyatv to C# for me as I don't really know python at all.

The speed and quality seem good to me. Will try it on some real scenarios this week.
Ran a quick test with a Rust async code snippet that contains an error. Compared with GPT-4 its gives a far clearer solution, with linked sources to learn more! Super impressive!
Amazing, that's great to hear.
Is it possible to output all steps of solutions in a single copyable block? I don't want to copy 4 separate blocks.
When I use it I often give a final prompt like "Now combine the above answers together into a function that accept the following arguments...". This has worked well for my use cases.
Re: "We're excited to announce" - when did this get deployed? I was on Phind Pro ... a month ago or something, and curious if i already experienced this or not.

Phind was really good, but still had a difficult time with library versions. Notably a lot of the search results it saw felt like they polluted it with incorrect assumptions about available methods on specific library versions. The web results felt like it made the LLM worse at some things. In the end i switched back to ChatGPT. Though i expect i'll retry Phind at some point, i do tend to ping pong on each respective release.

Does this version tackle that any better in your eyes?

Thanks for the feedback and I'm sorry to see you go. The new version should be better at library versions. If you're in our Discord, I'd be happy to help you one-on-one -- please send me a DM.
I'm sure i'll be back soon, the overall experience was good. So many competing products it's difficult to pay for them all at once.
Some small feedback/bug: (Mobile, Firefox, using pair programmer mode)

The text box gets hidden after the conversation exceeds the page height

The headline seems a little disingenuous: “beats GPT-4 at coding”

The results are impressive and things have been really progressing quickly, so kudos.

But even by your own description in this post, something like “rivals GPT-4 at coding” seems a more accurate appraisal.

Didn't work fine when I asked it a design question: the code and API it used is not correct. GPT-4 did a better job.

https://www.phind.com/search?cache=ay8rx37gq8oy3z7uixftlqkt

https://chat.openai.com/share/a3a91dcc-a91a-4b04-8afd-40bd1a...

The GPT-4 answer is only better in so far as it uses RunTransaction. I don't know why it's trying to loop through the stores and then running the i'th operation on that store when it could have just had the store referenced in the operation instead of passing it as a parameter. And then it's also creating a new client for each transaction which seems wrong (to be fair I'm not familiar with Firestore so maybe this is idiomatic).
It's not idiomatic. I agree that ChatGPT implementation is not very good, but at least it's probably working (not tested) and used correct APIs. I tried several iterations after that, and it came up with a better design.
Thanks for sharing the links, we'll investigate this example.
I straight away asked it a stackoverflow question in which input and expected output samples were given. Phind didn't do well. ChatGPT though, [kissing hearts emoji]
Not looking deeply at the technical side of the answers, but the time of GPT4's answer is very casual/conversational (it starts with "Alright, listen up." and keeps that tone throughout).

I think you might get a better answer if you rewrote your prompt using full sentences and more formal language.

Your About page is really lacking in detail. https://www.phind.com/about I wouldn't feel comfortable using your service without a lot more detail about the founders and company etc.
> it supports up to 16k tokens

> Llama 1 supports up to 2048 (2K) tokens, Llama 2 up to 4096 (4K), CodeLlama up to 16384 (16K). [0]

This is wild to me.

The token window is one of the limiting factors for having an AI that can actually remember you and past conversations. Having a large window is key for future AI applications that involve long running conversations (weeks, months, years). The tech is already very impressive, but imagine it as it becomes more like an actual pair programmer and remembers all the various things it's learned and worked on with you in the past.

[0] https://huggingface.co/docs/transformers/main/model_doc/llam...

Still waiting for the day that medium term memory (token average pooling like in sentence transformers) becomes used for this. It's staring all of these companies in the face and apparently no one thinks to implement it.
Out of curiosity, why do you think the answer would be so simple and also completely untested?
Another curiosity, what do we estimate (if it's even possible) the context window of a human? Obviously an extremely broad question, and of course it must have some sort of decay factor... but... would be interesting to get a rule of thumb number in terms of token count. I can imagine its massive!
I don't think it's massive. In fact, since it's roughly equivalent to working memory, I suspect it's on the order of 100 tokens at most.

It's just that, unlike these AIs, we're capable of online learning.

Human memory, in my limited understanding, doesn’t have the bifurcation of weights and context that LLMs do. It’s all a bit blurrier than that.

Something interesting that I heard from people trying to memorize things better is that memory “storage space” limits for people are essentially irrelevant. We’re limited by our learning and forgetting speeds. There’s no evidence of brains getting “full”.

Think of it like a giant warehouse of plants, with one employee. He can accept shipments (learning). He can take care of plants (remembering). Too long without care and they die (forgetting). The warehouse is big enough that it is not a limiting factor in how many plants he can keep alive. If it was 10x bigger it wouldn’t make a bit of difference.

Too much money being thrown around on BS in the LLM space, hardly any of it is going to places where it matters. Ignorance on the part of investors.

For example, the researchers working hard on better text sampling techniques (i.e. https://arxiv.org/abs/2202.00666), or on better constraint techniques (i.e. like this https://arxiv.org/abs/2306.03081), or on actual negative prompting/CFG in LLMs (i.e. like this https://github.com/huggingface/transformers/issues/24536) are doing far FAR more to advance the state of AI than dozens of VC backed LLM companies operating today. They are all laboring in relative obscurity.

HN, and the NLP community have some serious blindspots with knowing how to exploit their own technology. At least someone at Andreessen Horowitz got a clue and gave some funding to Oogabooga - still waiting for Automatic1111 to get any funding.

I've been thinking along the same lines. The token window IMO should be a conceptual inverted pyramid, where there most recent tokens are retained verbatim but previous iterations are compressed/pooled more and more as the context grows. I'm sure there's some effort/research in this direction. It seems pretty obvious.
But some of the earlier tokens are also the most important ones, right? Like the instructions and rules you want it to follow.
They are. Moreover, the idea that AI companies are missing and/or not implementing this “obvious” tactic is hilarious. Folks, these approaches have profound consequences for training and inference performance. Y’all aren’t pointing out some low hanging fruit here, lol
Actually, yes I am pointing out low hanging fruit here. These approaches do not have "profound consequences" for inference or training performance. In fact, sentence transformer models run orders of magnitude more quickly. Performance penalties will be small.

Also, I actually have several top NLP conference publications, so I'm not some charlatan when I say these things. I've actually physically used and seen these techniques improve LLM recall. It really actually works.

Here's more examples of low hanging fruit. The proof in that they work is in the implementations which I provide. You can run them, they work!: https://gist.github.com/Hellisotherpeople/45c619ee22aac6865c...

Check yourself before you try to check others.

Concur. LLM are still very young. We’re barely a year out from the ChatGPT launch. Everyone is iterating like mad. Several stealth companies working on new approaches with the potential to deliver performance leaps.

You ain’t seen nuthin’ yet…

> In fact, sentence transformer models run orders of magnitude more quickly. Performance penalties will be small.

They do not. Sentence transformers aren't new, and have well-known trade offs. What source or line of reasoning misled you to believe otherwise?

> Here's more examples of low hanging fruit. The proof in that they work is in the implementations which I provide. You can run them, they work!: https://gist.github.com/Hellisotherpeople/45c619ee22aac6865c...

This...is your blog about prompt engineering. What do you believe this "proves"? How have you blown away current production encoding or attention mechanisms?

Phrase embeddings could bring a 32x reduction in sequence length because:

> Text Embeddings Reveal (Almost) As Much As Text. ... We find that although a naïve model conditioned on the embedding performs poorly, a multi step method that iteratively corrects and re embeds text is able to recover 92% of 32-token text inputs exactly. We train our model to decode text embeddings from two state of the art embedding models, and also show that our model can recover important personal information (full names) from a dataset of clinical notes.

https://arxiv.org/abs/2310.06816

Token window size is being virtualized with the like of MemGPT, so its effect will diminish.
640k is enough for anyone
Extending that analogy, imagine what one could do with 128B tokens.

On cast off/cheap workstation/server hardware.

I know it isn't popular, but I wish there was a way to use this inside Emacs. Or, vim. I just don't want to use VS Code anymore.
Pretty sure GitHub Copilot has emacs/vim integration.
It does, although not the most recent features. I use the compatible features in Vim and I really like it. Not enough to switch editors though.
If only the depth of our feelings for Emacs counted for more in the market.

There's an argument that music and the arts are dumbed down by the fact that, for instance, making an album worth $10 to millions of people pays way better than making an album worth a million dollars to tens of people, since the album is going to get priced at $10 one way or the other. It only just now occurred to me that the same phenomenon applies to tools.

The standardizing on VS code is one of the saddest developments over the last several years IMHO. I think it's great that VS Code exists, but we're headed for a world where you have to use VS Code if you want the best tooling because it won't support other options. The same thing happened with Java dev and IntelliJ, and IMHO it has been extremely unhealthy for the ecosystem. I'm immensely glad that Copilot supports vim, but I'm fearful that it soon won't.
Same could have/could be said about Jetbrains products. People are likely always going to use vim/emacs and create tooling around whatever new hotness exists for them. And honestly? VS Code is just a new iteration on how vim/emacs work in a lot of ways: Providing a place to edit text and then a bunch of plugins that do things with that text.

And if you want vim/emacs to keep living, then you should spend time helping! Create your own extensions, maintain/contribute to existing ones, etc. They will only die out when the last person actively contributing to them stops, so keep the chain of people going :)

Didnt vscode standardise language servers making much easier for all the rest text-editor-close-almost-ides to integrate? Is it really that sad?
Very fair point. Vim has benefited tremendously from that effort.
> The same thing happened with Java dev and IntelliJ, and IMHO it has been extremely unhealthy for the ecosystem.

While I agree, at the very least IntelliJ stood up on its own as a good IDE. I cut my baby teeth on Eclipse, and as soon as I realised how good IntelliJ is, I jumped ship without looking back. The same can barely be said about VS Code.

You and me both brother. LSP integration seems the way forward.
In Vim, I tried to assign a shortcut to send the selected text to Phind (or any other LLM) and came up with this:

:'<,'>y|call system('firefox <url>?q='.shellescape(@*).' &')

The only problem left is that the text is not urlencoded.

There probably is some elegant way to urlencode it. But I did not come up with one yet.

I've hacked together a basic Emacs ollama api integration that does simplistic code completion against a local LLM from someone else's copilot example. It's slower than I want (about 7 seconds per inference on my M1 mac, typically) and very stupid about what context it sends, but nevertheless: it's just, and only just, enough to be useful. Hadn't considered publishing it because it relies on a python façade to convert copilot-style requests and responses back and forth to ollama, but if there's interest I'll spruce it up and get it out.
From downthread, just use ellama. They're further ahead than me by the looks of things.
I have been a vs code power user and switched to pycharm two years ago and will never go back because of the features for working with multiple environments and projects in pycharm.

Working with phind needs to be available in pycharm for me considering switching from gpt4 to phind. Chatting with phind on my local files is the feature I am looking for.