Java/Kotlin OpenAI API tidak resmi dan mudah digunakan untuk ChatGPT, Asisten, dan banyak lagi!
OpenAI#streamCompletion
OpenAI#streamChatCompletion
Untuk Kotlin DSL ( build.gradle.kts
), tambahkan ini ke blok dependensi Anda:
dependencies {
implementation( " com.cjcrafter:openai:2.1.0 " )
}
Untuk proyek Maven, tambahkan ini ke file pom.xml
Anda di blok <dependencies>
:
< dependency >
< groupId >com.cjcrafter</ groupId >
< artifactId >openai</ artifactId >
< version >2.1.0</ version >
</ dependency >
Lihat repositori maven untuk gradle/ant/etc.
Ini adalah contoh kerja sederhana dari ChatGPT API di Java:
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 ());
}
}
}
Untuk contoh lainnya, lihat contoh.
Catatan : OpenAI merekomendasikan penggunaan variabel lingkungan untuk token API Anda (Baca selengkapnya).
Kami menggunakan SLF4J untuk login. Untuk mengaktifkan logging, tambahkan implementasi logging ke proyek Anda. Jika Anda mengalami masalah dengan penguraian JSON, kami akan meminta Anda mengaktifkan logging dan mengirimkan lognya kepada kami.
Menambahkan implementasi logging:
implementation( " ch.qos.logback:logback-classic: $version " )
Tambahkan file logback.xml
ke folder sumber daya Anda:
< 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 >
Jika saya telah menghemat waktu Anda, mohon pertimbangkan untuk mensponsori saya.
ChatGPT-Java-API adalah perangkat lunak sumber terbuka yang dilisensikan di bawah Lisensi MIT. Ini adalah perpustakaan tidak resmi, dan tidak berafiliasi dengan OpenAI .