llm-mlc
TypeChat
llm-mlc | TypeChat | |
---|---|---|
3 | 12 | |
172 | 7,928 | |
- | 1.1% | |
5.1 | 9.0 | |
2 months ago | 16 days ago | |
Python | TypeScript | |
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.
llm-mlc
-
LLM now provides tools for working with embeddings
I'm still iterating on that. Plugins get complete control over the prompts, so they can handle the various weirdnesses of them. Here's some relevant code:
https://github.com/simonw/llm-gpt4all/blob/0046e2bf5d0a9c369...
https://github.com/simonw/llm-mlc/blob/b05eec9ba008e700ecc42...
https://github.com/simonw/llm-llama-cpp/blob/29ee8d239f5cfbf...
I'm not completely happy with this yet. Part of the problem is that different models on the same architecture may have completely different prompting styles.
I expect I'll eventually evolve the plugins to allow them to be configured in an easier and more flexible way. Ideally I'd like you to be able to run new models on existing architectures using an existing plugin.
-
Show HN: LlamaGPT – Self-hosted, offline, private AI chatbot, powered by Llama 2
What is the advantage of this versus running something like https://github.com/simonw/llm , which also gives you options to e.g. use https://github.com/simonw/llm-mlc for accelerated inference?
-
Show HN: LLMs can generate valid JSON 100% of the time
I'm quite impressed with Llama 2 13B - the more time I spend with it the more I think it might be genuinely useful for more than just playing around with local LLMs.
I'm using the MLC version (since that works with a GPU on my M2 Mac) via my https://github.com/simonw/llm-mlc plugin.
TypeChat
-
Fuck You, Show Me the Prompt
Not sure it's related to function calling. GPT4 can do function calling without using the specific function-calling API just by injecting the schema you want into the prompt with directions and asking it to return JSON. It works like >99% of the time. Same with 3.5-turbo.
The problem is these libraries convert pydantic models into json schemas and inject them into the prompt, which uses up like 80% more tokens than just describing the schema using typescript type syntax for example. See https://microsoft.github.io/TypeChat/, where they prompt using typescript type descriptions to get json data from LLMs. It's similar to what we built but with more boilerplate.
-
Semantic Kernel
Semantic Memory (renamed to Kernel Memory - https://github.com/microsoft/kernel-memory) complements SK. Guidance's features are being absorbed into SK, following the departure of that team from Microsoft. Additionally, we have TypeChat (https://github.com/microsoft/TypeChat), which aims to ensure type-safe responses from LLMs. Most features of Autogen are also being integrated into SK, along with Assistants. SK serves as the orchestration engine powering Microsoft Copilots.
- Good LLM Validation Is Just Good Validation
-
Show HN: Symphony – Make functions invokable by GPT-4
I tried TypeChat for my use case and ended up defining functions as typescript data types. This approach sounds much better, and leverages the newer OpenAI function calling, which should be more reliable I would think. Thanks for creating+sharing.
https://microsoft.github.io/TypeChat/
-
Show HN: LLMs can generate valid JSON 100% of the time
That re-prompting error on is what this new Microsoft library does, too: https://github.com/microsoft/TypeChat
Here's their prompt for that: https://github.com/microsoft/TypeChat/blob/c45460f4030938da3...
I think the approach using grammars (seen here, but also in things like https://github.com/ggerganov/llama.cpp/pull/1773 ) is a much more elegant solution.
- TypeChat replaces prompt engineering with schema engineering
-
Introducing TypeChat from Microsoft
I'm very surprised that they're not using `guidance` [0] here.
It not only would allow them to suggest that required fields be completed (avoiding the need for validation [1]) and probably save them GPU time in the end.
There must be a reason and I'm dying to know what it is! :)
[0] https://github.com/microsoft/guidance
[1] https://github.com/microsoft/TypeChat/blob/main/src/typechat...
What are some alternatives?
llm-gpt4all - Plugin for LLM adding support for the GPT4All collection of models
guidance - A guidance language for controlling large language models.
can-ai-code - Self-evaluating interview for AI coders
outlines - Structured Text Generation
llama-gpt - A self-hosted, offline, ChatGPT-like chatbot. Powered by Llama 2. 100% private, with no data leaving your device. New: Code Llama support!
jsonformer - A Bulletproof Way to Generate Structured JSON from Language Models
guidance - A guidance language for controlling large language models. [Moved to: https://github.com/guidance-ai/guidance]
ad-llama - Structured inference with Llama 2 in your browser
ts-patch - Augment the TypeScript compiler to support extended functionality
llama.cpp - LLM inference in C/C++
ai-agents-laravel - Build AI Agents for popular LLMs quick and easy in Laravel