synquid VS guidance

Compare synquid vs guidance and see what are their differences.

guidance

A guidance language for controlling large language models. (by guidance-ai)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
synquid guidance
3 23
113 17,357
- 2.7%
0.0 9.8
about 2 years ago 5 days ago
Haskell Jupyter Notebook
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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

Posts with mentions or reviews of synquid. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-06.
  • Show HN: Fructose, LLM calls as strongly typed functions
    10 projects | news.ycombinator.com | 6 Mar 2024
    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
    14 projects | news.ycombinator.com | 7 Nov 2021
    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
    2 projects | /r/haskell | 24 May 2021
    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.

guidance

Posts with mentions or reviews of guidance. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-08.
  • Anthropic's Haiku Beats GPT-4 Turbo in Tool Use
    5 projects | news.ycombinator.com | 8 Apr 2024
    [1]: https://github.com/guidance-ai/guidance/tree/main
  • Show HN: Prompts as (WASM) Programs
    9 projects | news.ycombinator.com | 11 Mar 2024
    > The most obvious usage of this is forcing a model to output valid JSON

    Isn't this something that Outlines [0], Guidance [1] and others [2] already solve much more elegantly?

    0. https://github.com/outlines-dev/outlines

    1. https://github.com/guidance-ai/guidance

    2. https://github.com/sgl-project/sglang

  • Show HN: Fructose, LLM calls as strongly typed functions
    10 projects | news.ycombinator.com | 6 Mar 2024
  • LiteLlama-460M-1T has 460M parameters trained with 1T tokens
    1 project | news.ycombinator.com | 7 Jan 2024
    Or combine it with something like llama.cpp's grammer or microsoft's guidance-ai[0] (which I prefer) which would allow adding some react-style prompting and external tools. As others have mentioned, instruct tuning would help too.

    [0] https://github.com/guidance-ai/guidance

  • Forcing AI to Follow a Specific Answer Pattern Using GBNF Grammar
    2 projects | /r/LocalLLaMA | 10 Dec 2023
  • Prompting LLMs to constrain output
    2 projects | /r/LocalLLaMA | 8 Dec 2023
    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.
  • Guidance is back 🥳
    1 project | /r/LocalLLaMA | 16 Nov 2023
  • New: LangChain templates – fastest way to build a production-ready LLM app
    6 projects | news.ycombinator.com | 1 Nov 2023
  • Is supervised learning dead for computer vision?
    9 projects | news.ycombinator.com | 28 Oct 2023
    Thanks for your comment.

    I did not know about "Betteridge's law of headlines", quite interesting. Thanks for sharing :)

    You raise some interesting points.

    1) Safety: It is true that LVMs and LLMs have unknown biases and could potentially create unsafe content. However, this is not necessarily unique to them, for example, Google had the same problem with their supervised learning model https://www.theverge.com/2018/1/12/16882408/google-racist-go.... It all depends on the original data. I believe we need systems on top of our models to ensure safety. It is also possible to restrict the output domain of our models (https://github.com/guidance-ai/guidance). Instead of allowing our LVMs to output any words, we could restrict it to only being able to answer "red, green, blue..." when giving the color of a car.

    2) Cost: You are right right now LVMs are quite expensive to run. As you said are a great way to go to market faster but they cannot run on low-cost hardware for the moment. However, they could help with training those smaller models. Indeed, with see in the NLP domain that a lot of smaller models are trained on data created with GPT models. You can still distill the knowledge of your LVMs into a custom smaller model that can run on embedded devices. The advantage is that you can use your LVMs to generate data when it is scarce and use it as a fallback when your smaller device is uncertain of the answer.

    3) Labelling data: I don't think labeling data is necessarily cheap. First, you have to collect the data, depending on the frequency of your events could take months of monitoring if you want to build a large-scale dataset. Lastly, not all labeling is necessarily cheap. I worked at a semiconductor company and labeled data was scarce as it required expert knowledge and could only be done by experienced employees. Indeed not all labelling can be done externally.

    However, both approaches are indeed complementary and I think systems that will work the best will rely on both.

    Thanks again for the thought-provoking discussion. I hope this answer some of the concerns you raised

  • Show HN: Elelem – TypeScript LLMs with tracing, retries, and type safety
    2 projects | news.ycombinator.com | 12 Oct 2023
    I've had a bit of trouble getting function calling to work with cases that aren't just extracting some data from the input. The format is correct but it was harder to get the correct data if it wasn't a simple extraction.

    Hopefully OpenAI and others will offer something like https://github.com/guidance-ai/guidance at some point to guarantee overall output structure.

    Failed validations will retry, but from what I've seen JSONSchema + generated JSON examples are decently reliable in practice for gpt-3.5-turbo and extremely reliable on gpt-4.

What are some alternatives?

When comparing synquid and guidance you can also consider the following projects:

skistrap - The mirror for _why's skistrap

lmql - A language for constraint-guided and efficient LLM programming.

metaid - MetAid is a tiny library for aiding metaprogramming.

semantic-kernel - Integrate cutting-edge LLM technology quickly and easily into your apps

markaby - markup as ruby (official repository)

langchain - 🦜🔗 Build context-aware reasoning applications

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

text-generation-webui - A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, llama.cpp (GGUF), Llama models.

ruby-rails - ruby&rails

outlines - Structured Text Generation