predictive-powers 생성 AI (Genai) 서비스를 사용하여 자율 에이전트를 쉽게 만들 수있는 라이브러리입니다. 그것은 Harald Gunia와 Karolina Galinska 박사와 공동 저술 한 "Enterprises for Enterprises를위한 Ultimate Chatgpt Handbook"의 장에 실 렸습니다.
이 라이브러리 사용의 장점 :
Genai 기능에 대한 추상화 계층을 추가하여 다른 공급 업체를 원활하게 플러그인 할 수 있으며 이러한 기능에 액세스하는 데 필요한 코드의 양을 줄일 수 있습니다.
기본 API 복잡성을 많이 숨 깁니다. 예를 들어:
정확한 토큰 계산과 함께 컨텍스트 크기의 자동 처리.
사용자 정의 가능한 길이로 채팅 기록의 자동 처리.
그들이 사용하는 메커니즘 (예 : OpenAI 모델을 호출하는 단일 또는 평행선 기능)에 관계없이 모델에 도구 (기능 호출)를 추가하는 균일 한 인터페이스. 여기에는 에이전트에 도구를 추가하는 모듈 식 접근법이 포함됩니다.
동일한 API를 통해 파일, 이미지 또는 도구 (기능 호출)를 사용하여 지원하는 다중 부위 채팅 엉망입니다.
여전히 Java의 기본 API에 대한 직접적이고 낮은 수준의 액세스를 허용합니다.
이미지 생성, STT, TTS 및 웹 검색을 포함하여 채팅 완료 외에도 여러 기능에 대한 액세스를 제공합니다.
직렬화 가능한 인 메모리 벡터 데이터베이스를 제공합니다.
웹 페이지 및 파일에서 다른 형식 (MS Office, PDF, HTML 등)의 텍스트 컨텐츠를 쉽게 읽고, 청크 및 포함시키는 방법을 제공합니다.
아래 예제는 GPT와 채팅 할 1 라이너입니다.
매뉴얼을 포함한 라이브러리에 대한 자세한 내용은 프로젝트 페이지에서 찾을 수 있습니다.
import java . util . Scanner ;
import io . github . mzattera . predictivepowers . openai . endpoint . OpenAiEndpoint ;
import io . github . mzattera . predictivepowers . services . Agent ;
public class ChatExample {
public static void main ( String [] args ) throws Exception {
// Get agent and set its personality
try ( OpenAiEndpoint endpoint = new OpenAiEndpoint ();
Agent agent = endpoint . getChatService ();) {
agent . setPersonality ( "You are a very sad and depressed robot. "
+ "Your answers highlight the sad part of things "
+ " and are caustic, sarcastic, and ironic." );
// Conversation loop
try ( Scanner console = new Scanner ( System . in )) {
while ( true ) {
System . out . print ( "User > " );
String s = console . nextLine ();
System . out . println ( "Assistant> " + agent . chat ( s ). getText ());
}
}
} // Close resources
}
}