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

137 lines
2.0 KiB
Markdown

# AI大模型低代码工具
## 命令行工具
### Install
```shell
go install apigo.cc/ai/llm/llm-cli@latest
```
### Usage
```shell
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
```javascript
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
```shell
llm-cli test.js "你好"
```
### Configure
#### env.yml
```yaml
llm:
openai:
default:
apiKey: ...
aurze:
apiKey: ...
endpoint: ...
zhipu:
default:
apiKey: ...
```
#### encrypt apiKey
install sskey
```shell
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](https://apigo.cc/ai/llm) 和 [低代码](https://apigo.cc/apigo/gojs) 集成到应用
### Install
```shell
go get -u apigo.cc/apigo/gojs
go get -u apigo.cc/ai/llm
```
### Usage
```go
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
```shell
go get -u apigo.cc/ai/llm
```
### Usage
```go
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)
}
}
```