gollum
ai-agents-laravel
gollum | ai-agents-laravel | |
---|---|---|
4 | 1 | |
37 | 30 | |
- | - | |
6.0 | 8.2 | |
8 days ago | 7 days ago | |
Go | PHP | |
MIT License | 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.
gollum
-
From slow to SIMD: A Go optimization story
I did a similar optimization via https://github.com/viterin/vek as the SIMD version. Some somewhat unscientific calculations showed a 10x improvement staying in float32: https://github.com/stillmatic/gollum/blob/07a9aa35d2517af8cf...
TBH my takeaway was that it was more useful to use smaller vectors as a representation
-
Agency: Pure Go LangChain Alternative
I like Go a lot for working with OpenAI etc, it's 'just' API calls and Go is great at that. I've opensourced some bits here: https://github.com/stillmatic/gollum -- in particular, function dispatch (given a prompt, return an arbitrary Go struct) is really nice, as is a very fast in-memory KNN index.
-
Introducing TypeChat from Microsoft
I've written a version of this in Golang: https://github.com/stillmatic/gollum/blob/main/dispatch.go
```go
-
FANN: Vector Search in 200 Lines of Rust
I have gotten 10x speedups with SIMD on modern hardware. Goroutines make this actually fairly tricky, as you essentially have to process all the events and then sort the entire array, which is usually the bottleneck. The heap adds a small amount of complexity but is significantly more efficient, feels like good ROI.
https://github.com/stillmatic/gollum/blob/main/vectorstore.g...
ai-agents-laravel
-
Introducing TypeChat from Microsoft
I built and released something really similar to this (but smaller scope) for Laravel PHP this week: https://github.com/adrenallen/ai-agents-laravel
My take on this is, it should be easy for an engineer to spin up a new "bot" with a given LLM. There's a lot of boring work around translating your functions into something ChatGPT understands, then dealing with the response and parsing it back again.
With systems like these you can just focus on writing the actual PHP code, adding a few clear comments, and then the bot can immediately use your code like a tool in whatever task you give it.
Another benefit to things like this, is that it makes it much easier for code to be shared. If someone writes a function, you could pull it into a new bot and immediately use it. It eliminates the layer of "converting this for the LLM to use and understand", which I think is pretty cool and makes building so much quicker!
None of this is perfect yet, but I think this is the direction everything will go so that we can start to leverage each others code better. Think about how we use package managers in coding today, I want a package manager for AI specific tooling. Just install the "get the weather" library, add it to my bot, and now it can get the weather.
What are some alternatives?
CopilotKit - Build in-app AI chatbots 🤖, and AI-powered Textareas ✨, into react web apps. [Moved to: https://github.com/CopilotKit/CopilotKit]
shelby_as_a_service - Production-ready LLM Agents. Just add API keys
ts-patch - Augment the TypeScript compiler to support extended functionality
TypeChat - TypeChat is a library that makes it easy to build natural language interfaces using types.
voy - 🕸️🦀 A WASM vector similarity search written in Rust
zod-gpt - Get structured, fully typed, and validated JSON outputs from OpenAI and Anthropic models.
Weaviate - Weaviate is an open-source vector database that stores both objects and vectors, allowing for the combination of vector search with structured filtering with the fault tolerance and scalability of a cloud-native database.
guidance - A guidance language for controlling large language models. [Moved to: https://github.com/guidance-ai/guidance]