Skip to content

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChatGPT_java

基于selenium调用本地浏览器操作ChatGPT的API

交流群692216254

作用

Java中只需要调用实例即可自动对ChatGPT的回答进行捕捉并输出
不会因为CF导致无法使用
支持自动重试功能,续接上一次对话,使用现有页面

效果

ChatGPT chatGPT=new ChatGPT();
File file=chatGPT.getRe("用java在编写一个抽取1到1000中随机一个数并输出");//file即为回答截图

2XI2I3{7M@DZOE}D Z_NKJH

使用

  1. 将src源码文件夹加入项目
  2. 添加库
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>31.1-jre</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.7.1</version>
        </dependency>

注意:如果使用了springboot需要覆盖默认的坐标

<properties>
      <selenium.version>4.7.1</selenium.version>
</properties>
  1. 启动一个Edge浏览器并且已启用远程调试功能"--remote-debugging-port=9222",端口号需与代码中的保持同步

    1. 关闭 Microsoft Edge 的所有实例 (注意:检查任务管理器中是否残留edge的后台进程,如果有请结束,这是由于edge的启动增强功能导致的)
    2. 使用远程调试端口启动 Microsoft Edge。
      msedge.exe --remote-debugging-port=9222
      
    3. 检测是否成功开启远程调试
      1. 在浏览器中输入 edge://version/
      2. 检查命令行一栏是否有如下内容--remote-debugging-port=9222
        如有这表示启动成功,可以继续下面的步骤,否则重试3步骤
  2. 创建实体

ChatGPT chatGPT=new ChatGPT();
  1. 查询实例是否正常工作
ChatGPT chatGPT=new ChatGPT();
chatGPT.getFlag()//ture为成功
  1. 使用API
ChatGPT chatGPT=new ChatGPT();
File file=chatGPT.getRe("你的内容");
//PS:你可以使用如下代码将File转写为文件 需要引入commons-io包
File outfile = new File("image.png");
try {
    FileUtils.copyFile(file, outfile);
} catch (IOException e) {
    return null;
}

PS:

  1. 浏览器不会自动开启,但在Main提供了示例
  2. 在创建示例的时候会自动查询浏览器的所有标签页来自动选择ChatGPT的页面,如果没有会自动打开ChatGPT的页面,可能需要手动完成验证和登录操作
  3. 使用reload()函数可以重新加载页面

常见错误

  1. Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: unknown error: cannot connect to microsoft edge at 127.0.0.1:9222
    这是由于浏览器的远程调试没有成功导致的,请重新尝试3步骤

声明

这不是官方的 OpenAI 产品。仅是个人项目,与 OpenAI 没有任何关联

About

ChatGPT API Java 版,对ChatGPT的回答进行捕捉并输出 支持自动重试功能,续接上一次对话,使用现有页面. 开箱即用.About ChatGPT Java SDK. Lightweight package for interacting with ChatGPT's API by OpenAI. Uses reverse engineered official API.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages