lingoose

module
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2024 License: MIT

README ¶

lingoose

🪿 LinGoose Build Status GoDoc Go Report Card GitHub release

What is LinGoose?

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!

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
  1. 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

Connect with the author

Twitter GitHub Linkedin

Join the community

Discord

License

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

Directories ¶

Path Synopsis
examples
legacy
chat
Package chat provides a chat prompt template.
Package chat provides a chat prompt template.
decoder
Package decoder provides a set of decoders to decode the output of a command
Package decoder provides a set of decoders to decode the output of a command
memory/ram
Package ram provides a memory storage that stores data in RAM.
Package ram provides a memory storage that stores data in RAM.
pipeline
Package pipeline provides a way to chain multiple llm executions.
Package pipeline provides a way to chain multiple llm executions.
prompt
Package prompt provides a easy way to format a prompt using the Go template engine.
Package prompt provides a easy way to format a prompt using the Go template engine.
linglet
qa
sql
llm
mock
Package llmmock provides a mock implementation of the LLM interface.
Package llmmock provides a mock implementation of the LLM interface.
openai
Package openai provides a wrapper around the OpenAI API.
Package openai provides a wrapper around the OpenAI API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL