@@ -19,12 +19,6 @@ go get github.com/wangle201210/text2sql
1919
2020### 基本用法
2121
22- ``` bash
23- export OPENAI_API_KEY=" sk-******"
24- export OPENAI_MODEL_NAME=" gpt-4o-mini"
25- export OPENAI_BASE_URL=" https://api.openai.com/v1"
26- ```
27-
2822``` go
2923package main
3024
@@ -34,23 +28,31 @@ import (
3428)
3529
3630func main () {
37- client := &text2sql.Text2sql {
38- DbLink: " root:password@tcp(127.0.0.1:3306)/database?charset=utf8mb4&parseTime=True&loc=Local" ,
39- Try: 5 , // 失败时的重试次数
40- ShouldRun: true , // 是否执行生成的SQL
41- Times: 3 , // 同时生成3个SQL,选择最合适的一个
42- // OnlyView: true, // 只查询view结构,使用view提高查询效果
43- }
44-
45- // 将中文问题转换为SQL并执行
46- // sql, result, err := client.Do("王五的openid")
47- sql , result , err := client.Pretty (" 王五的openid" ) // 返回结果可读性更佳
48- if err != nil {
49- panic (err)
50- }
51-
52- fmt.Printf (" 生成的SQL: %s \n " , sql)
53- fmt.Printf (" 执行结果: %v \n " , result)
31+ cfg := &text2sql.Config {
32+ DbLink: " root:password@tcp(127.0.0.1:3306)/database?charset=utf8mb4&parseTime=True&loc=Local" ,
33+ Try: 5 , // 失败时的重试次数
34+ ShouldRun: true , // 是否执行生成的SQL
35+ Times: 3 , // 同时生成3个SQL,选择最合适的一个
36+ // OnlyView: true, // 只查询view结构,使用view提高查询效果
37+ }
38+ newEino , err := eino.NewEino (&openai.ChatModelConfig {
39+ APIKey: os.Getenv (" OPENAI_API_KEY" ), // sk-******
40+ BaseURL: os.Getenv (" OPENAI_BASE_URL" ), // https://api.openai.com/v1
41+ Model: os.Getenv (" OPENAI_MODEL_NAME" ), // gpt-4o-mini
42+ })
43+ if err != nil {
44+ log.Fatalf (" NewEino err: %+v " , err)
45+ return
46+ }
47+ ts := text2sql.NewText2sql (cfg, newEino)
48+ sql , result , err := ts.Pretty (" 王五在2025年1月上旬的餐饮食品类别总额" )
49+ if err != nil {
50+ log.Fatalf (" text2sql err: %+v " , err)
51+ }
52+ fmt.Printf (" sql: %s \n " , sql)
53+ if run {
54+ fmt.Printf (" result: %+v \n " , result)
55+ }
5456}
5557```
5658
0 commit comments