Skip to content

Back-to-code/go-llm

Repository files navigation

Go-LLM

A abstraction layer for communicating with LLM providers.

The following providers and features are supported:

OpenAi Google Ai Studio TogetherAi Inception
Completions ✔️ ✔️ ✔️ ✔️
Structured output (json) ✔️ ✔️ ✔️ ✔️
Structured output (json schema)
Streaming ✔️ ✔️
Tools ✔️ ✔️ ✔️

DO NOT MAKE THIS REPO PRIVATE! This library can now be easially imported from other go project without having to configured annoying shell variables.

Installation

go get -u github.com/Back-to-code/go-llm@latest

Environment Variables

Before using the library, you need to set up API keys for the providers you want to use:

Provider Environment
OpenAI OPENAI_TOKEN
Google AI Studio GOOGLE_AI_STUDIO_KEY
Together AI TOGETHER_AI_TOKEN
Inception INCEPTION_API_KEY

Quick Start

package main

import (
    "fmt"
    "log"
    "os"

    "github.com/Back-to-code/go-llm"
    "github.com/Back-to-code/go-llm/aimodels"
)

func main() {
	  os.SetEnv("OPENAI_TOKEN", "api-token-here")

	  // Look inside the aimodels package for all models that are pre configured
    model := aimodels.ChatGpt5

    // Simple prompt
    response, err := model.PromptSingle("What is the capital of France?", llm.Options{})
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println(response)
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages