Our great sponsors
-
agency
🕵️♂️ Library designed for developers eager to explore the potential of Large Language Models (LLMs) and other generative AI through a clean, effective, and Go-idiomatic approach. (by neurocult)
-
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.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I would, at the very least, wrap the errors being returned inside the process function https://github.com/neurocult/agency/blob/14b14e50a7570189388...
Or, I suppose the user must handle exception behavior in their custom `OperationHandler`
You might be interested in https://github.com/tmc/langchaingo which adheres to some of the conceptual modeling in langchain.
https://github.com/langchain-ai/langchain/blob/master/libs/l...
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.
Unfortunately, you're using sashabaranov/go-openai, which has different api behavior than the official langchain python package [0].
I was hoping this would be a drop in replacement for langchain (so DS ppl can code in python and gophers can port it to production).
[0] - https://github.com/sashabaranov/go-openai#why-dont-we-get-th...
I'm using Semantic Kernel (https://github.com/microsoft/semantic-kernel) and it's really nice. Makes building more complex workflows really simple without sacrificing control.
A bunch of examples (https://github.com/microsoft/semantic-kernel/blob/main/dotne...) for how to handle just about anything you need to do with OAI with a lot less boilerplate.
This is cool -- I wrote something a bit similar here but uses just raw Go as the source input: https://github.com/tmc/go2oapi
Indeed, after being frustrated with existing frameworks, 7 months ago, we started buidling Langroid[1] Multi-Agent LLM framework. It has an elegant Inter-agent orchestration mechanism[2], among many other things. We’ve taken a measured approach to avoid bloat and excess abstractions. We have a company using it in production to assist contact-center/customer-support agents.
[1] https://github.com/langroid/langroid
From the README:
Langroid is an intuitive, lightweight, extensible and principled Python framework to easily build LLM-powered applications, from ex-CMU and UW-Madison researchers. You set up Agents, equip them with optional components (LLM, vector-store and tools/functions), assign them tasks, and have them collaboratively solve a problem by exchanging messages.
[2] Docs on Task Delegation https://langroid.github.io/langroid/quick-start/multi-agent-...