tmc / langchaingo
LangChain for Go, the easiest way to write LLM-based programs in Go
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing tmc/langchaingo in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Summary (README)
Preview🎉 Join our new official Discord community! Connect with other LangChain Go developers, get help and contribute: Join Discord
🦜️🔗 LangChain Go
<img src="https://github.com/codespaces/badge.svg" title="Open in Github Codespace" width="150" height="20">
⚡ Building applications with LLMs through composability, with Go! ⚡
🤔 What is this?
This is the Go language implementation of LangChain.
📖 Documentation
🎉 Examples
See ./examples for example usage.
package main
import (
"context"
"fmt"
"log"
"github.com/tmc/langchaingo/llms"
"github.com/tmc/langchaingo/llms/openai"
)
func main() {
ctx := context.Background()
llm, err := openai.New()
if err != nil {
log.Fatal(err)
}
prompt := "What would be a good company name for a company that makes colorful socks?"
completion, err := llms.GenerateFromSinglePrompt(ctx, llm, prompt)
if err != nil {
log.Fatal(err)
}
fmt.Println(completion)
}
$ go run .
Socktastic
Resources
Join the Discord server for support and discussions: Join Discord
Here are some links to blog posts and articles on using Langchain Go:
- Using Gemini models in Go with LangChainGo - Jan 2024
- Using Ollama with LangChainGo - Nov 2023
- Creating a simple ChatGPT clone with Go - Aug 2023
- Creating a ChatGPT Clone that Runs on Your Laptop with Go - Aug 2023
Contributors
There is a momentum for moving the development of langchaingo to a more community effort, if you are interested in being a maintainer or you are a contributor please join our Discord and let us know.
<a href="https://github.com/tmc/langchaingo/graphs/contributors"> <img src="https://contrib.rocks/image?repo=tmc/langchaingo" /> </a>