-
π Quick Start
Get up and running with GoLangGraph in minutes. Build your first AI agent workflow with just a few lines of code.
-
π Graph Workflows
Design AI workflows as directed graphs. Each node represents a computational unit, edges define execution flow.
-
πΎ Persistence
Built-in support for PostgreSQL, Redis, and memory-based persistence. Perfect for stateful applications.
-
π§ Examples
Comprehensive examples showing real-world usage patterns with Ollama and other LLM providers.
π― What is GoLangGraph?ΒΆ
GoLangGraph is a Go framework for building AI agent workflows with graph-based execution. It provides a clean, type-safe API for creating intelligent agents that can reason, use tools, and execute complex workflows.
π‘ Perfect for: Building AI applications with local LLMs like Ollama, creating RAG systems, and developing intelligent automation tools.
β¨ Key FeaturesΒΆ
-
π Graph-Based Execution
Design workflows as directed graphs with nodes and edges. Build complex logic with simple, composable components.
-
π State Management
Thread-safe state containers with persistence options. Maintain workflow state across executions.
-
π€ AI Agent Framework
Built-in support for Chat, ReAct, and Tool agents. Easy integration with multiple LLM providers.
-
ποΈ Database Integration
Native support for PostgreSQL, Redis, and memory-based persistence. Checkpointing and session management.
-
π§ Built-in Tools
Comprehensive tool library including calculator, web search, file operations, and more.
-
β‘ High Performance
Optimized for production workloads with Go's native concurrency and comprehensive testing.
-
π Type Safety
Full Go type safety with comprehensive error handling. Catch issues at compile time.
-
π³ Production Ready
Docker support, comprehensive testing, and everything you need for production deployment.
π Quick ExampleΒΆ
package main
import (
"context"
"fmt"
"log"
"github.com/piotrlaczkowski/GoLangGraph/pkg/agent"
"github.com/piotrlaczkowski/GoLangGraph/pkg/llm"
"github.com/piotrlaczkowski/GoLangGraph/pkg/tools"
)
func main() {
// Create LLM provider manager
llmManager := llm.NewProviderManager()
// Add Ollama provider
provider, err := llm.NewOllamaProvider(&llm.ProviderConfig{
Endpoint: "http://localhost:11434",
Model: "gemma3:1b",
})
if err != nil {
log.Fatal(err)
}
llmManager.RegisterProvider("ollama", provider)
// Create tool registry
toolRegistry := tools.NewToolRegistry()
// Create agent
config := &agent.AgentConfig{
Name: "chat-agent",
Type: agent.AgentTypeChat,
Model: "gemma3:1b",
Provider: "ollama",
SystemPrompt: "You are a helpful AI assistant.",
Temperature: 0.7,
}
chatAgent := agent.NewAgent(config, llmManager, toolRegistry)
// Execute
ctx := context.Background()
execution, err := chatAgent.Execute(ctx, "Hello! Tell me about Go programming.")
if err != nil {
log.Fatal(err)
}
fmt.Printf("π€ Agent: %s\n", execution.Output)
}
ποΈ Architecture OverviewΒΆ
graph TB
A[π€ User Input] --> B[π€ Agent]
B --> C[π Graph Execution]
C --> D[π Node Processing]
D --> E[π LLM Provider]
D --> F[π§ Tools]
D --> G[πΎ State Management]
G --> H[ποΈ Persistence Layer]
H --> I[π Database]
E --> J[β¨ Response]
F --> J
J --> K[π€ User Output]
style A fill:#e1f5fe
style K fill:#e8f5e8
style B fill:#fff3e0
style C fill:#f3e5f5
style G fill:#fce4ec π― Use CasesΒΆ
-
π€ AI Agents
Build intelligent agents that can reason, plan, and execute tasks using various LLM providers.
-
π RAG Applications
Create Retrieval-Augmented Generation systems with database integration for knowledge retrieval.
-
π€ Multi-Agent Systems
Design workflows where multiple specialized agents collaborate to solve complex problems.
-
π Data Processing
Build intelligent data processing workflows that can adapt and make decisions based on content.
-
π οΈ Automation
Create smart automation systems that can handle exceptions and make intelligent decisions.
π Community & SupportΒΆ
-
β GitHub
Star the project, report issues, and contribute to the codebase. Join our growing community!
-
π Documentation
Comprehensive guides, examples, and API reference to help you build AI workflows.
-
π Issues
Report bugs, request features, and get help from the community. We're here to help!
-
π¬ Discussions
Join discussions about features, usage patterns, and best practices with other developers.
π Why Choose GoLangGraph?ΒΆ
-
β‘ Performance
Built with Go's performance and concurrency in mind. Optimized for production workloads.
-
π¨βπ» Developer Experience
Clean, intuitive API with excellent error handling and debugging tools. Comprehensive examples.
-
π Production Ready
Comprehensive test coverage, CI/CD pipelines, and production deployment examples.
-
π§ Extensible
Easy to extend with custom tools, LLM providers, and persistence backends.
-
π Secure
Built-in security features including input validation and secure credential handling.
-
π Open Source
MIT licensed with an active community. Contribute, customize, and build upon our foundation.
π Ready to Build Your First AI Agent?
Get started with GoLangGraph today and build intelligent AI workflows with Go!
[Get Started Now!](getting-started/quick-start.md){ .md-button .md-button--primary } [View Examples](examples/ollama-integration.md){ .md-button } [GitHub Repository](https://github.com/piotrlaczkowski/GoLangGraph){ .md-button }π Built with β€οΈ by the GoLangGraph Team
β Star us on GitHub β’ π Report Bug β’ π¬ Request Feature
