当前位置: 首页 > news >正文

如何将github copilot当gpt4用

现在写代码已经离不开ai辅助了···我用的是github copilot,一方面是因为它和vscode结合得比较好,另一方面就是copilot chat了。可以在不切换工具的情况下,问它问题,在copilot chat还在内测阶段的时候我就申请使用了(现在已经完全开放了)。
image.png

copilot基于gpt4, 所以有些回答比gpt3.5更准确,但微软限制了它能解答的问题的范围,如果和代码关系不大,它是拒绝回答的,所以还是有一些限制。
image.png
最近发现网上有大神绕过了这个限制,直接通过copilot的api访问(准确的说应该是直接调用的openai的),从而实现问它任意问题。
aaamoon/copilot-gpt4-service: Convert Github Copilot to ChatGPT

本地部署

copilot-gpt4-service

最简单的方式就是通过docker部署了,为了方便,我这里直接使用docker-compose, docker-compose.yaml如下:

version: '3'services:copilot-gpt4-service:image: aaamoon/copilot-gpt4-service:latestports:- 9090:8080environment:- https_proxy=http://xxx:10809 #自己的代理地址,因为openai限制了地区,国内是访问不了的- http_proxy=http://xxx:10809restart: unless-stoppedcontainer_name: copilot-gpt4-service

ChatGPT-Next-Web

ChatGPTNextWeb/ChatGPT-Next-Web: A cross-platform ChatGPT/Gemini UI (Web / PWA / Linux / Win / MacOS). 一键拥有你自己的跨平台 ChatGPT/Gemini 应用。 (github.com)
上一步搭建的是服务,要能够像chatgpt一样,还需要一个可视化的界面,选择很多,copilot-gpt4-service推荐用ChatGPT-Next-Web.

获取copilot token

要能使用api首先需要有token, copilot-gpt4-service有提供脚本,不过我运行失败了。其实有很简单的方式,只要我们在vscode中有使用copilot插件就可以,运行下面的命令就会打印了。

cat ~/.config/github-copilot/hosts.json

部署ChatGPT-Next-Web

部署这个应用也很方便,直接使用docker-compose.唯一需要注意的是ChatGPT-Next-Web默认用的是https,而我们部署的copilot-gpt4-service是http的,直接调用会出错。只要用下面的配置就好了:


version: "3.9"
services:chatgpt-next-web:profiles: [ "proxy" ]container_name: chatgpt-next-webimage: yidadaa/chatgpt-next-webports:- 3000:3000environment:- OPENAI_API_KEY=your_token- BASE_URL=http://your_ip:9090 #也就是上一步中部署的服务地址和端口- PROXY_URL=$PROXY_URL

保存为docker-compose.yaml,然后docker-compose up -d即可

使用

部署完成后,通过http://your_ip:3000打开web:
image.png
修改配置,关闭每次的系统级提示:
image.png
默认情况下,我们这个时候问问题,使用的是gpt3.5-turbo,为了对比,我们先问一下:
image.png
可以看到回答在胡扯…,我们切换为gpt4(或者到配置里面也可以改):
image.png
注意只能选择gpt-4,其他模型(如gpt4-xx)都是用的3.5。我们再问同样的问题:
image.png
这个回答就很对了···

结语

通过大神的项目,如果我们买了copilot,就能免费使用gpt4了,虽然并不是最新的版本,不过也显然比gpt-3.5要强了,赶紧用起来吧···说不准哪天微软把这条路给堵上了。

相关文章:

  • 8. 《自动驾驶与机器人中的SLAM技术》基于保存的自定义NDT地图文件进行自动驾驶车辆的激光定位
  • 如何进行产品的人机交互设计?
  • 十、Qt 操作PDF文件
  • 文心一言 vs. ChatGPT:哪个更胜一筹?
  • 整合junit与热部署
  • C技能树-学习笔记(1-2)C语言概述和数据类型
  • 2024年第十届控制、自动化与机器人国际会议(ICCAR 2024)即将召开!
  • 三种引入CSS的方式
  • 1 python计算机基础
  • 数据结构-第一章
  • androidkiller的两种异常情况
  • What is `@Controller` does?
  • Kali Linux保姆级教程|零基础从入门到精通,看完这一篇就够了!(附工具包)
  • 圈小猫游戏HTML源码
  • Docker之网络配置的使用
  • 网络传输文件的问题
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • css布局,左右固定中间自适应实现
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • javascript面向对象之创建对象
  • Js基础知识(四) - js运行原理与机制
  • Linux链接文件
  • nodejs:开发并发布一个nodejs包
  • 初探 Vue 生命周期和钩子函数
  • 大数据与云计算学习:数据分析(二)
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 经典排序算法及其 Java 实现
  • 坑!为什么View.startAnimation不起作用?
  • 思考 CSS 架构
  • 我的面试准备过程--容器(更新中)
  • 学习使用ExpressJS 4.0中的新Router
  • 7行Python代码的人脸识别
  • elasticsearch-head插件安装
  • 交换综合实验一
  • 数据库巡检项
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (1)常见O(n^2)排序算法解析
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (笔试题)分解质因式
  • (三)模仿学习-Action数据的模仿
  • (转) 深度模型优化性能 调参
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET 回调、接口回调、 委托
  • .net 受管制代码
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .Net程序帮助文档制作
  • .net连接MySQL的方法
  • .NET运行机制
  • @Bean有哪些属性