synquid
lmql
synquid | lmql | |
---|---|---|
3 | 30 | |
113 | 3,342 | |
- | 2.9% | |
0.0 | 9.5 | |
about 2 years ago | 7 days ago | |
Haskell | 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.
synquid
-
Show HN: Fructose, LLM calls as strongly typed functions
https://www.youtube.com/watch?v=HnOix9TFy1A
Links to more projects and papers by Prof. Polikarpova: https://cseweb.ucsd.edu/~npolikarpova/
I think this is one of the main ones she discusses in the talk: https://github.com/nadia-polikarpova/synquid
-
_why's Estate
My first post was poorly written. I didn't mean to imply that taking pride in a job well done was bad. I don't think it is. I think programmers have plenty of reason to be happy when they do good work[1]--what I think is foolish is having visions of grandeur when it comes to programming, which in my opinion is what _why seemed to have based on his reasoning for quitting. I could be way off mark, but that's my take.
I mentioned this in another comment, but I think it also has to do with a confusion of categories. _why seemed to want recognition akin to that received by, e.g. Thomas Bernhard, Kafka, for something like shoes or his other software/libraries or general contributions to computing. But the issue is these things will always be utilities for specialists, and any aesthetic properties they have (elegant design, expression, etc.) are secondary to their functioning and they'll always be relegated to the dusty realm of specialists since the code is not the product--the software is. One can write code to create an aesthetic object that is enjoyed and revered by the masses, but I have a hard time envisioning a future in which the masses will ever enjoy and revere code or engineering for its own sake.
Pride was the wrong word to use and one I lazily reached for. After reading your comment, you've helped me realize that what I advise against is misapplication of expectations to different categories of things. _why seemed to want an aesthetic reception and legacy on a general, popular scale for work that is ultimately only a utility to the vast majority of the population and indeed, not even accessible to the population, and even if it were, I don't think many people would admire programming libs for fun--such a hobby will remain the lot of only enthusiasts. There is no pop coding like there is pop music.
[1]: Though I'd also argue that much of what you state taking pride in is not programming--which is just expressing ideas in programming languages--what you are talking about is engineering/design, which can be done perfectly well and separately from the programming part. we just happen to solve a lot of problems with computers these days so we need to express solutions for computers to consume and we tend to blend those responsibilities (we'll one day get to a point where the computers do most of the programming and we just design https://github.com/nadia-polikarpova/synquid)
-
Reverse of quickspec
Synquid synthesizes programs from refinement types, which are very similar in that you express a type-level predicate on the output using an expression which involves the input.
lmql
- Show HN: Fructose, LLM calls as strongly typed functions
-
Prompting LLMs to constrain output
have been experimenting with guidance and lmql. a bit too early to give any well formed opinions but really do like the idea of constraining llm output.
-
[D] Prompt Engineering Seems Like Guesswork - How To Evaluate LLM Application Properly?
the only time i've ever felt like it was anything other than guesswork was using LMQL . not coincidentally, LMQL works with LLMs as autocomplete engines rather than q&a ones.
-
Guidance for selecting a function-calling library?
lqml
-
Show HN: Magentic – Use LLMs as simple Python functions
This is also similar in spirit to LMQL
https://github.com/eth-sri/lmql
- Show HN: LLMs can generate valid JSON 100% of the time
- LangChain Agent Simulation – Multi-Player Dungeons and Dragons
-
The Problem with LangChain
LLM calls are just function calls, so most functional composition is already afforded by any general-purpose language out there. If you need fancy stuff, use something like Python‘s functools.
Working on https://github.com/eth-sri/lmql (shameless plug, sorry), we have always found that compositional abstractions on top of LMQL are mostly there already, once you internalize prompts being functions.
- Is there a UI that can limit LLM tokens to a preset list?
-
Local LLMs: After Novelty Wanes
LMQL is another.
What are some alternatives?
skistrap - The mirror for _why's skistrap
guidance - A guidance language for controlling large language models.
metaid - MetAid is a tiny library for aiding metaprogramming.
guidance - A guidance language for controlling large language models. [Moved to: https://github.com/guidance-ai/guidance]
markaby - markup as ruby (official repository)
simpleaichat - Python package for easily interfacing with chat apps, with robust features and minimal code complexity.
rb_parse_args - The mirror for _why's rb_parse_args
NeMo-Guardrails - NeMo Guardrails is an open-source toolkit for easily adding programmable guardrails to LLM-based conversational systems.
chirrup - The mirror for _why's chirrup
guardrails - Adding guardrails to large language models.
ruby-rails - ruby&rails
basaran - Basaran is an open-source alternative to the OpenAI text completion API. It provides a compatible streaming API for your Hugging Face Transformers-based text generation models.