前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Go语言之Golang http请求库HttpRequest[通俗易懂]

Go语言之Golang http请求库HttpRequest[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-09-10 10:01:13
发布于 2022-09-10 10:01:13
3.3K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

Go语言HttpRequest项目源码地址: https://github.com/kirinlabs/HttpRequest

主要实现功能

支持常用的GET、POST、DELETE、PUT等

GET 除了正常请求url,也可以附带”name=flyfreely&address=beijing”或者map[string]interface{} 两种参数,包会自动整合到QueryString中

POST 支持string, []byte, *bytes.Reader, *bytes.Buffer, *strings.Reader, map[string]interface{}等参数; 如果发送JSON请求,几乎可以支持发送所有数据类型。

支持自定义Transport

具有快速构建HeadersCookies设置超时时间请求、耗时、打印请求信息等功能

安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
go get https://github.com/kirinlabs/HttpRequest

发送请求

导入HttpRequest

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import "github.com/kirinlabs/HttpRequest"

实例化:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
req := HttpRequest.NewRequest()

然后,尝试获取某个网页。我们来获取 Github 的公共时间线

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
res,err := req.Get("https://api.github.com/events")

返回一个res的Response对象和err的Error对象

自定义Transport

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var transport *http.Transport

func init() {   
    transport = &http.Transport{
        DialContext: (&net.Dialer{
            Timeout:   30 * time.Second,
            KeepAlive: 30 * time.Second,
            DualStack: true,
        }).DialContext,
        MaxIdleConns:          100, 
        IdleConnTimeout:       90 * time.Second,
        TLSHandshakeTimeout:   5 * time.Second,
        ExpectContinueTimeout: 1 * time.Second,
    }
}

func demo(){
    // Use http.DefaultTransport
    res, err := HttpRequest.Get("http://127.0.0.1:8080")

    // Use custom Transport
    res, err := HttpRequest.Transport(transport).Get("http://127.0.0.1:8080")
}

Post 请求

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//无参请求
res,err := req.Post("https://www.baidu.com")

//发送整数类型
res,err := req.Post("https://www.baidu.com",uint32(100))

//发送[]byte
res,err := req.Post("https://www.baidu.com",[]byte("bytes data"))

//发送*bytes.Reader,*strings.Reader,*bytes.Buffer
data := bytes.NewReader(buf []byte)
res,err := req.Post("https://www.baidu.com",data)
res,err := req.Post("https://www.baidu.com",strings.NewReader("string data"))

//请求体为文本
res,err := req.Post("https://www.baidu.com","hello")


//请求体为Json字符串
res,err := req.Post("https://www.baidu.com","{\"name\":\"github\"}")


//map传参
res.err := req.Post("https://www.baidu.com",map[string]interface{}{
    "name":"github",
    "type":1,
})

也可以不用实例化直接发送请求

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//快速发送Get请求
res,err := HttpRequest.Get("https://www.baidu.com")

res,err := HttpRequest.Get("https://www.baidu.com","title=baidu")


//快速发送Post请求
res,err := HttpRequest.Post("https://www.baidu.com")

//发送整数类型
res,err := req.Post("https://www.baidu.com",uint32(100))

//发送[]byte
res,err := req.Post("https://www.baidu.com",[]byte("bytes data"))

//发送*bytes.Reader,*strings.Reader,*bytes.Buffer
res,err := req.Post("https://www.baidu.com",bytes.NewReader(buf []byte))
res,err := req.Post("https://www.baidu.com",bytes.NewBuffer(buf []byte))
res,err := req.Post("https://www.baidu.com",strings.NewReader("string data"))


res,err := HttpRequest.Post("https://www.baidu.com","title=baidu&type=pdf")

res,err := HttpRequest.Post("https://www.baidu.com",map[string]interface{}{
    "title":"baidu",
})


//快速发送JSON请求
res,err := HttpRequest.JSON().Post("https://www.baidu.com",map[string]interface{}{
    "title":"baidu",
})

res,err := HttpRequest.JSON().Post("https://www.baidu.com",`{"title":"baidu","type":"pdf"}`)

传递URL参数

你想为URL的查询字符串(query string)传递数据。如:手工构建URL,http://www.baidu.com/index?key=value。HttpRequest允许你使用第2个参数以字符串”id=100&name=github”或map[string]interface{}{“id”:10,”name”:”github”}字典的形式把数据传递给URL:

手工传参:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
res,err := req.Get("https://www.baidu.com/index?name=github")

字符串传参:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
res,err := req.Get("https://www.baidu.com/index?name=github","id=100&type=1")

map传参:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
res,err := req.Get("https://www.baidu.com/index?name=github",map[string]interface{}{
    "id":10,
    "type":1,
})

响应内容

能读取服务器响应的内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
res,err := req.Post("https://api.github.com/events")

获取服务器返回的内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
body,err := res.Body()

fmt.Println(string(body))

获取服务器响应状态码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
res.StatusCode()

获取服务器响应Headers:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
res.Headers()

返回一个map[string]string的字典

获取请求响应时间:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
res.Time()

Json响应内容

HttpRequest内置JSON解码,来解析JSON数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//Format the json return value
body, err := res.Json() 

fmt.Println(body)

如果JSON解码失败,会返回一个err错误

定制请求头

如果想为请求添加HTTP头部信息,只需要简单的传一个map给SetHeaders方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
req.SetHeaders(map[string]string{
    "Content-Type":"application/json",
    "Source":"api",
})

注:所有header值必须是字符串,SetHeaders可以多次调用,如果Key重复则会覆盖前面设置的值

BasicAuth 认证

如果想为请求添加HTTP头部信息,只需要简单的传一个map给SetHeaders方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
req.SetBasicAuth("username","password")

CookieJar

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
j, _ := cookiejar.New(nil)
j.SetCookies(&url.URL{
	Scheme: "http",
	Host:   "127.0.0.1:8000",
}, []*http.Cookie{
	&http.Cookie{Name: "identity-user", Value: "83df5154d0ed31d166f5c54ddc"},
	&http.Cookie{Name: "token_id", Value: "JSb99d0e7d809610186813583b4f802a37b99d"},
})
res, err := HttpRequest.Jar(j).Get("http://127.0.0.1:8000/city/list")
defer res.Close()
if err != nil {
	log.Fatalf("Request error:%v", err.Error())
}

Proxy代理

通过代理Ip访问

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
proxy, err := url.Parse("http://proxyip:proxyport")
if err != nil {
	log.Println(err)
}

res, err := HttpRequest.Proxy(http.ProxyURL(proxy)).Get("http://127.0.0.1:8000/ip")
defer res.Close()
if err != nil {
	log.Println("Request error:%v", err.Error())
}
body, err := res.Body()
if err != nil {
	log.Println("Get body error:%v", err.Error())
}
log.Println(string(body))

JSON请求

如果想以json方式发送请求,HttpRequest支持2种方式

设置Header头部信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
req.SetHeaders(map[string]string{"Content-Type":"application/json"})

req.Post("https://www.baidu.com","{\"name\":\"github\"}")

调用req.JSON()内置方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//直接发磅Json字符串参数
res,err := req.JSON().Post("https://www.baidu.com","{\"name\":\"github\"}")

//自动将Map以Json方式发送参数
res,err := req.JSON().Post("https://www.baidu.com",map[string]interface{}{
    "name":"github"
})

Cookie

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
req.SetCookies(map[string]string{
    "name":"jason"
})

超时

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 req.SetTimeout(5)

关闭证书验证

当请求https协议时提示x509: certificate signed by unknown authority时,可关闭证书验证

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 req.SetTLSClient(&tls.Config{InsecureSkipVerify: true})

调试模式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
req.Debug(true)

连接操作

而且还支持连接操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
req := HttpRequest.NewRequest().Debug(true).SetTimeout(5).SetHeader()

Respone对象

获取返回的Response对象

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
resp.Response()

获取返回码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 resp.StatusCode()

获取Body主体信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
resp.Body() 

返回[]byte和error

获取请求耗时

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
resp.Time() string   单位是毫秒

获取真实Url

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
res.Url()

实例代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package main

import (
   "github.com/kirinlabs/HttpRequest"
   "fmt"
   "log"
)

func main() {

   req := HttpRequest.NewRequest()

   // 设置超时时间,不设置时,默认30s
   req.SetTimeout(5)

   // 设置Headers
   req.SetHeaders(map[string]string{
      "Content-Type": "application/x-www-form-urlencoded", //这也是HttpRequest包的默认设置
   })

   // 设置Cookies
   req.SetCookies(map[string]string{
      "sessionid": "LSIE89SFLKGHHASLC9EETFBVNOPOXNM",
   })

   postData := map[string]interface{}{
      "id":    1,
      "title": "csdn",
   }

   // GET 默认调用方法
   resp, err := req.Get("http://127.0.0.1:8000?name=flyfreely")

   // GET 传参调用方法
   // 第2个参数默认为nil,也可以传参map[string]interface{}
   // 第2个参数不为nil时,会把传入的map以query传参的形式重新构造新url
   // 新的URL: http://127.0.0.1:8000?name=flyfreely&id=1&title=csdn

   //resp, err := req.Get("http://127.0.0.1:8000?name=flyfreely", postData)

   // POST 调用方法

   //resp, err := req.Post("http://127.0.0.1:8000", postData)

   if err != nil {
      log.Println(err)
      return
   }

   if resp.StatusCode() == 200 {
      body, err := resp.Body()
      
      if err != nil {
         log.Println(err)
         return
      }
      
      fmt.Println(string(body))
   }

   或者打印Json
   if resp.StatusCode() == 200 {
      body, err := resp.Json()
      
      if err != nil {
         log.Println(err)
         return
      }
      
      fmt.Println(body)
   }
}

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149679.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
2024年6月计算机视觉论文推荐:扩散模型、视觉语言模型、视频生成等
6月还有一周就要结束了,我们今天来总结2024年6月上半月发表的最重要的论文,重点介绍了计算机视觉领域的最新研究和进展。
deephub
2024/07/01
3460
2024年6月计算机视觉论文推荐:扩散模型、视觉语言模型、视频生成等
爆火Block Diffusion引发LLM架构变革?自回归+扩散模型完美结合 | ICLR 2025
扩散模型被广泛应用于生成图像和视频,并且在生成离散数据(如文本或生物序列)任务上的效果也越来越好,与自回归模型相比,扩散模型有望加速「生成过程」并提高模型输出的「可控性」。
新智元
2025/03/27
1240
爆火Block Diffusion引发LLM架构变革?自回归+扩散模型完美结合 | ICLR 2025
ICML 2024 | 扩散语言模型是多才多艺的蛋白质学习者
今天为大家介绍的是来自字节跳动Quanquan Gu团队的一篇论文。这篇论文介绍了扩散蛋白质语言模型(DPLM),这是一种多才多艺的蛋白质语言模型,展示了对蛋白质序列强大的生成和预测能力。首先,作者在一个生成自监督离散扩散概率框架中,使用进化尺度的蛋白质序列进行可扩展的DPLM预训练,这以一种有原则的方式推广了蛋白质的语言建模。在预训练之后,DPLM展示了无条件生成结构上合理、新颖且多样的蛋白质序列的能力。作者进一步证明了所提出的扩散生成预训练使DPLM对蛋白质有更好的理解,成为一种更优的表示学习者,可以针对各种预测任务进行微调,与ESM2相比具有优势。此外,DPLM可以根据各种需求进行定制,展示了其在多种条件生成方面的强大能力:(1)基于部分肽序列的条件生成,例如高成功率地生成功能基序(functional motif)的支架(scaffold);(2)将其他模态作为条件,如结构条件生成用于逆折叠;(3)通过插入式分类器引导,将序列生成引导至所需的特性,例如满足指定的二级结构。
DrugAI
2024/07/05
3270
ICML 2024 | 扩散语言模型是多才多艺的蛋白质学习者
何凯明入职 MIT 首次带队提出Diffusion Loss,借鉴扩散模型思想让自回归模型抛弃矢量量化 !
自回归模型目前是自然语言处理中生成模型的实际解决方案。这些模型基于前面的词作为输入来预测序列中的下一个词或标记。由于语言的离散性质,这些模型的输入和输出处于分类的、离散值的空间。这种普遍的方法导致人们普遍认为自回归模型与离散表示固有地联系在一起。
公众号-arXiv每日学术速递
2024/06/25
1.5K0
何凯明入职 MIT 首次带队提出Diffusion Loss,借鉴扩散模型思想让自回归模型抛弃矢量量化 !
ICCV 2023 | 从14篇论文看如何 改进扩散模型diffusion ?
文本到图像扩散模型,使得生成多样且高质量的图像成为可能。然而,这些图像往往在描绘细节方面不够精细,并且容易出现由于输入文本的歧义导致的错误。缓解这些问题的一种方法是在带类标签的数据集上训练扩散模型。这种方法有两个缺点:(i)监督数据集通常与大规模抓取的文本-图像数据集相比较小,影响生成图像的质量和多样性,或者(ii)输入是一个硬编码标签,而不是自由形式的文本,限制了对生成图像的控制。
公众号机器学习与AI生成创作
2024/01/10
4.5K0
ICCV 2023 | 从14篇论文看如何 改进扩散模型diffusion ?
逐字生成非最优?试试逐「块」生成!Block Diffusion打通了自回归与扩散
如今,扩散模型被广泛用于生成图像和视频,并在生成文本或生物序列等离散数据方面变得越来越有效。从技术上讲,与自回归模型相比,扩散模型具有加速生成和提高模型输出可控性的潜力。
机器之心
2025/03/17
1260
逐字生成非最优?试试逐「块」生成!Block Diffusion打通了自回归与扩散
语言模型新范式:首个8B扩散大语言模型LLaDA发布,性能比肩LLaMA 3
本文由中国人民大学高瓴人工智能学院李崇轩、文继荣教授团队和蚂蚁集团共同完成。共同一作聂燊和朱峰琪是中国人民大学高瓴人工智能学院的博士生,导师为李崇轩副教授,论文为二者在蚂蚁实习期间完成。蚂蚁集团张晓露、胡俊,人民大学林衍凯、李崇轩为共同项目负责人。李崇轩副教授为唯一通讯作者。LLaDA 基于李崇轩课题组的前期工作 RADD [1] 和 SMDM [2]。目前这两篇论文均已被 ICLR2025 接收。
机器之心
2025/02/19
1550
语言模型新范式:首个8B扩散大语言模型LLaDA发布,性能比肩LLaMA 3
每周AI论文速递(240603-240607)
虽然 Transformer 是深度学习在语言建模成功的主要架构,但诸如 Mamba 之类的状态空间模型 (State-Space Models, SSM) 最近已被证明在小到中等规模上能够匹敌甚至超过 Transformer。我们展示了这些模型家族实际上关系非常紧密,并开发了一个丰富的理论框架,通过对一类研究良好的结构化半可分解矩阵进行各种分解,将 SSM 与注意力变体联系起来。我们的状态空间对偶 (State Space Duality, SSD) 框架使我们能够设计出一种新架构 (Mamba-2),其核心层是对 Mamba 选择性 SSM 的改进,使速度提高了 2-8 倍,同时在语言建模方面继续与 Transformer 竞争。
叶子的技术碎碎念
2025/04/08
500
每周AI论文速递(240603-240607)
每周AI论文速递(240401-240405)
我们推出了 Jamba,这是一种基于创新的混合 Transformer-Mamba 混合专家 (MoE) 架构的大型基础语言模型。Jamba 特别地将 Transformer 和 Mamba 层交替布置,兼顾了这两种模型体系的优势。在部分层中融入了 MoE 技术,以扩大模型容量,同时确保参数的活跃使用保持在可控范围内。这种灵活的架构支持针对特定资源和目标的配置。在我们实施的特定配置中,成功构建了一个强大的模型,该模型能够在单个 80GB GPU 上运行。Jamba 在大规模构建时,相比传统 Transformer,提供了更高的吞吐量和更小的内存占用,并在标准语言模型基准测试和长文本评估中展现了卓越性能。值得一提的是,该模型在长达 256K token 的上下文中显示出了强劲的性能。我们对如何结合 Transformer 和 Mamba 层,以及如何混合不同的专家进行了深入研究,并发现其中某些决策对大规模建模至关重要。我们还发现了 Jamba 在训练和评估过程中展现出的几个有趣特性,并计划发布不同消融测试的检查点,以促进对这种新型架构的进一步探索。我们将 Jamba 实现的权重以宽松的许可证形式公开提供。
叶子的技术碎碎念
2025/04/08
740
每周AI论文速递(240401-240405)
利用大型语言模型和扩散模型大规模生成视觉最小变化数据,提升VLMs的细粒度理解能力 !
细粒度地理解目标、属性及其关系对于视觉-语言模型(VLMs)有效泛化到新的、未见过的场景和构图至关重要。以往的研究如ARO [40] 和 Sugarcrepe [8],强调了VLMs在这一领域的不足,主要关注于理解两个非常相似的标题之间的细粒度差异——一个人工编写的标题和自动生成的硬负例2标题,其中硬负例标题与原标题仅在目标、属性或两个目标之间的关系上有所不同。虽然可以通过基于规则的方法合成标题的硬负例,但为图像合成这样的硬负例则非常具有挑战性。
AIGC 先锋科技
2024/07/31
3510
利用大型语言模型和扩散模型大规模生成视觉最小变化数据,提升VLMs的细粒度理解能力 !
10月发布的5篇人工智能论文推荐
由于现有基准和指标的限制,在开放式环境中评估大型语言模型(llm)是一项具有挑战性的任务。为了克服这一挑战,本文引入了微调llm作为可扩展“法官”的概念,称为JudgeLM,这样可以在开放式基准场景中有效地评估llm。该方法结合了大量高质量的法官模型数据集,包括不同的种子任务、LLM生成的响应和GPT-4的详细判断,从而为LLM评估的未来研究奠定了基础。JudgeLM作为一种可扩展的语言模型法官,其一致性水平超过90%,超过了人与人之间的一致性。该模型在处理各种任务时也表现出适应性。该分析解决了LLM判断微调固有的偏差,并介绍了增强不同情况下模型一致性的方法,从而增强了JudgeLM的可靠性和灵活性。
deephub
2023/11/06
2760
10月发布的5篇人工智能论文推荐
多模态扩散模型开始爆发,这次是高速可控还能学习推理的LaViDa
近段时间,已经出现了不少基于扩散模型的语言模型,而现在,基于扩散模型的视觉-语言模型(VLM)也来了,即能够联合处理视觉和文本信息的模型。今天我们介绍的这个名叫 LaViDa,继承了扩散语言模型高速且可控的优点,并在实验中取得了相当不错的表现。
机器之心
2025/06/10
130
多模态扩散模型开始爆发,这次是高速可控还能学习推理的LaViDa
扩散模型的多元化应用:药物发现、文本生成、时间序列预测等
AlphaFold3 是 DeepMind 开发的一款蛋白质结构预测软件,它在AlphaFold2的基础上进行了改进。其中最主要的一个改进就是引入了扩散模型,这使得扩散模型不仅仅可以应用于文生图,其实扩散模型早已经在各个领域中都又所发展,今天我们就来研究一下扩散模型的多元化应用。
deephub
2024/05/20
3670
扩散模型的多元化应用:药物发现、文本生成、时间序列预测等
2024年5月计算机视觉论文推荐:包括扩散模型、视觉语言模型、图像编辑和生成、视频处理和生成以及图像识别等各个主题
我们今天总结下2024年5月发表的最重要的论文,重点介绍了计算机视觉领域的最新研究和进展,包括扩散模型、视觉语言模型、图像编辑和生成、视频处理和生成以及图像识别等各个主题。
deephub
2024/06/03
4380
2024年5月计算机视觉论文推荐:包括扩散模型、视觉语言模型、图像编辑和生成、视频处理和生成以及图像识别等各个主题
DreamLLM:多功能多模态大型语言模型,你的DreamLLM~
今天为大家介绍西安交大,清华大学、华中科大联合MEGVII Technology的一篇关于多模态LLM学习框架的论文,名为DREAMLLM。
zenRRan
2023/09/26
1.8K0
DreamLLM:多功能多模态大型语言模型,你的DreamLLM~
Facebook最新语言模型XLM-R:多项任务刷新SOTA,超越单语BERT
Facebook AI近日发布一个名为XLM-R的新模型,使用100种语言、2.5 TB文本数据进行训练,在四项跨语言理解基准测试中取得了迄今最好的结果。
新智元
2019/11/12
1.1K0
Facebook最新语言模型XLM-R:多项任务刷新SOTA,超越单语BERT
思维的扩散,扩散语言模型中的链式思考推理
今天为大家介绍的是来自Lingpeng Kong团队的一篇论文。扩散模型在文本处理中获得了广泛关注,与传统的自回归模型相比,它们提供了许多潜在优势。作者在这项工作中探索了扩散模型与链式思考(Chain-of-Thought, CoT)的集成,CoT是一种在自回归语言模型中提高推理能力的成熟技术。
DrugAI
2024/03/26
3010
思维的扩散,扩散语言模型中的链式思考推理
Nat. Mach. Intell. | 综述:Transformer与基因组语言模型
今天为大家介绍的是来自加拿大多伦多大学Bo Wang团队的一篇论文。基于transformer深度学习架构的大型语言模型已经彻底改变了自然语言处理领域。受人类语言与基因组生物学代码之间类比关系的启发,研究人员已开始基于transformer及相关架构开发基因组语言模型(gLMs)。本综述探讨了transformer和语言模型在基因组学中的应用。作者调查了适合使用gLMs的基因组学开放性问题,并论证了对这些问题使用gLMs和transformer架构的理由。作者讨论了gLMs通过无监督预训练任务对基因组进行建模的潜力,特别关注零样本和少样本学习的能力。作者探索了transformer架构的优势和局限性,以及当前gLMs更广泛的优势和局限性。此外,基于目前的研究趋势,作者思考了超越transformer架构的基因组建模的未来。本综述可作为对transformer和语言模型在基因组数据领域感兴趣的计算生物学家和计算机科学家的指南。
DrugAI
2025/04/04
1890
Nat. Mach. Intell. | 综述:Transformer与基因组语言模型
7 Papers | CoRL 2022最佳论文;语言模型生成自然界没有的蛋白质
机器之心 & ArXiv Weekly  参与:杜伟、楚航、罗若天 本周论文包括 FAIR 公布的最新研究,发现 ESM2 语言模型通过学习深层语法,就能生成天然蛋白质以外的新蛋白质,并可以编程生成复杂和模块化的蛋白质结构;机器人顶会 CoRL 2022 奖项公布。 目录 Language models generalize beyond natural proteins A high-level programming language for generative protein design DOC:
机器之心
2023/03/29
4330
7 Papers | CoRL 2022最佳论文;语言模型生成自然界没有的蛋白质
CVPR 2024 | 可控文生图11篇汇总!基于扩散模型diffusion的text-to-image
3D资产生成正受到大量关注,受到最近文本引导的2D内容创建成功的启发,现有的文本到3D方法使用预训练文本到图像扩散模型来解决优化问题,或在合成数据上进行微调,这往往会导致没有背景的非真实感3D物体。
公众号机器学习与AI生成创作
2024/04/18
3.1K0
CVPR 2024 | 可控文生图11篇汇总!基于扩散模型diffusion的text-to-image
推荐阅读
2024年6月计算机视觉论文推荐:扩散模型、视觉语言模型、视频生成等
3460
爆火Block Diffusion引发LLM架构变革?自回归+扩散模型完美结合 | ICLR 2025
1240
ICML 2024 | 扩散语言模型是多才多艺的蛋白质学习者
3270
何凯明入职 MIT 首次带队提出Diffusion Loss,借鉴扩散模型思想让自回归模型抛弃矢量量化 !
1.5K0
ICCV 2023 | 从14篇论文看如何 改进扩散模型diffusion ?
4.5K0
逐字生成非最优?试试逐「块」生成!Block Diffusion打通了自回归与扩散
1260
语言模型新范式:首个8B扩散大语言模型LLaDA发布,性能比肩LLaMA 3
1550
每周AI论文速递(240603-240607)
500
每周AI论文速递(240401-240405)
740
利用大型语言模型和扩散模型大规模生成视觉最小变化数据,提升VLMs的细粒度理解能力 !
3510
10月发布的5篇人工智能论文推荐
2760
多模态扩散模型开始爆发,这次是高速可控还能学习推理的LaViDa
130
扩散模型的多元化应用:药物发现、文本生成、时间序列预测等
3670
2024年5月计算机视觉论文推荐:包括扩散模型、视觉语言模型、图像编辑和生成、视频处理和生成以及图像识别等各个主题
4380
DreamLLM:多功能多模态大型语言模型,你的DreamLLM~
1.8K0
Facebook最新语言模型XLM-R:多项任务刷新SOTA,超越单语BERT
1.1K0
思维的扩散,扩散语言模型中的链式思考推理
3010
Nat. Mach. Intell. | 综述:Transformer与基因组语言模型
1890
7 Papers | CoRL 2022最佳论文;语言模型生成自然界没有的蛋白质
4330
CVPR 2024 | 可控文生图11篇汇总!基于扩散模型diffusion的text-to-image
3.1K0
相关推荐
2024年6月计算机视觉论文推荐:扩散模型、视觉语言模型、视频生成等
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • 安装:
  • 发送请求
  • 自定义Transport
  • 传递URL参数
  • 响应内容
  • Json响应内容
  • 定制请求头
  • BasicAuth 认证
  • CookieJar
  • Proxy代理
  • JSON请求
  • Cookie
  • 超时
  • 关闭证书验证
  • 调试模式
  • 连接操作
  • Respone对象
  • 实例代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档