Java/Kotlin OpenAI API อย่างไม่เป็นทางการและใช้งานง่ายสำหรับ ChatGPT, Assistants และอื่นๆ อีกมากมาย!
OpenAI#streamCompletion
OpenAI#streamChatCompletion
สำหรับ Kotlin DSL ( build.gradle.kts
) ให้เพิ่มสิ่งนี้ลงในบล็อกการอ้างอิงของคุณ:
dependencies {
implementation( " com.cjcrafter:openai:2.1.0 " )
}
สำหรับโปรเจ็กต์ Maven ให้เพิ่มสิ่งนี้ลงในไฟล์ pom.xml
ของคุณในบล็อก <dependencies>
:
< dependency >
< groupId >com.cjcrafter</ groupId >
< artifactId >openai</ artifactId >
< version >2.1.0</ version >
</ dependency >
ดูที่เก็บ maven สำหรับการ gradle/ant/etc
นี่เป็นตัวอย่างการทำงานอย่างง่ายของ ChatGPT API ใน 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 ());
}
}
}
สำหรับตัวอย่างเพิ่มเติม โปรดดูตัวอย่าง
หมายเหตุ : 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