llm_old/README.md
2024-10-02 14:09:54 +08:00

2.0 KiB

AI大模型低代码工具

命令行工具

Install

go install apigo.cc/ai/llm/llm-cli@latest

Usage

llm-cli -h | help		show usage
llm-cli -e | export		export ai.ts file for develop
llm-cli test.js			run test.js, if not specified, run ai.js
llm-cli -w | watch test.js	run test.js, if .js files changed will be reloaded

Sample

test.js

import {zhipu} from 'llm'
import console from 'console'

function main(...args) {
    let r = zhipu.fastAsk((args.length>0?args[0]:'你好', r => {
        console.print(r)
    })
    console.println()
    return r
}

run sample

llm-cli test.js "你好"

Configure

env.yml

llm:
  openai:
    default:
      apiKey: ...
    aurze:
      apiKey: ...
      endpoint: ...
  zhipu:
    default:
      apiKey: ...

encrypt apiKey

install sskey

go install github.com/ssgo/tool/sskey@latest
sskey -e 'your apiKey'

copy url base64 format encrypted apiKey into llm.yml or env.yml

llm低代码 集成到应用

Install

go get -u apigo.cc/apigo/gojs
go get -u apigo.cc/ai/llm

Usage

package main

import (
	_ "apigo.cc/ai/llm"
	"apigo.cc/apigo/gojs"
	_ "apigo.cc/apigo/gojs/modules"
)

func main() {
    result, err := gojs.Run(`return llm.zhipu.fastAsk('你好', console.print)`, "")
    if err != nil {
        fmt.Println(err.Error())
    } else if result != nil {
        fmt.Println(result)
    }
}

调用 Go API

Install

go get -u apigo.cc/ai/llm

Usage

package main

import (
	"apigo.cc/ai/llm/llm"
	"fmt"
)

func main() {
	zhipu := llm.Get("zhipu")

	r, usage, err := zhipu.FastAsk(llm.Messages().User().Text("你是什么模型").Make(), func(text string) {
		fmt.Print(text)
	})

	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Println()
		fmt.Println("result:", r)
		fmt.Println("usage:", usage)
	}
}