EdgeGPT-Go 项目使用教程

EdgeGPT-Go 项目使用教程

EdgeGPT-GoEdgeGPT-Go: Reverse engineered API of Microsoft's Bing Chat AI for Golang with GRPC, CLI, Library interface and cookie manager项目地址:https://gitcode.com/gh_mirrors/ed/EdgeGPT-Go

1. 项目的目录结构及介绍

EdgeGPT-Go 项目的目录结构如下:

EdgeGPT-Go/
├── README.md
├── LICENSE.md
├── go.mod
├── go.sum
├── main.go
├── chat-bot/
│   ├── chat-bot.go
│   └── ...
├── cli/
│   ├── cli.go
│   └── ...
├── common/
│   ├── common.go
│   └── ...
├── config/
│   ├── config.go
│   └── ...
├── services/
│   ├── services.go
│   └── ...
└── terminal/
    ├── terminal.go
    └── ...

目录结构介绍

  • README.mdLICENSE.md:项目的说明文档和许可证文件。
  • go.modgo.sum:Go 模块文件,用于管理项目的依赖。
  • main.go:项目的入口文件。
  • chat-bot/:包含与聊天机器人相关的代码。
  • cli/:包含命令行接口相关的代码。
  • common/:包含通用功能和工具代码。
  • config/:包含配置文件和配置管理代码。
  • services/:包含服务相关的代码。
  • terminal/:包含终端交互相关的代码。

2. 项目的启动文件介绍

项目的启动文件是 main.go,它是整个项目的入口点。以下是 main.go 的主要内容:

package main

import (
    "log"
    "github.com/pavel-one/EdgeGPT-Go"
)

func main() {
    s := EdgeGPT.NewStorage()
    gpt, err := s.GetOrSet("any-key")
    if err != nil {
        log.Fatalln(err)
    }

    // 发送异步请求
    mw, err := gpt.AskAsync("Hi, you're alive!")
    if err != nil {
        log.Fatalln(err)
    }
    go mw.Worker()

    // 处理响应
    for range mw.Chan {
        log.Println(mw.Answer.GetAnswer())
        log.Println(mw.Answer.GetType())
        log.Println(mw.Answer.GetSuggestions())
        log.Println(mw.Answer.GetMaxUnit())
        log.Println(mw.Answer.GetUserUnit())
    }

    // 发送同步请求
    as, err := gpt.AskSync("Show an example of sockets in golang gorilla")
    if err != nil {
        log.Fatalln(err)
    }
    log.Println(as.Answer.GetAnswer())
}

启动文件介绍

  • main 函数是程序的入口点。
  • 首先创建了一个存储实例 s,并从中获取或设置一个 GPT 实例 gpt
  • 发送一个异步请求并启动一个工作线程来处理响应。
  • 处理异步请求的响应并打印相关信息。
  • 发送一个同步请求并打印响应。

3. 项目的配置文件介绍

项目的配置文件位于 config/ 目录下,主要文件是 config.go。以下是 config.go 的主要内容:

package config

import (
    "os"
    "log"
)

type Config struct {
    CONVERSATION_ENDPOINT string
    COOKIES_PATH          string
    PORT                  string
}

func LoadConfig() *Config {
    return &Config{
        CONVERSATION_ENDPOINT: os.Getenv("CONVERSATION_ENDPOINT"),
        COOKIES_PATH:          os.Getenv("COOKIES_PATH"),
        PORT:                  os.Getenv("PORT"),
    }
}

func (c *Config) Validate() {
    if c.CONVERSATION_ENDPOINT == "" {
        log.Fatal("CONVERSATION_ENDPOINT is not set")
    }
    if c.COOKIES_PATH == "" {
        log.Fatal("COOKIES_PATH is not set")
    }
    if c.PORT == "" {
        log.Fatal("PORT is not set")
    }
}

EdgeGPT-GoEdgeGPT-Go: Reverse engineered API of Microsoft's Bing Chat AI for Golang with GRPC, CLI, Library interface and cookie manager项目地址:https://gitcode.com/gh_mirrors/ed/EdgeGPT-Go

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伏葵飚Anastasia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值