【goframe】(1)API相关接口技术调研,使用新框架goframe非常简单就能实现chatgpt接口调用,同时封装对象结果返回并解析

目录

  • 前言
    • 1,关于goframe
    • 2,使用goframe客户的方法
    • 3,总结

前言


本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/108971807

未经博主允许不得转载。
博主CSDN地址是:https://blog.csdn.net/freewebsys
博主掘金地址是:https://juejin.cn/user/585379920479288
博主知乎地址是:https://www.zhihu.com/people/freewebsystem

1,关于goframe


最近在使用goframe的框架,发现集成了很多新的方法,特别的好用。
组件也是十分的丰富了。

开源项目地址:
项目地址:https://goframe.org/

GoFrame是一款模块化、低耦合设计的开发框架,包含了常用的基础组件和开发工具,既可以作为完整的业务项目框架使用也可以作为独立的组件库使用。我们为大家提供的快速开始章节,主要以完整的业务项目介绍框架的基本入门和使用。关于独立组件库使用,可以查看独立的组件章节介绍。

https://blog.csdn.net/freewebsys/article/details/129698017

2,使用goframe客户的方法


接口文档:
https://goframe.org/pages/viewpage.action?pageId=59864757

使用类型转换:
https://goframe.org/pages/viewpage.action?pageId=17203726

c := g.Client()
就可以访问了,使用的是流式处理方法。
可以直接获得结果的内容。

// 返回content为string类型
content := g.Client().GetContent(ctx, “https://goframe.org”)
以Bytes及Content后缀结尾的请求方法为直接获取返回内容的快捷方法,这些方法将会自动读取服务端返回内容并自动关闭请求连接。*Bytes方法用于获取[]byte类型结果,*Content方法用于获取string类型结果。需要注意的是,如果请求执行失败,返回内容将会为空。

其实很多看着很重复的工作需要封装下,就像。
直接返回字符串即可。

调用chatgpt 代码就变得非常简单了:

package mainimport ("fmt""github.com/gogf/gf/v2/frame/g""github.com/gogf/gf/v2/os/gctx""github.com/gogf/gf/v2/util/gconv"
)// 接口文档:
// https://goframe.org/pages/viewpage.action?pageId=59864757// 使用类型转换:
// https://goframe.org/pages/viewpage.action?pageId=17203726type ChatChoiceMsg struct {Role string `json:"role"`Content string `json:"content"`
}
type ChatChoice struct {Message ChatChoiceMsg `json:"message"`
}
type ChatRes struct {Id string `json:"id"`Object string `json:"object"`Created int64 `json:"created"`Model string `json:"model"`Choices []ChatChoice `json:"choices"`
}var ApiKey string = "xxxx"func main() {c := g.Client()c.SetHeader("Accept", "text/event-stream")c.SetHeader("Content-Type", "application/json")c.SetHeader("Authorization", "Bearer " + ApiKey)question := "介绍大众汽车"params := `{"model": "gpt-3.5-turbo","messages": [{"role": "user", "content": "` + question + `"}]}`fmt.Println(params)// /v1/chat/completionsurl := "https://api.openai.com/v1/chat/completions"// 发送数据out := c.ContentJson().PostContent(gctx.New(), url, params)fmt.Println(out)var chatRes ChatResif err := gconv.Structs(out, &chatRes); err == nil {fmt.Println(chatRes)if len(chatRes.Choices) > 0 {fmt.Println(chatRes.Choices[0].Message.Content)}}else{panic(err)}
}

同时还将结果反序列化了。gconv.Structs 方法可以把json 转换成对象。
然后直接使用对象的属性就可以了。代码还是非常的少的。

3,总结


goframe里面有很多非常实用的工具类,可以非常方便的解决开发中遇到的问题。
类似spring 库和 apache 库,都哟非常丰富的基础类,同时文档非常强大。
可以直接使用即可。

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/108971807

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/2420.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

冰橙GPT chatGPT开放接口使用说明【含连续对话功能和快捷指令接收】

1.请求地址:https://gpt.bcwhkj.cn/api/v2.Gptliu/search 2.请求方式: POST 3.body格式:json 4.请求内容(sse 流式请求,输出效果较好,响应速度快)(非流式请求,可不加stream这…

通过AI工具(ChatGPT接口)生成一字未改的论文,查重率4.2%,可以直接当作论文使用

论文题目:基于AIOT技术的能源控制器的设计以及应用 查重结果:4.2% AI工具国内体验,关注:码视野,回复关键字:1002 一、引言 随着全球经济的快速发展和人口的增长,对能源的需求日益增加。然而&…

使用python调用chatGPT(openai)接口

首先需要安装openai模块 pip install openai其次需要去官网申请一个key 登陆点击右上角头像,选择View API keys,然后点击下图按钮创建key即可。 1、聊天接口调用代码 import os import openaiopenai.api_key "sk-oahsWxJYvJYb6iX 你的key&…

全网最详细中英文ChatGPT接口文档(四)30分钟快速入门ChatGPT——Models模型

30分钟开始使用ChatGPT——Models模型 ModelsOverview 概述GPT-4 Limited betaGPT-3.5Feature-specific models 特定功能的模型Finding the right model 寻找合适的模型DALLE BetaWhisper BetaEmbeddings 嵌入Codex Limited betaModeration 审核GPT-3Model endpoint compatibil…

全网最详细中英文ChatGPT接口文档(五)30分钟快速入门ChatGPT——手把手示例教程:如何建立一个人工智能回答关于您的网站问题,小白也可学

30分钟开始使用ChatGPT——Models模型 How to build an AI that can answer questions about your website 如何建立一个人工智能,回答有关您的网站的问题Getting started 入门Setting up a web crawler 设置Web爬网程序Learn how to build a web crawler 了解如何构…

ChatGPT源码基于OpenAI的GPT-3.5-Turbo接口开发分享

演示地址: 点此进入 主技术栈: 主后端:Node.JS 主前端:React 小程序:Taro或Uniapp APP:ReactNaitve或Uniapp UI:ChatGPT官方克隆 API接口:GPT-3.5-Turbo

chatgpt接口返回参数分析

接口请求使用二进制请求,数据流式返回,即分块(分批次)返回。 问题:一周有几天 请求头 参数详解 参数名称 说明 role 消息发送者的角色,这里为 "assistant"。 id 消息的唯一标识符。 pare…

开发私有chatGPT(四)openai接口文档-快速开始

快速开始 OpenAI 训练了非常擅长理解和生成文本的尖端语言模型。我们的 API 提供对这些模型的访问,可用于解决几乎任何涉及处理语言的任务。 在本快速入门教程中,您将构建一个简单的示例应用程序。 在此过程中,您将学习使用 API 完成任何任务…

学会提问,ChatGPT可以帮你写出高质量论文

前言 ChatGPT 很火,火到大家以为他可以上天入地,上到天文,下到地理无所不能,但实际使用大家是不是会遇到如下的情况。 写论文步骤 今天,我们来探讨下怎样问ChatGPT,才能帮你写出一篇优秀的论文,…

ChatGPT | 分享论文 Rebuttal、Review 时可能会用到的 Prompt

ChatGPT 可以帮助润色学术论文,助力搞科研! 论文 Rebuttal, Review 过程中可能使用的一个 Prompt: Prompt:I want you to act as an English translator, spelling corrector and improver. I will speak to you in any language…

ChatGPT在英文论文润色编辑领域有哪些应用?

ChatGPT(全名Chat Generative Pre-trained Transformer)是美国人工智能研究实验室OpenAI研发的聊天机器人程序产品,于2022年11月发布。 ChatGPT基于人工智能神经网络技术,能够根据与人类聊天的内容进行互动交谈,根据丰…

ChatGPT一出,程序员也要下岗?!这10大职业可能先丢饭碗

【导读】ChatGPT一出,很多人害怕自己的工作会被AI取代。最近,有外媒盘点了最可能被ChatGPT取代10大高危职位。 自从去年11月发布以来,OpenAI的ChatGPT已经被用来写求职信,创作儿童读物,甚至帮助学生作弊。 聊天机器…

[ChatGPT] 从 GPT-3.5 到 GPT-5 的进化之路 | ChatGPT和程序员 : 协作 or 取代

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:逐梦苍穹 ⭐如果觉得文章写的不错,欢迎点个关注一键三连😉有写的不好的地方也欢迎指正,一同进步😁…

ChatGPT干掉程序员?想多了...

GPT-4才诞生没几天,感觉朋友圈已经被这个人工智能刷屏了,大家一边在感叹人工智能行业蓬勃发展的同时,一边又有不少人患上了AI焦虑症。 这其中,以程序员首当其冲。原因无他,只因为GPT-4的惊人的能力和不少大佬的发言。 …

爆红的chatgpt是如何诞生的?程序员要如何使用

大家好,小编来为大家解答以下问题爆红的chatgpt是如何诞生的?,一个有趣的事情,一个有趣的事情程序员要如何使用,现在让我们一起来看看吧! 1、chatGPT是哪个公司做的? Chatgpt (中文&#xff1…

ChatGPT真的能取代程序员吗?

ChatGPT能否取代程序员 目前来说,ChatGPT和其他AI语言模型的主要应用是在自然语言处理、文本生成、对话系统等方面。它们可以通过大量的训练数据和深度学习算法来生成高质量的文本和语言模型,实现一定程度的智能交互。但是,目前的AI技术仍然…

ChatGPT ,能替代程序员吗?

最近朋友圈都在聊一个ai,知乎甚至一度上了热榜,现在已经有540个回答了 好嘛,既然咱也是个程序员,这不得体验一波? 当我火急火燎的点开时 乳化,赤裸裸的乳化! 体验 问题不大,还有闲…

chatgpt对程序员会造成什么影响

16年阿尔法狗大战李世石的时候,全网也是刷屏AI,宣告程序员即将失业。 我的观点一向很明确:写程序将是世界上最后一个消失的工作。 ChatGPT根本不会写程序,它只是在大量人类写的代码基础上进行了总结。如果AI真的会写程序&#xff…

OpenAI发布ChatGPT:程序员瞬间不淡定了

OpenAI发布ChatGPT:程序员瞬间不淡定了 12月1日,OpenAI发布了针对对话场景优化的语言大模型ChatGPT。ChatGPT是InstructGPT的兄弟模型,可以以对话的形式与用户交互,这使得ChatGPT能够回答问题、承认错误、质疑假设、拒绝不当问题…

ChatGPT能否取代程序员?

目录 ChatGPT能否取代程序员?ChatGPT和程序员的工作内容和工作方式ChatGPT和程序员的共同点程序员的优势程序员的实力ChatGPT和程序员的关系结论 惊喜 ChatGPT能否取代程序员? ChatGPT是一种非常普遍的人工智能(AI)系统&#xff…