在生信中利用Chat GPT/GPT4

news2024/12/26 11:20:01

论文链接Ten Quick Tips for Harnessing the Power of ChatGPT/GPT-4 in Computational Biology | Papers With Code

之前在paper with code上比较火的一篇文章,最近要给生科的学长学姐们个分享所以把这个翻了翻,原文自认为废话比较多,于是选了点有用部分的放这给大家学习。

虽然我们主要关注的是当前的ChatGPT/GPT-4模型,但我们相信这些技巧将与该技术的未来迭代以及其他llm(如Meta的LLaMa和Google的Bard)仍会保持相关。

技巧1 :拥抱科技,准备迎接新鲜事物

没啥好说的,下一个

技巧2:提升代码可读性,以及为函数编写文档

简单的提示,如“在此代码中添加解释性注释(Add explanatory comments to this code):”或“为清晰起见重命名变量(Rename the variables for clarity):”,已经可以为代码的未来读者提供了很多的方便。ChatGPT还可以通过在R中生成完整的roxygen2语法和在python中生成完整的文档字符串,从变量名和代码逻辑推断其含义,从而为函数编写文档。开始编写文档的提示示例可以是“Render roxygen2 documentation for the function:”。

技巧3:更高效地写代码

此外,ChatGPT还可以进行多种功能重构。提示如“提取函数以提高清晰度(Extract functions for increased clarity):”或“重写并优化此for循环(Re-write and optimize this for loop):”可以提高代码的模块化,甚至节省计算资源。重构时,重要的是要建立良好的测试以防止引入bug[12]。虽然ChatGPT也可以帮助您设置测试基础设施(提示类似于“为以下函数编写单元测试并帮助我实现它(Write a unit test for the following function and help me implement it)”),但重要的是要仔细检查它生成的内容,以确保它覆盖了它应该覆盖的内容。

在使用ChatGPT和实现完整的LLM应用程序之间的一个折衷方案是通过插件将ChatGPT添加到集成开发环境(ide)中。

例如,目前可以在Visual Studio Code (VSCode)中使用GPT-3.5和GPT-4,并且有开源插件 https://github.com/gencay/vscode-chatgpt

对于使用R和RStudio的生物信息学家,可以选择gptstudioGitHub - MichelNivard/gptstudio: GPT RStudio addins that enable GPT assisted coding, writing & analysis

然而,在该篇论文发布的几个月后又推出了copilot,这个一键绑,不需要api key只需要学生验证,所以更方便。 GitHub Copilot · Your AI pair programmer · GitHub

技巧4:增强数据清洗

数据和元数据有各种格式,虽然ChatGPT不会识别异常值或修复丢失的数据,但它可以为大多数常见任务提供工具建议并提供代码片段。它也可以与Excel合作,提供指导和编写宏。

ChatGPT在处理包含自然语言条目的数据集时最有用。如果你管理一个数据库或重新分析公共数据集,你可能不得不处理提交者输入的不一致的数据。虽然目前的工具不能一致地将数据匹配到唯一标识符(如数据库或本体提供的标识符),但它可以增加更多的一致性,并促进手动或自动生物配置步骤。一个清晰的应用程序是编写正则表达式,提示如“write me regex for R/python/Excel with A pattern that will extract {} from{}”。

ChatGPT可以极大地帮助直接规范化标签,并执行类似人类的复杂自然语言清理,就像在开放字段公式中发现的那样。对于小型数据集,您可以直接在ChatGPT界面中清理数据,并使用诸如“充当表并向该数据集添加一个具有一致标签的新列(Act as a table. Add a new column with consistent labels to this dataset):"之类的提示。对于较大的应用程序,可以使用附加组件,例如Google Sheets的GPT(ChatGPT for Google Sheets and Docs),或者甚至编写直接使用API的代码(参见技巧9)。

技巧5:用ChatGPT来增强数据可视化

数据可视化是计算生物学研究的重要组成部分
ChatGPT可以是一个有价值的工具,帮助创建有效和信息丰富的图形。这个工具的一个显著功能是它精通流行的可视化库,如ggplot2和matplotlib,例如“创建一个log10 Y轴的ggplot2小提琴图(Create a ggplot2 violin plot with a log10 Y axis)”。这种专业知识使它能够帮助用户克服语法挑战,建议新的可视化技术,并增强现有的图形。

虽然我们可能很快就能得到关于图像的直接反馈,但我们仍然可以利用GPT-4解析绘图代码的能力,并在需要改进的地方获得有价值的指导。例如,ChatGPT可以帮助您为图形选择合适的颜色,使色盲人士更容易访问图形,并建议改进可视化布局的方法。一个提示的实际例子,它可以导致你的视觉效果有意义的改进,如“改变我的代码让图形对色盲更友好(Change my code to make the plot color-blind friendly):

技巧6:用聊天技巧提高你的写作水平

在计算生物学中,清晰有效的沟通尤为重要,专家必须能够用数学家、生物学家和计算机科学家都能理解的语言,将复杂的想法传达给具有不同科学背景的同事。ChatGPT提高了文本的清晰度,通过提供新的思路排序方式,如提示“给我提供以下句子的不同版本(Provide me some different versions of the following sentence):”。

ChatGPT还可以帮助重新格式化文本和总结思想,例如提示“将此文本总结为200字的会议摘要(“Summarize this text in a 200-word conference abstract):”。虽然它很少会产生一个你完全喜欢的输出,但它可以打破最初的障碍,帮助克服写作障碍。它还可以通过从自然语言创建项目符号列表并将项目符号列表转换为最终格式来帮助概述文件,从论文到教学计划。

不管你在什么地方使用ChatGPT(或其他语言模型)作为写作工具来提高你的写作,一定要公开它的用法,以防止任何误解。
关于将聊天机器人作为写作辅助工具的道德使用,特别是在出版手稿的背景下,负责任的使用指南正在出现。我们建议研究人员当把ChatGPT用于可发表研究时熟悉讨论,并在使用时查看出版商的指导方针。

技巧7:确保理解或知道如何测试它生成的内容

对于计算编程的初学者来说,不存在的函数或库的建议可能是一个重大障碍,并加强了对人工干预的需求。因此,学习开发人员提供的教程和与之相关的出版物非常重要。当使用ChatGPT来帮助语法时,重要的是只寻求那些你已经学习过并能理解的语法的帮助——或者至少测试一下结果。

技巧8:学习提示工程/设计的基础知识

提示工程/设计包括制作有效沟通的提示、示例、人物角色和目标,以生成适合您目标的响应模板。设置评估指标也很重要,以便在可用token的限制内为模型提供更明确的结果。

一个很好的提示例子是:“ChatGPT,我想了解GATK工具在生物信息学中的使用。您能否简要介绍一下GATK,它的主要应用,以及生物信息学领域常用的GATK套件中的一些流行工具?请包括与这些工具相关的任何优点和限制。(ChatGPT, I'd like to learn about the use of GATK tools in
bioinformatics. Could you provide a brief overview of GATK, its main applications, and some
popular tools within the GATK suite that are commonly used in the field of bioinformatics?
Please include any advantages and limitations associated with these tools.)
”这个提示是有效的,因为它清楚地说明了上下文(生物信息学),指定了主题(GATK工具),概述了所需的信息(概述、应用、流行工具、优势和局限性),并为人工智能提供了一个简洁而集中的问题。

通过提供更多的上下文、细节和具体的目标,好的例子更有可能从ChatGPT中产生相关的和信息丰富的响应,而坏的例子可能导致不太令人满意的结果。在细化的第一个输出之后添加新参数是一种开放的可能性,但是必须谨慎,因为随着对话变得更长、更微妙和更复杂,丢失上下文的风险也会增加。因此,在初始交互中必须优先考虑特异性、客观性和完整性,以减轻错误理解的可能性

技巧9:考虑使用GPT API扩展应用程序

您可以使用API来改进用户友好应用程序的接口,允许用户使用人类语言与您的软件交互,并让GPT将其转换为可执行代码。该API也可以成为您自己工作流中的pipeline的一部分。例如,在文本挖掘和标记化pipeline中,它可用于从文本数据库中提取实体,或根据所需的停止词对文本进行总结。

微调包括对调节系统创造力的四个参数的操作:温度、top_p、frequency_penalty和presence_penalty。温度和top_p参数控制了输出的大胆度和非确定性程度,高值降低了响应在内容和意义上的重复性。frequency_penalty和presence_penalty参数调节输出中记号(单词)重复的可能性,这些参数的值越高,重复的记号就越少。
请注意,再现性是不保证的。然而,微调可能会产生更简洁、更少重复和更简洁的输出。

当输入的文本比web提示框允许的文本大时(约4000个字符),该API也可以提供帮助。可以使用GPT解析大型文档,方法包括LangChain GitHub - hwchase17/langchain: ⚡ Building applications with LLMs through composability ⚡,它能够修改来自不同来源的大量文档,供模型访问,并以更有组织的方式促进响应。

技巧10:不要过于依赖GPT

感觉也是凑数的,不管了

作者为了跟踪这些工具在生物信息学中的新的、创造性的用途,我们建立了一个GitHub存储库,以对相关内容进行众筹GitHub - csbl-br/awesome-compbio-chatgpt: An awesome repository of community-curated applications of ChatGPT and other LLMs im computational biology

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java物流管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

【图书推荐 | 14】后端系列

【赠书活动第十四期 】 图书推荐 本期书籍:后端系列 图书列表 本期图书列表: Spring Cloud 微服务快速上手项目驱动零起点学JavaNode.js 从基础到项目实战Diango Web 开发实例精解Flask Web 全栈开发实战精通Hadoopsmysql 数据库基础与实战应用Neo4j 图谱…

ChatGLM-6B云服务器部署教程

目录 一、准备服务器1.购买服务器2.开机进入终端3.进入终端 二、部署ChatGLM1.执行命令2.本地代理访问地址2.1 结果如下2.2 api接口一样操作 三、Fastapi流式接口1.api_fast.py1.2 将api_fast.py上传到服务器 2.准备插件3.访问地址 博客园地址:https://www.cnblogs.…

【裸机开发】中断系统 —— IRQ 中断服务函数(汇编部分)

IRQ 和前面的Reset 函数不大一样,当一个IRQ中断产生时,我们也不知道这个IRQ中断来自哪个外设,因此,需要先获取到中断ID,随后才会跳转到真正的中断服务函数执行处理逻辑。 整个 IRQ 中断处理可以看做是包含了两个部分&…

CSS查缺补漏之选择器

最近在复盘CSS基础知识,发现很多CSS选择器里面还是大有学问,需要详细总结一番,以备差缺补漏~ 作为CSS基础的一大类别,选择器又分为多种类别,本篇内容默认读者已了解并掌握基础选择器【通配符选择器】、【元素选择器】…

springboot+vue项目之MOBA类游戏攻略分享平台(java项目源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的MOBA类游戏攻略分享平台。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者&#xf…

自动化测试框架Playwright安装以及使用

最近,微软开源了一个非常强大的自动化项目叫 playwright-python 它支持主流的浏览器,包含:Chrome、Firefox、Safari、Microsoft Edge 等,同时支持以无头模式、有头模式运行,并提供了同步、异步的 API,可以…

C++学习——第二节课-输入输出

大家好,我是涵子。今天我们来学习C中的输入输出。 一、电脑中的输入输出 日常生活中常见的电脑、手机、电视机外部接口,也就是I/O(输入/输出)接口部分,其样式、种类较多,不同的接口配置也体现了设备的档次…

SpringBoot整合jwt+redis+随机验证码+Vue的登录功能

一、运行效果展示 !注意:前端的Vue项目中要引入element-ui和axios # npm安装element-ui、axios npm insatll element-ui -S npm install axios -S # 在main中引入 // 引入ElementUI import ElementUI from element-ui import element-ui/lib/theme-chalk…

springboot动态加载json文件

resources下面的配置文件,application文件修改启动会实时加载新的内容 其他的文件属于静态文件,打包后会把文件打入jar里面,修改静态文件启动不会加载新的内容 Resource areacode nre FileSystemResource("config" File.separa…

技术分享——数据安全之数据分类方法小集

背景 2021年6月10日,《中华人民共和国数据安全法》(以下简称“《数安法》”)通过了第十三届全国人民代表大会常务委员会第二十九次会议并予以发布,标志着我国数据安全工作进入到有法可依的新阶段。 本文通过梳理现有的部分法规、…

Fiddler Orchestra从安装到实战演练

上次谈到了Fiddler Orchestra用户指南,这次笔者把自己的实战演练分享大家,闲话少说,步骤如下: 1、根据前面文章《Fiddler Orchestra用户指南》,Fiddler Orchestra客户端和控制器只能运行在至少支持.NET Standard 2.0的…

Redis入门(一)

第1章 NoSQL 1.1 NoSQL数据库 1.1.1 NoSQL是什么 (1)NoSQL(Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。 (2)NoSQL不拘泥于关系型数据库的设计范式,放弃了通用的技术标准&…

MyAQL事务

目录 ----------------------MySQL 事务-------------------------------- 1.事务的概念 2.事务的ACID特点 ●原子性 ●一致性 ●隔离性 事务隔离级别的作用范围分为两种: ●持久性 3.事务控制语句 案例: 4…

【Elacticsearch】 倒排索引的查增删改原理

关联文章:【Elacticsearch】 原理/数据结构/面试经典问题整理_东方鲤鱼的博客-CSDN博客 建立索引的原理 当向协调节点发送请求以索引新文档时,将执行以下操作: 所有在Elasticsearch集群中的节点都包含:有关哪个分片存在于哪个节点…

深度学习入门笔记1--梯度下降之--为什么是负方向--为什么局部下降最快的是负梯度方向

本节目标理解梯度下降的原理,主要围绕以下几个问题展开: 梯度下降法的用途?什么是梯度?为什么是负的梯度为什么局部下降最快的方向就是梯度的负方向。 需要的知识储备:一级泰勒展开公式 向量内积计算公式 1. 梯度下…

Sui主网升级至V1.3.0版本

Sui主网现已升级至V1.3.0版本,升级要点如下所示: 将协议版本更新至12 开始在Narwhal中使用BatchV2,新增VersionedMetadata允许更精细的追踪Narwhal批处理延迟。有关详细信息,请参阅#12178和#12290。 将协议版本更新至13 弃用0…

wtmp日志读取

wtmp日志介绍 之前遇到一个AIX服务器登录不上,但是能ping通的事情。一开始我怀疑是sshd服务坏掉了,但是使用telnet也无法登录。好在这台机器所在的机房就在我隔壁,于是外接显示器,直接上机操作。好在直接通过物理介质还是能登录得…

全球企业KVM贡献榜公布,腾讯云再添1项核心突破

6月14日,在全球虚拟化顶级技术峰会 KVM Forum 上,2023年度全球企业 KVM 开源贡献榜正式发布。腾讯云成为中国唯一连续七年入围的云厂商。 作为云计算的关键底层技术,云厂商需要利用KVM对物理机进行虚拟化,提供云端的池化算力。作为…

如何「假装」自己做过性能测试?

简历: 熟练掌握后端性能、压力测试 面试官: 你们是怎么做性能测试的? 我: 主要是对后端服务模块进行性能测试,我们上一个项目是是一个群聊项目,类似于QQ群,大家可以在一个群里聊天&#xf…