hof
guidance
hof | guidance | |
---|---|---|
33 | 89 | |
475 | 12,248 | |
0.8% | - | |
8.9 | 9.5 | |
5 months ago | 9 months ago | |
Go | Jupyter Notebook | |
Apache License 2.0 | MIT License |
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.
hof
-
Ask HN: Are SQL developers generally familiar with JSON, VSCode and Docker?
Many business analysts use SQL, have for a long time. They are probably not your target audience. With the problem being JAVA specific, you'd likely want to start there
This sounds similar to the goals of my hof tool (https://github.com/hofstadter-io/hof), lift type definitions out of code so they can be defined in one place, then generate the code for all the places. Is that sounding like what you are after?
-
Show HN: Open SaaS – An open-source alternative to paid boilerplate starters
Having built something similar, the biggest challenge for users is that they have to use a bespoke language, like WASP here. I suspect that it is also your biggest challenge as well.
Mine is built on CUE, which at least has the potential to become a more widely used language. CUE hasn't reached sufficient maturity for broader adoption yet, so I continue to face this same problem.
https://github.com/hofstadter-io/hof
-
OpenAI: Prompt Engineering
Here's a big one I needed to get ChatGPT to do something more sophisticated with a JSON object response (predates functions and all that)
https://github.com/hofstadter-io/hof/blob/_dev/flow/chat/pro...
It no longer worked after a model update some time ago, haven't tried recently.
I found codellama to be much better for this and require fewer instructions, an anecdotal validation for smaller, focussed models
-
Ask HN: What's the most compelling AI prompt result you've seen?
I was surprised out how you can define arbitrary grammars using arbitrary formulation and it would follow it. Of course you have to redo the prompt every time there is an update... such a pain
https://github.com/hofstadter-io/hof/blob/_dev/flow/chat/pro...
-
HTTPie Desktop: cross-platform API testing client for humans
CUE is indeed a beautiful language, will get those mind juices flowing for sure!
There is more work to be done on the codec implementation, but if you just want to split yaml/json across files, CUE is a great option
You might also like my project, built on CUE: https://github.com/hofstadter-io/hof We have a TUI where you can explore and work with CUE, JSON, Yaml
-
Show HN: A tool to Convert JSON schemas into TypeScript classes
You can pretty much make up any pseudo grammar like this one, which is a reduced JSON object that is close to CUE: https://github.com/hofstadter-io/hof/blob/_dev/flow/chat/pro...
No need to be formal or use a standard format
-
Guidance: A guidance language for controlling large language models
Yea, in particular for this project, they have created a bespoke templating system.
You can get the same thing with Go text/templates by adding chat function(s) as custom a helper: https://github.com/hofstadter-io/hof/blob/_dev/lib/templates...
-
Textual Web: TUIs for the Web
100% one of the best things about building a TUI is not having the pain of modern web development. I do think there is a way to have a CLI & TUI come from the same code, so you can get the best of both, or pick the best for the task at hand.
experiments in progress here: https://github.com/hofstadter-io/hof/tree/_dev/lib/tui
-
Jacobin: Minimal JVM written in Go and capable of running Java 17 classes
CUE is another interesting language to use from within Go, and is rather natural, given CUE is implemented in Go, but you can also do way more cool things with CUE via the Go API.
We're using CUE to validate and transform data, as input to code gen, the basis for a DAG task engine, and more
https://cuelang.org | https://pkg.go.dev/cuelang.org/[email protected]/cue | https://cuetorials.com/go-api (learn about CUE)
https://github.com/hofstadter-io/hof (where we are doing these things)
-
Introducing TypeChat from Microsoft
here is one of our early examples: https://github.com/hofstadter-io/hof/blob/_dev/flow/chat/pro...
guidance
-
Guidance: A guidance language for controlling large language models
This IS Microsoft Guidance, they seem to have spun off a separate GitHub organization for it.
https://github.com/microsoft/guidance redirects to https://github.com/guidance-ai/guidance now.
- LangChain Agent Simulation – Multi-Player Dungeons and Dragons
-
Llama: Add Grammar-Based Sampling
... and it sets the value of "armor" to "leather" so that you can use that value later in your code if you wish to. Guidance is pretty powerful, but I find the grammar hard to work with. I think the idea of being able to upload a bit of code or a context-free grammar to guide the model is super smart.
https://github.com/microsoft/guidance/blob/d2c5e3cbb730e337b...
-
Introducing TypeChat from Microsoft
Here's one thing I don't get.
Why all the rigamarole of hoping you get a valid response, adding last-mile validators to detect invalid responses, trying to beg the model to pretty please give me the syntax I'm asking for...
...when you can guarantee a valid JSON syntax by only sampling tokens that are valid? Instead of greedily picking the highest-scoring token every time, you select the highest-scoring token that conforms to the requested format.
This is what Guidance does already, also from Microsoft: https://github.com/microsoft/guidance
But OpenAI apparently does not expose the full scores of all tokens, it only exposes the highest-scoring token. Which is so odd, because if you run models locally, using Guidance is trivial, and you can guarantee your json is correct every time. It's faster to generate, too!
-
Accessing Llama 2 from the command-line with the LLM-replicate plugin
Perhaps something as simple as stating it was first built around OpenAI models and later expanded to local via plugins?
I've been meaning to ask you, have you seen/used MS Guidance[0] 'language' at all? I don't know if it's the right abstraction to interface as a plugin with what you've got in llm cli but there's a lot about Guidance that seems incredibly useful to local inference [token healing and acceleration especially].
[0]https://github.com/microsoft/guidance
-
AutoChain, lightweight and testable alternative to LangChain
LangChain is just too much, personal solutions are great, until you need to compare metrics or methodologies of prompt generation. Then the onus is on these n-parties who are sharing their resources to ensure that all of them used the same templates, they were generated the same way, with the only diff being the models these prompts were run on.
So maybe a simpler library like Microsoft's Guidance (https://github.com/microsoft/guidance)? It does this really well.
-
Structured Output from LLMs (Without Reprompting!)
I am unclear on the status of the project but here is the conversation that seem to be tracking it: https://github.com/microsoft/guidance/discussions/201
-
/r/guidance is now a subreddit for Guidance, Microsoft's template language for controlling language models!
Let's have a subreddit about Guidance!
- Is there a UI that can limit LLM tokens to a preset list?
-
Any suggestions for an open source model for parsing real estate listings?
You should look at guidance for an LLM to fill out a template. Define the output data structure and provide the real estate listing in the context (see the JSON template example here https://github.com/microsoft/guidance)
What are some alternatives?
cue - The home of the CUE language! Validate and define text-based and dynamic configuration
semantic-kernel - Integrate cutting-edge LLM technology quickly and easily into your apps
smug - Session manager and task runner for tmux. Start your development environment within one command.
lmql - A language for constraint-guided and efficient LLM programming.
ping-heatmap - A tool for displaying subsecond offset heatmaps of ICMP ping latency
langchain - ⚡ Building applications with LLMs through composability ⚡ [Moved to: https://github.com/langchain-ai/langchain]
go-live - 🗂️ go-live is an ultra-light server utility that serves files, HTML or anything else, over HTTP.
NeMo-Guardrails - NeMo Guardrails is an open-source toolkit for easily adding programmable guardrails to LLM-based conversational systems.
jk - Configuration as Code with ECMAScript
llama-cpp-python - Python bindings for llama.cpp
bashly - Bash command line framework and CLI generator
langchainrb - Build LLM-powered applications in Ruby