springboot 接入 ChatGPT

2023-03-19 18:01:15

專案地址

https://gitee.com/Kindear/lucy-chat

介紹

lucy-chat是接入OpenAI-ChatGPT大模型人工智慧的Java解決方案,大模型人工智慧的發展是不可阻擋的趨勢,我們環境無法創造工具,但是也要更好的使用工具,該包簡化了接入流程,可以非常方便的引入並使用ChatGPT相關功能。

接入方式

lucy-chat提供了兩種形式接入服務,完成整合或者獨立部署後可以存取[部署地址]/doc.html呼叫相關介面。

1. Jar引入

準備

在引入任何 Lucy系列依賴之前,需要完成jitpack映象倉庫的設定。

<repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://www.jitpack.io</url>
        </repository>
</repositories>

引入

根據版本號引入

當前預設1.0.0-r4

		<dependency>
			<groupId>com.gitee.kindear</groupId>
			<artifactId>lucy-chat</artifactId>
			<version>${version}</version>
		</dependency>

啟動類

啟用 knife4j 檔案,需要在啟動類上設定 @EnableKnife4j

@EnableKnife4j
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {

        SpringApplication.run(LucyAdminApplication.class, args);
    }

}

組態檔

使用 lucy-chat需要設定如下檔案資訊

spring.application.name=lucy-chat
# 執行埠
server.port=8080
# swagger 匹配
spring.mvc.pathmatch.matching-strategy=ant_path_matcher

# chat-gpt api-key
# 申請地址 https://platform.openai.com/account/api-keys
openai.chat.key=

# chat-gpt proxy host
# 設定代理地址 請參閱 https://www.v2ex.com/t/921689
openai.chat.host=

# 連線池最大連線數
forest.max-connections=1000
# 連線超時時間,單位為毫秒
forest.connect-timeout=30000
# 資料讀取超時時間,單位為毫秒
forest.read-timeout=30000


2. 獨立服務

  1. 從開源地址下載專案
git clone https://gitee.com/Kindear/lucy-chat
  1. 修改POM檔案中打包方式,即恢復 <build>相關注釋掉的內容
<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>

            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
  1. 修改相關組態檔, 參考上文的組態檔相關內容,專案中提供的 key為私人 key,隨時會被替換。
  2. 打包專案並部署

效果

1. 對話

2. 影象繪製

3. 文字編輯