Agency: Pure Go LangChain Alternative

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • 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)

  • 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`

  • langchaingo

    LangChain for Go, the easiest way to write LLM-based programs in Go

  • You might be interested in https://github.com/tmc/langchaingo which adheres to some of the conceptual modeling in langchain.

  • 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.

    InfluxDB logo
  • langchain

    🦜🔗 Build context-aware reasoning applications

  • https://github.com/langchain-ai/langchain/blob/master/libs/l...

  • gollum

    Production grade LLM-ops in Golang (by stillmatic)

  • 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.

  • go-openai

    OpenAI ChatGPT, GPT-3, GPT-4, DALL·E, Whisper API wrapper for Go

  • 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...

  • semantic-kernel

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

  • 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.

  • go2oapi

    Go to OpenAPI converter

  • This is cool -- I wrote something a bit similar here but uses just raw Go as the source input: https://github.com/tmc/go2oapi

  • 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.

    WorkOS logo
  • langroid

    Harness LLMs with Multi-Agent Programming

  • 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-...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts