OpenAI Assistant API(챗봇)를 사용하여 효율적이고 확장 가능하며 빠른 솔루션을 구축하기 위한 NestJS 라이브러리입니다.
15분 이내에 AI Assistant 개발을 시작하세요
NestJS 라이브러리를 소개합니다. 가상 비서를 구축하든, 매력적인 사용자 경험을 위한 대화형 챗봇을 구축하든, 우리 라이브러리는 최소한의 노력으로 최첨단 AI 기능을 활용할 수 있도록 지원합니다.
라이브러리는 클라이언트와 어시스턴트 간의 실시간 통신을 위해 어시스턴트 및 WebSocket 서버를 처리하는 즉시 사용 가능한 API 엔드포인트를 제공합니다 . 라이브러리를 설치하고 구성을 붙여넣어 실행합니다.
비디오 - 15분 안에 AI 도우미
저장소에는 라이브러리가 포함되어 있지만 추가 기능도 제공합니다. 저장소를 복제하고 즉시 사용하여 모든 기능을 활용할 수 있습니다.
이 섹션에서는 AI Assistant 라이브러리를 NestJS 애플리케이션에 통합하는 방법을 알아봅니다. 다음 단계에서는 라이브러리를 설정하고 간단한 기능을 만드는 과정을 안내합니다.
^20.0.0
버전)^10.0.0
버전)^10.0.0
버전)^4.51.0
버전)AI Assistant를 통합하려는 NestJS 애플리케이션을 열거나 생성하세요. 새 NestJS 애플리케이션을 만들려면 다음 명령을 사용하세요.
nest new project-name
이제 패키지를 설치해야 합니다. 다음 단계로 이동합니다.
프로젝트의 루트 디렉터리에 있는지 확인하세요. npm을 사용하여 라이브러리와 openai
패키지를 설치합니다.
npm i @boldare/openai-assistant openai --save
라이브러리가 설치되었지만 구성해야 합니다. 다음 단계로 이동합니다.
환경 변수를 설정하고, 프로젝트 루트 디렉터리의 .env
파일에 환경 변수를 생성하고, 필요한 비밀로 채웁니다. 어시스턴트 ID는 선택사항이며 어시스턴트의 고유 식별자 역할을 합니다. 환경 변수가 설정되지 않으면 어시스턴트가 자동으로 생성됩니다. 어시스턴트 ID를 사용하여 어시스턴트 생성 후 OpenAI 플랫폼에서 찾을 수 있는 기존 어시스턴트에 연결할 수 있습니다.
프로젝트의 루트 디렉터리에 .env
파일을 만들고 필요한 비밀을 입력합니다.
touch .env
.env
파일에 다음 콘텐츠를 추가합니다.
# OpenAI API Key
OPENAI_API_KEY =
# Assistant ID - leave it empty if you don't have an assistant to reuse
ASSISTANT_ID =
.env
파일은 저장소에 커밋되어서는 안 됩니다. .env
파일을 .gitignore
파일에 추가하여 커밋되는 것을 방지합니다.
이것이 도서관 운영에 필요한 첫 번째 단계였습니다. 다음 단계는 어시스턴트를 구성하는 것입니다.
라이브러리는 AssistantModule.forRoot
메소드를 사용하여 어시스턴트를 구성하는 방법을 제공합니다. 이 메서드는 구성 개체를 인수로 사용합니다. 샘플 구성 파일(chat.config.ts)과 같이 새 구성 파일을 생성하고 필요한 구성으로 채웁니다.
// chat.config.ts file
import { AssistantConfigParams } from '@boldare/openai-assistant' ;
import { AssistantCreateParams } from 'openai/resources/beta' ;
// Default OpenAI configuration
export const assistantParams : AssistantCreateParams = {
name : 'Your assistant name' ,
instructions : `You are a chatbot assistant. Speak briefly and clearly.` ,
tools : [ { type : 'file_search' } ] ,
model : 'gpt-4-turbo' ,
temperature : 0.05 ,
} ;
// Additional configuration for our assistant
export const assistantConfig : AssistantConfigParams = {
id : process . env [ 'ASSISTANT_ID' ] ,
params : assistantParams ,
filesDir : './apps/api/src/app/knowledge' ,
toolResources : {
file_search : {
// Provide files if you use file_search tool
fileNames : [ 'example1.txt' , 'example2.txt' ] ,
} ,
} ,
} ;
구성에 대한 자세한 내용은 위키에서 확인할 수 있습니다.
이제부터 애플리케이션을 실행하고 어시스턴트를 호출할 수 있습니다.
함수 호출을 사용하면 사용자 정의 논리로 어시스턴트의 기능을 확장할 수 있습니다. 함수 호출을 사용하지 않으려면 다음 단계로 건너뛸 수 있습니다. 5단계: 테스트.
AgentBase
클래스를 확장하는 새 서비스를 만들고 정의를 채우고 output
메서드를 구현합니다.
output
메소드는 어시스턴트가 함수를 호출할 때 호출되는 기본 메소드입니다.definition
속성은 도우미가 호출 방법을 이해할 수 있도록 함수와 해당 매개변수를 설명하는 개체입니다.함수 호출에 대한 자세한 내용은 OpenAI 설명서를 참조하세요.
기능 생성에 대한 지침은 위키에서 찾을 수 있으며 예제는 에이전트 디렉터리에서 찾을 수 있습니다.
함수와 출력 메서드를 정의한 경우 이제 어시스턴트에게 함수 정의에 설명된 작업을 수행하도록 요청하여 이를 호출할 수 있습니다.
애플리케이션을 실행하면 어시스턴트를 테스트할 수 있습니다.
# use this if you are using the repository:
npm run start:dev
# if you are using your own NestJS application, please check the npm scripts in the package.json file
# defualt command for NestJS is:
npm run start
그런 다음 어시스턴트를 테스트할 수 있습니다.
/assistant/threads
엔드포인트에 POST 요청을 전송하여 생성할 수 있습니다./assistant/chat
엔드포인트에 POST 요청을 보내 어시스턴트에게 메시지를 보낼 수 있습니다. {
"threadId" : " your-thread-id " ,
"content" : " Hello, how are you? "
}
/assistant/chat
엔드포인트에 POST 요청을 보내면 보조자에게 더 많은 메시지를 보낼 수 있습니다.축하해요! AI Assistant 라이브러리를 NestJS 애플리케이션에 성공적으로 통합했습니다. ?
저장소의 모든 애플리케이션과 라이브러리로 데모를 실행하는 방법에 대한 전체 문서는 위키에서 찾을 수 있습니다.
Boldare의 엔지니어가 귀하를 돕기 위해 왔습니다. 질문이 있거나 구현에 도움이 필요한 경우 언제든지 당사 엔지니어에게 전화를 예약하세요.
Boldare가 AI 개발에 어떻게 도움을 줄 수 있는지 자세히 알아보세요.
GitHub 토론 섹션에서 질문할 수도 있습니다.
도서관의 새로운 기능을 보고 싶으십니까?
@boldare/openai-assistant
이 저장소는 MIT 라이선스를 받았습니다.