ChatGPT Java API
2.1.1
ChatGPT, 어시스턴트 등을 위한 비공식적이고 사용하기 쉬운 Java/Kotlin OpenAI API!
OpenAI#streamCompletion
통한 스트리밍 지원OpenAI#streamChatCompletion
통한 스트리밍 지원 Kotlin DSL( build.gradle.kts
)의 경우 종속성 블록에 다음을 추가하세요.
dependencies {
implementation( " com.cjcrafter:openai:2.1.0 " )
}
Maven 프로젝트의 경우 <dependencies>
블록의 pom.xml
파일에 다음을 추가합니다.
< dependency >
< groupId >com.cjcrafter</ groupId >
< artifactId >openai</ artifactId >
< version >2.1.0</ version >
</ dependency >
Gradle/ant/etc에 대한 Maven 저장소를 참조하세요.
다음은 Java에서 ChatGPT API의 간단한 작업 예입니다.
import com . cjcrafter . openai . OpenAI ;
import com . cjcrafter . openai . chat . ChatMessage ;
import com . cjcrafter . openai . chat . ChatRequest ;
import com . cjcrafter . openai . chat . ChatResponse ;
import io . github . cdimascio . dotenv . Dotenv ;
import java . util . ArrayList ;
import java . util . List ;
import java . util . Scanner ;
/**
* In this Java example, we will be using the Chat API to create a simple chatbot.
*/
public class ChatCompletion {
public static void main ( String [] args ) {
// To use dotenv, you need to add the "io.github.cdimascio:dotenv-kotlin:version"
// dependency. Then you can add a .env file in your project directory.
String key = Dotenv . load (). get ( "OPENAI_TOKEN" );
OpenAI openai = OpenAI . builder ()
. apiKey ( key )
. build ();
List < ChatMessage > messages = new ArrayList <>();
messages . add ( ChatMessage . toSystemMessage ( "Help the user with their problem." ));
// Here you can change the model's settings, add tools, and more.
ChatRequest request = ChatRequest . builder ()
. model ( "gpt-3.5-turbo" )
. messages ( messages )
. build ();
Scanner scan = new Scanner ( System . in );
while ( true ) {
System . out . println ( "What are you having trouble with?" );
String input = scan . nextLine ();
messages . add ( ChatMessage . toUserMessage ( input ));
ChatResponse response = openai . createChatCompletion ( request );
System . out . println ( "Generating Response..." );
System . out . println ( response . get ( 0 ). getMessage (). getContent ());
// Make sure to add the response to the messages list!
messages . add ( response . get ( 0 ). getMessage ());
}
}
}
더 많은 예를 보려면 예를 확인하세요.
참고 : OpenAI는 API 토큰에 환경 변수를 사용할 것을 권장합니다(자세히 알아보기).
로깅에는 SLF4J를 사용합니다. 로깅을 활성화하려면 프로젝트에 로깅 구현을 추가하세요. JSON 구문 분석에 문제가 발생하면 로깅을 활성화하고 로그를 보내달라고 요청할 것입니다.
로깅 구현 추가:
implementation( " ch.qos.logback:logback-classic: $version " )
리소스 폴더에 logback.xml
파일을 추가합니다.
< configuration >
< appender name = " FILE " class = " ch.qos.logback.core.FileAppender " >
< file >debug.log</ file >
< append >false</ append >
< encoder >
< pattern >%date %level [%thread] %logger{10} %msg%n</ pattern >
</ encoder >
</ appender >
< logger name = " com.cjcrafter.openai " level = " DEBUG " /> <!-- Change to OFF to disable our logging -->
< root level = " DEBUG " >
< appender-ref ref = " FILE " />
</ root >
</ configuration >
시간을 절약했다면 후원해 보시기 바랍니다.
ChatGPT-Java-API는 MIT 라이센스에 따라 라이센스가 부여된 오픈 소스 소프트웨어입니다. 이것은 비공식 라이브러리이며 OpenAI와 관련이 없습니다 .