首页 >>  正文

函数题目及答案

来源:baiyundou.net   日期:2024-09-26

未来几个月或者几年内,真正出现差异化的将是开发人员的生产力。对于积极地将人工智能融入到工作流程的工程师来说,这将是一个巨大的优势。

原文链接:https://kadekillary.work/posts/1000x-eng/

未经授权,禁止转载!

者 | 弯月责编 | 王子彧

出品 | CSDN(ID:CSDNnews)

几千年来,人们一直在四处寻找 10 倍速工程师。不幸的是,由于通货膨胀的影响,如今 10 倍速工程师已经不够了,我们需要更大的收益、更大的胜利、更多的代码、更多的 PR、更少的 linting 等等……因此,在这篇文章中,我将介绍如何利用 OpenAI 的 API 提供一系列命令行包装函数,大幅提升工作效率。

首先,你需要一个 OpenAI API 密钥。为此,你需要注册 OpenAI 账号(https://openai.com/blog/openai-api)。

注意,我不使用 bash 或 Mac 的 zsh。我使用的是 Fish。但实际上使用哪种命令行工具并不重要,你也可以试试看在 bash 或 zsh。

下面,我们开始。

Hey GPT

大语言模型能够提高专业开发人员的工作效率,GitHub Copilot 已经证明了这个方向的可行性。这意味着开发人员不必担心未来的工作前景,且软件的生产与分发方式不会发生剧烈的变化。

然而,大语言模型的影响力不仅于此。大语言模型将成为专业程序员的工具,但过于关注狭隘的用途可能会导致我们错失未来推动更大变化的潜力。

我们需要做的第一件事是,获取我们可能遇到的每个问题的答案。

# model: gpt-4 is in private beta (have to get from waitlist)# model: gpt-3.5-turbo (if you don't have access)function hey_gpt set prompt \\'(echo $argv | string join ' ')\\' set gpt (curl https://api.openai.com/v1/chat/completions -s \\ -H "Content-Type: application/json" \\ -H "Authorization: Bearer $OPENAI_KEY" \\ -d '{ "model": "gpt-4", "messages": [{"role": "user", "content": "'$prompt'"}], "temperature": 0.7, "stream": true }') for text in $gpt if test $text = 'data: [DONE]' break else if string match -q --regex "role" $text continue else if string match -q --regex "content" $text echo -n $text | string replace 'data: ' '' | jq -r -j '.choices[0].delta.content' else continue end endend

注意,如果你想复制上述代码的话,

需要安装 jq(https://ravilabio.info/notes/unix/jq.html)。

我不打算深入介绍模型参数的微调,更多相关内容,请点击这里(https://platform.openai.com/docs/api-reference/chat/create)。

此处,我给这个函数起了个别名:h,为的是简化输入:

好,下我们来尝试一点有用的功能。

Data GPT

我发现自己最常使用的一种模式是:提示+数据。

function data_gpt -a prompt data set prompt_input (echo "$prompt: $data" | string join ' ') curl https://api.openai.com/v1/chat/completions -s \\ -H "Content-Type: application/json" \\ -H "Authorization: Bearer $OPENAI_API_KEY" \\ -d '{ "model": "gpt-4", "messages": [{"role": "user", "content": "'$prompt_input'"}], "temperature": 0.7 }' | jq -r '.choices[0].message.content'end

生成的数据集在这里:

https://gist.githubusercontent.com/kadekillary/8c31580c6a339e476ed5b1a92b5c2875/raw/9d98452b688fd1d9feeb37551850294cc8df6580/nba.csv

显然,这里的用例非常广泛。我还尝试了另一个版本,可以读取管道的输入,但转义过程很混乱,现在写入文件和 cat 似乎更整洁了。

到目前为止,这些示例与使用 ChatGPT 获得的体验非常相似。但也存在一些差异:

1.我发现通过命令行拿 GPT 做实验更方便;

2.在其他命令中使用这些功能的能力,例如可以结合 GitHub 的 CLI 或 Jira CLI;

3.最后,你还可以链接多个调用,与使用 LangChain 等工具的感觉一样。

IMG GPT

最后这个例子是创建图像。

function img_gpt -a prompt set create_img (curl https://api.openai.com/v1/images/generations -s \\ -H "Content-Type: application/json" \\ -H "Authorization: Bearer $OPENAI_API_KEY" \\ -d '{ "prompt": "'$prompt'", "n": 1, "size": "1024x1024" }') echo $create_img | jq set url (echo $create_img | jq -r '.data[0].url') set rand_num (random 1 1000000) curl -s $url -o img-"$rand_num".pngend

生成图像如下:

openai edits api

还有一个有用的例子是代码编辑。基本可以实现目标:修改或编辑代码,提高运行时的复杂性,重写为单行指令,添加文档字符串等等。但是,我不打算使用 fish 为其生成包装器,而是使用自己编写的代码:

function openai_edits_api h 'can you generate a golang script that reads from stdin and sends that to the OpenAI Code Edits API endpoint - include only the code nothing else' | string replace '```' '' > openai_edits_api.go h 'can you generate the commands to build and run the golang script - only include the commands' | string replace '```' '' > openai_edits_api.sh data_gpt 'can you generate some tests for the following golang script' (cat openai_edits_api.go | string collect) | string replace '```' '' > openai_edits_api_test.go data_gpt 'can you generate a makefile for a golang project with the following files' (ls) | string replace '```' '' > Makefileend

看上去有点混乱,但经过基本的整理,你至少可以完成90%的工作。

总结

最后,我们需要考虑的一件事是,这只是一个开端。最近,OpenAI 宣布了插件,无疑是让 ChatGPT 如虎添翼。我认为,未来几个月或者几年内,真正出现差异化的将是开发人员的生产力。对于积极地将人工智能融入到工作流程的工程师来说,这将是一个巨大的优势。我认为,即将出现一种快速原型制作与模拟相结合的范例,帮助我们隔离和测试项目的各个组件。我不认为,程序员会被取代,更多的是提供有趣的新方法来尝试和解决更模糊领域更大的问题。

我希望通过本文,能让你对潜在的新工作流程和效率的提升有所了解。

关于评论

评论1:只是代码写得快最多让你成为 5 倍速工程师。找几个写代码快的人很容易。

软件行业中的超高生产力是判断哪些问题需要解决。Richard Hipp 想的不是如何用 golang 订外卖,而是怎样更有效的存储数据。这并不是 ChatGPT 能解决的编程问题。如果 ChatGPT 不能完全解决这个问题,那就是很小的生产力提升, 因为最难的部分在于如何表述问题。

代码写得快,对于高效率工程师来说并不是需要解决的问题。ChatGPT 是个很棒的工具,几年之内我们也都会用它,它会改变一切。但它并不能成为经验丰富的工程师的对手。

评论2:同感,作为开发人员,我的工作是维护已有的系统,大部分工作内容都是决定哪些工作值得做、发掘或收集知识、找出修改哪些代码可以用最小的代价换取最大的成功。

许多时候还需要和客户或非技术人员讨论,判断现有功能能否满足他们的需求。

我一直在观察这次的 AI 热潮,而且一直不理解——我很怀疑,也许 GPT 可以分析成百上千个项目然后告诉我该做什么,甚至会让我把一些私有代码复制粘贴到我自己的项目中,但这并非我所愿。

也许它在编程的一小部分领域中效果不错,但同样,我并不觉得这与阅读文档并生成样板代码有什么区别。而且我对于它能改进代码也不感兴趣,毕竟让它改进代码的前提是你要提出正确的问题,而提出正确的问题才是工作中最难的部分,敲代码反而非常简单。

","gnid":"9fc33eb234795adf4","img_data":[{"flag":2,"img":[{"desc":"","height":"80","s_url":"https://p0.ssl.img.360kuai.com/t013d73ffee4a20366b_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t013d73ffee4a20366b.gif","width":"640"},{"desc":"","height":"90","title":"","url":"https://p0.ssl.img.360kuai.com/t01950f7ba07b8a8cf4.jpg","width":"705"},{"desc":"","height":"212","title":"","url":"https://p0.ssl.img.360kuai.com/t018f64a2fb49104364.jpg","width":"697"},{"desc":"","height":"515","title":"","url":"https://p0.ssl.img.360kuai.com/t01948266165dab0fa4.jpg","width":"699"},{"desc":"","height":"78","title":"","url":"https://p0.ssl.img.360kuai.com/t01c5015d6942a7a285.jpg","width":"745"},{"desc":"","height":"484","title":"","url":"https://p0.ssl.img.360kuai.com/t01d7635edd999d40b9.jpg","width":"675"},{"desc":"","height":"342","title":"","url":"https://p0.ssl.img.360kuai.com/t012298fc3185bb0359.jpg","width":"655"},{"desc":"","height":"505","title":"","url":"https://p0.ssl.img.360kuai.com/t0143faf084f351f22e.jpg","width":"658"},{"desc":"","height":"148","title":"","url":"https://p0.ssl.img.360kuai.com/t01d83bdb4ccf4fe991.jpg","width":"681"},{"desc":"","height":"327","title":"","url":"https://p0.ssl.img.360kuai.com/t016676024de5cc29e9.jpg","width":"673"},{"desc":"","height":"619","title":"","url":"https://p0.ssl.img.360kuai.com/t01661b55cf042d4f16.jpg","width":"619"},{"desc":"","height":"80","s_url":"https://p0.ssl.img.360kuai.com/t018e6f0fcf6c9df4ee_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t018e6f0fcf6c9df4ee.gif","width":"960"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1681263433000,"pure":"","rawurl":"http://zm.news.so.com/e7d50e356875ad599a620455601ffcd4","redirect":0,"rptid":"82852cfaf54aaf9f","rss_ext":[],"s":"t","src":"CSDN","tag":[{"clk":"ktechnology_1:choi","k":"choi","u":""}],"title":"如何利用 OpenAI 的 API 提供一系列命令行包装函数?

徒周莉4632求5个人教版高一数学必修1函数的题目及解答过程 -
钭博湛15524135486 ______[答案] 已知f(x)=1/3的x次方 x属于[-1,1] 函数g(x)=f²(x)+2af(x)+3的最小值为h(a)(1)求h(a) (2)是否存在实数m,同时满足下列条件:1、m>n>3 2、当h(a)的定义域为[n,m]时,值域为[n²,m²] 若存在,求出m、n的...

徒周莉4632求初二上学期10道一次函数题,至少要有解答的算式,最好不要太难 -
钭博湛15524135486 ______[答案] 1.(-3,-4)关于x轴对称的点改变y坐标正负号; (3,4)关于y轴对称的点改变x坐标正负号; (3,-4)关于原点对称的点分别改... 答案分别为2、5、 根号下29. 3.因为此圆的圆心在x轴上为(3,0),半径为5,圆的其中一根直径就落在x轴上,其与x轴的交...

徒周莉4632一道反三角函数题关于x的反正弦函数与关于x的反余弦函数的和是多少?即 arcsinx+arccosx=? -
钭博湛15524135486 ______[答案] 2分之排,因为cosx=sin(2分之排-x) 因为假设arcsinx=a,则arccosx=2分之π-a

徒周莉4632有谁能给我传20道有关二次函数的大题(要有所有题目、过程和答案)尽量在这两三天内, -
钭博湛15524135486 ______[答案] 已知抛物线y=2x2-4mx+ m2 的顶点D在双曲线y=8/x上.(1)求顶点D的坐标;(2)设抛物线与x轴的两交点为A、B,与y周的交点为C,试求四边形DACB的面积 (1)过程在你另外个地方偶已经说明 D为(2,-4) (2) 因为m=2,所以 y=2x2-4mx+ m2 ...

徒周莉4632求初一初二一次函数的复习题!要全的,选择,填空,应用题,及答案全要有 -
钭博湛15524135486 ______[答案] 1.已知点P(-3,m)在函数y=2x+1的图像上,则线段OP的长度是( ) A.5 B.34的数字平方根 C.4 D.34 点代入方程:m=2(-3)+1=-5 OP=根号下[(-5)^2+(-3)^2]=根号34 B

徒周莉4632高一20道三角函数大题,要题目和解答都有,谢谢了 -
钭博湛15524135486 ______[答案] 1、(sinα)(cosα)=1,代入表达式,求的m=0或者m=8; 验证m的值,注意 α的取值范围,m=0舍去,即m=8,选B; 2、1=(sinα)^4 (cosα)^4=[(sinα)^2 (cosα)^2]^2-2(sinα)^2*(cosα)^2 ; 得到 sinα*cosα=0...

徒周莉4632求10道有图像的一次函数应用题像那种试卷最后的一两题, -
钭博湛15524135486 ______[答案] 1)看下列表格写出s与n间的函数关系式 n 1 2 3 4 5 ... s 1 3 6 10 15 ... 2)正方形的周长L,面积为S,用L表示出函数S的关系式. 3)已知函数y=ax+2a的图像经过P(1,3),则a=_______. 4)当y与x成正比例,且当x= -1/3时,y=2,则当y=3/5时,x的...

徒周莉4632帮我找 10道高一必修一的 函数题 大题 那种 而且答案要很全的. -
钭博湛15524135486 ______[答案] 已知函数f(x)=lg(x*2+ax+b)定义域为集合A,函数g(x)=√kx*2+4x+k+3的定义域为集合B,若(CrA)∩B=B,(CrA)∪B=[-2,3],求实数a,b的值及实数k的取值范围设f(x)是定义在R上的函数,对X∈R均有f(x)+f(x+2)=0,...

徒周莉4632二次函数练习题及答案 -
钭博湛15524135486 ______[答案] 创饰郎倒嘿鼠利稀桨倒伞哼8仆秒玖击磕沦壳孔氢错赞斧火潭膀 常惦兄难

徒周莉4632数学函数题详细答案是??
钭博湛15524135486 ______ f(x)=0.5(x-1)+a=0.5x+a-0.5在定义域内是单调递增的,所以有最小值是f(1),最大值是f(b),即有 f(1)=0.5+a-0.5=a=1和f(b)=0.5b+a-0.5=b所以解得a=1,b=1.这样就与题目矛盾了.估计你是打错了题吧,是不是f(x)=1/2(x-1)^2+a啊? 如果这样的话解答如下:f(x)=1/2(x-1)^2+a在定义域内是单调递增的,所以有最小值是f(1),最大值是f(b),即有f(1)=a=1,f(b)=0.5(b-1)^2+1=b,于是有b^2-4b+3=0,解得b=3或者b=1(舍去) 所以最后的答案是a=1,b=3

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024