用32行代码做了个简单的命令行版chatgpt

news/2024/12/29 19:31:36/

受公司脚本大神的启发,我今天也自己用32行代码做了个简单的命令行版chatgpt。

虽然网页版很好用,但这两天不知道为什么我的登录都被禁用了,好在api_key的curl方式还能用。

功能和大神们的当然没法比,不过好在简单,我自己也从中复习了一些bash array的坑人特性。

#!/bin/bash
export OPENAI_PROXY=socks5h://192.168.0.11:7890
export OPENAI_KEY=secrtkey-kfcvme50
source ~/.myopen_api_key #feed you own key
curlxk() {curl -sx ${OPENAI_PROXY} -H "Authorization: Bearer ${OPENAI_KEY}" "$@" | jq -rM '.choices[0].message'
}
function join_by {local d=${1-} f=${2-}if shift 2; thenprintf %s "$f" "${@/#/$d}"fi
}
declare talk_history=()
read  -p 我问: line
while [ ! "$line" == "" ]; donew_item=$(echo '{"role": "user", "content": ""}'|jq -rMc --arg line "$line" '.content=$line')talk_history[${#talk_history[@]}]=$new_itemSAVEIFS="$IFS"IFS=','RESPONSE=$(curlxk -H "Content-Type: application/json" https://api.openai.com/v1/chat/completions \-d "$(echo '{"model": "gpt-3.5-turbo", "messages": [], "temperature": 0.7 }'| jq -rMc --argjson msgs "[${talk_history[*]}]" '.messages=$msgs')")IFS=${SAVEIFS}echo -n 'AI答:'echo $RESPONSE|jq -rM '.content'talk_history[${#talk_history[@]}]=$RESPONSEread  -p 我问: line
done


http://www.ppmy.cn/news/968376.html

相关文章

chatgpt赋能powershell

最近chatgpt非常火爆,获得超高曝光度的同时,也让大家对ai和ai工具有了新的认识。关于chatgpt,可以参考这篇文章。 今天主要推荐一个可以与powershell集成的ai工具,其后端也是openai的服务,可以有效提高工作效率。 Po…

[chatGPT]问题分析示例一,mtu太小ip6地址加不进去

根据这两个条件,去查询chatGPT,发现可以找到对应的代码片段。看着chatGPT,已经将Linux代码整合过来了。很强大的一个功能。 Human: if mtu set to 64, why add ipv6 failure? AI: If the MTU is set to 64, it can cause IPv6 fragmentation failures. This is because IPv…

14.Java8日期时间工具类

提供了3种日期时间工具类,任选一种 目录 第一种 第二种 第三种 第一种 import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.Period; import java.time.ZoneId; import…

目标检测算法——将xml格式转换为YOLOv5格式txt

深度学习Tricks,第一时间送达 XML:即可扩展标记语言,XML全称是Extensible Markup Language,中文译为可扩展的标记语言,它是SGML(标准通用标记语言)的一个子集,与hxml文件不同的是, X…

infer源码阅读之yolo.cu

目录 yolo.cu注意事项一、2023/3/30更新前言1.宏定义2.Norm3.后处理3.1 affine_project3.2 decode3.2.1 decode_common3.2.2 decode_v8 3.3 nms3.4 invoker 4.预处理5.decode_mask6.AffineMatrix7.InferImpl7.1 adjust_memory7.2 preprocess7.3 load7.4 forwards 8.其它9.拓展之…

前端食堂技术周刊第 76 期:第 95 次 TC39 会议、React Labs 工作进展、加速 JavaScript 生态系统、设计系统元规范、AI 一周资讯、前端开发者的终局

美味值:🌟🌟🌟🌟🌟 口味:惠林顿牛排 食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly 本期摘要 第 95 次 TC39 会议React Labs 工作进展AI 一周资讯加速 JavaScript 生…

微软宣布开源提速15倍的 DeepSpeed-Chat !是个人就能人手实现一个ChatGPT?

点击“开发者技术前线”,选择“星标” 让一部分开发者看到未来 作者 | 微软 DeepSpeed 开源项目组来源 | 开源社 #01 概述 近日来,ChatGPT 及类似模型引发了人工智能(AI)领域的一场风潮。这场风潮对数字世界产生了革命性影响。Cha…

还在用main方法生成代码?MyBatis-Plus可视化代码生成器来了,YYDS!

因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享 点击关注#互联网架构师公众号,领取架构师全套资料 都在这里 0、2T架构师学习资料干货分 上一篇:ChatGPT研究框架(80页PPT,附下载)…