LinGoose is a Go framework for building awesome AI/LLM applications.
- LinGoose is modular — You can import only the modules you need to build your application.
- LinGoose is an abstraction of features — You can choose your preferred implementation of a feature and/or create your own.
- LinGoose is a complete solution — You can use LinGoose to build your AI/LLM application from the ground up.
Did you know? A goose 🪿 fills its car 🚗 with goose-line ⛽!
🚀 Support the project by starring ⭐ the repository on GitHub and sharing it with your friends!
mkdir example
cd example
go mod init example
- Create your first LinGoose application
package main
import (
"context"
"fmt"
"github.com/henomis/lingoose/llm/openai"
"github.com/henomis/lingoose/thread"
)
func main() {
myThread := thread.New().AddMessage(
thread.NewUserMessage().AddContent(
thread.NewTextContent("Tell me a joke about geese"),
),
)
err := openai.New().Generate(context.Background(), myThread)
if err != nil {
panic(err)
}
fmt.Println(myThread)
}
- Install the Go dependencies
go mod tidy
- Start the example application
export OPENAI_API_KEY=your-api-key
go run .
A goose fills its car with goose-line!
If you think you've found a bug, or something isn't behaving the way you think it should, please raise an issue on GitHub.
We welcome contributions, Read our Contribution Guidelines to learn more about contributing to LinGoose
- Anthropic's Claude Integration with Go and Lingoose
- Empowering Go: unveiling the synergy of AI and Q&A pipelines
- Leveraging Go and Redis for Efficient Retrieval Augmented Generation
© Simone Vellei, 2023~time.Now()
Released under the MIT License