henomis / lingoose

🪿 LinGoose is a Go framework for building awesome AI/LLM applications.
https://lingoose.io
MIT License
654 stars 55 forks source link
ai chatgpt embeddings go golang index llm openai pinecone pipeline prompt vector

lingoose

🪿 LinGoose Build Status GoDoc Go Report Card GitHub release

What is LinGoose?

LinGoose is a Go framework for building awesome AI/LLM applications.

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!

Quick start

  1. Initialise a new go module
mkdir example
cd example
go mod init example
  1. 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)
}
  1. Install the Go dependencies

    go mod tidy
  2. Start the example application

export OPENAI_API_KEY=your-api-key

go run .

A goose fills its car with goose-line!

Reporting Issues

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.

Contributing

We welcome contributions, Read our Contribution Guidelines to learn more about contributing to LinGoose

Blog posts and articles

Connect with the author

Twitter GitHub Linkedin

Join the community

Discord

License

© Simone Vellei, 2023~time.Now() Released under the MIT License