https://github.com/bit8bytes/beago
Get feedback on your code before it hits review.
https://github.com/bit8bytes/beago
golang llms ollama
Last synced: 3 months ago
JSON representation
Get feedback on your code before it hits review.
- Host: GitHub
- URL: https://github.com/bit8bytes/beago
- Owner: bit8bytes
- License: mit
- Created: 2025-03-01T23:03:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-14T18:00:48.000Z (3 months ago)
- Last Synced: 2026-03-15T00:50:18.700Z (3 months ago)
- Topics: golang, llms, ollama
- Language: Go
- Homepage:
- Size: 10.8 MB
- Stars: 9
- Watchers: 0
- Forks: 5
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Maintainers: MAINTAINERS.md
Awesome Lists containing this project
README
# beago: A Go framework for building LLM-powered applications.
[](https://opensource.org/licenses/MIT)  
beago provides composable building blocks for LLM-powered Go applications — pipes for structured output, agents for tool-using reasoning loops, and stores for conversation history. The core library has no external dependencies.
## Core Concepts
- **Pipes** — simple `Input → LLM → Output` pipelines with typed, structured responses
- **Agents** — ReAct (Reasoning + Acting) loops that interleave LLM reasoning with tool execution
- **Stores** — tamper-evident message history with a SHA-256 hash chain, keeping LLMs stateful across turns
- **Tools** — implement the `Tool` interface to give agents new capabilities
## Quick Start
```go
// Pipe: send messages and get structured output
pipe := pipes.New(messages, model, parser)
result, _ := pipe.Invoke(ctx)
```
See [Pipe](/examples/pipes/json/main.go) for full working `pipe` example.
```go
// Agent: reason and act with tools
agent, _ := agents.NewReAct(ctx, model, tools, storage)
agent.Task(ctx, "Use the helloWorld tool with name Beago")
res, _ := runner.New(agent).Run(ctx)
```
See [Agent](/examples/agents/hello/main.go) for full working `agent` example.
## Contributions
Contributions of any kind are welcome! See [Get Involved](/docs/GET-INVOLVED.md) to get started.