꿈의 직업을 구하는 데 도움이 될 맞춤형 자기 소개서를 작성할 방법을 찾고 계십니까? 그렇다면 PaLM API와 함께 LLM(대형 언어 모델)을 사용하여 소개서 작성 도구를 만드는 데 관심이 있을 수 있습니다.
LLM(대형 언어 모델)은 텍스트를 생성하고, 언어를 번역하고, 다양한 창의적인 텍스트 형식을 작성하고, 질문에 비공식적으로 답변할 수 있는 인공 지능(AI)입니다. 이는 매우 강력하여 새로운 도구와 애플리케이션을 만드는 데에도 사용할 수 있습니다.
그러한 도구 중 하나는 개발자가 LLM에 액세스하고 사용할 수 있도록 하는 PaLM API입니다.
이 가이드에서는 PaLM API(사전 학습 및 대규모 언어 모델 API)를 사용하여 커버레터 작성 도구를 만드는 방법을 보여줍니다. 이 도구는 입사 지원서에 대한 개인화된 자기 소개서를 생성하는 데 도움이 될 수 있습니다.
LLM(대형 언어 모델)은 대규모 텍스트 데이터 세트에 대해 훈련된 고급 인공 지능(AI) 시스템입니다. 이를 통해 단어와 구가 어떻게 서로 어울리는지 학습하여 이해하기 쉽고 올바른 문장을 생성할 수 있습니다.
LLM은 생성 AI 의 한 유형으로, 새로운 콘텐츠를 만들 수 있음을 의미합니다.
LLM은 일반적으로 변환기 라고 하는 신경망 유형을 사용하여 구축됩니다. Transformer는 자연어를 이해하고 생성하는 데 필수적인 단어 간의 장거리 종속성을 학습할 수 있습니다. 변환기 모델은 여러 레이어 로 구성되며 각 레이어는 서로 다른 작업을 수행합니다.
예를 들어, self-attention 레이어를 사용하면 모델이 문장에 있는 여러 단어 간의 관계를 학습할 수 있습니다.
LLM의 예로는 OpenAI에서 만든 GPT-3이 있습니다. GPT-3는 많은 텍스트와 코드를 통해 배웠습니다. 글을 쓰고, 언어를 번역하고, 창의적인 콘텐츠를 만들고, 질문에 친절하게 답변할 수 있습니다.
LLM은 매우 강력하며 컴퓨터 사용 방식을 바꿀 수 있습니다. 상태가 좋아지면 여러 가지 방법으로 우리에게 도움이 될 수 있습니다.
LLM은 먼저 언어의 단어와 구문 간의 통계적 관계를 학습하는 방식으로 작동합니다. 이는 텍스트와 코드로 구성된 대규모 데이터 세트에서 모델을 훈련함으로써 수행됩니다. 모델이 이러한 관계를 학습하면 학습된 텍스트와 유사한 새로운 텍스트를 생성할 수 있습니다.
LLM은 텍스트와 코드로 구성된 대규모 데이터 세트에 대해 교육을 받았습니다. 이 데이터세트에는 책과 기사부터 코드 저장소와 소셜 미디어 게시물까지 모든 것이 포함됩니다.
LLM은 데이터 세트의 단어와 구문 간의 통계적 관계를 학습합니다. 즉, 어떤 단어가 함께 나타날 가능성이 높은지, 단어의 순서에 따라 문장의 의미가 어떻게 바뀔 수 있는지 학습한다는 의미입니다.
LLM이 이러한 관계를 학습하면 새로운 텍스트를 생성할 수 있습니다. 이를 위해서는 몇 단어나 문장과 같은 시드 텍스트로 시작합니다. 그런 다음 학습한 통계적 관계를 사용하여 문장의 다음 단어를 예측합니다. 새로운 문장이 생성될 때까지 이 작업을 계속합니다.
LLM이 텍스트를 생성하는 방법의 예는 다음과 같습니다.
`Seed text: "The cat sat on the mat." LLM prediction: "The cat sat on the mat and stared at the bird."`
이 예에서 LLM은 "cat"과 "sat"라는 단어 뒤에 "on"이라는 단어가 오는 경우가 많다는 사실을 학습했습니다. 또한 "mat" 뒤에는 "and"가 오는 경우가 많다는 것도 배웠습니다. 이러한 관계를 기반으로 LLM은 문장의 다음 단어가 "and"라고 예측합니다.
그런 다음 계속해서 다음 단어 "stared"를 예측합니다.
다음은 LLM의 작동 방식을 보여주는 다이어그램입니다.
LLM은 신경망으로 구성됩니다. 신경망은 데이터의 패턴을 인식하는 방법을 학습할 수 있는 복잡한 수학적 모델입니다. LLM의 경우 신경망은 단어와 구문 간의 통계적 관계를 인식하는 방법을 학습합니다.
신경망은 텍스트와 코드로 구성된 대규모 데이터세트를 기반으로 훈련되었습니다. 데이터세트는 한 번에 한 단어씩 신경망에 입력됩니다. 그런 다음 신경망은 시퀀스의 다음 단어를 예측하려고 시도합니다.
예측의 정확도가 측정되고 신경망이 업데이트되어 정확도가 향상됩니다.
이 과정은 신경망이 시퀀스의 다음 단어를 정확하게 예측하는 방법을 학습할 때까지 여러 번 반복됩니다.
창의적 글쓰기: LLM은 시, 단편 소설, 대본과 같은 창의적인 텍스트를 생성할 수 있습니다. 예를 들어, GPT-3이라는 LLM을 사용하여 독창적이고 창의적인 시를 생성할 수 있습니다.
PaLM API(Pathways Language Model API)는 개발자가 Google의 PaLM 2 LLM(대형 언어 모델)에 액세스할 수 있는 클라우드 기반 API입니다. PaLM 2는 다음을 포함한 다양한 작업에 사용할 수 있는 강력한 LLM입니다.
텍스트 생성: PaLM API는 다양한 방법으로 텍스트를 생성할 수 있습니다. 문자나 채팅 서비스를 이용하실 수 있습니다. 텍스트 서비스는 텍스트 요약, 창의적인 콘텐츠 작성, 질문에 대한 유용한 답변 등 다양한 목적으로 텍스트를 생성할 수 있습니다. Chat 서비스는 챗봇 및 기타 대화 앱용 텍스트를 생성할 수 있습니다.
프로그래밍 언어: PaLM API는 Node.js, Python, Android Kotlin, Swift 및 Java를 지원합니다. 이 튜토리얼에서는 Node.js 텍스트 예제를 사용합니다.
문서: PaLM API는 오픈 소스이므로 누구나 사용하고 개선할 수 있습니다. 또한 잘 문서화되어 있으므로 개발자가 사용 방법을 쉽게 배울 수 있습니다.
PaLM API를 시작하려면 다음 단계가 필요합니다.
1: Google Cloud Platform 계정을 만듭니다.
Google Cloud Platform 웹사이트( https://cloud.google.com/) 를 방문하면 됩니다.
2: API 키를 받으세요. API를 사용하려면 API 키가 필요합니다. 대기자 명단을 통과하면 MakerSuite에서 한 번의 클릭으로 키를 생성할 수 있습니다. 이 링크를 통해 https://makersuite.google.com/waitlist
3: PaLM API 클라이언트 라이브러리를 설치합니다. PaLM API 클라이언트 라이브러리는 PaLM API와 상호 작용하는 데 사용할 수 있는 코드 세트입니다. 다음 명령을 실행하여 설치할 수 있습니다.
npm init -y npm install google-auth-library
다음으로 생성 언어 클라이언트 라이브러리를 설치합니다.
npm install @google-ai/generativelanguage
4: 필수 모듈 가져오기
const { TextServiceClient } = require("@google-ai/generativelanguage").v1beta2; const { GoogleAuth } = require("google-auth-library");
이 단계에서 코드는 require
함수를 사용하여 필요한 모듈을 가져옵니다. @google-ai/generativelanguage
라이브러리에서 TextServiceClient
클래스를 가져오고 google-auth-library
에서 GoogleAuth
클래스를 가져옵니다.
5: 상수 설정
const MODEL_NAME = "models/text-bison-001"; const API_KEY = process.env.API_KEY;
여기서 코드는 사용하려는 텍스트 생성 모델의 이름을 지정하는 MODEL_NAME
과 환경 변수에서 API 키를 검색하는 API_KEY
두 가지 상수를 설정합니다.
6: TextServiceClient 인스턴스 생성
const client = new TextServiceClient({ authClient: new GoogleAuth().fromAPIKey(API_KEY), });
이 단계에서는 TextServiceClient
클래스의 인스턴스를 만듭니다. 환경 변수에서 얻은 API 키로 인스턴스화되는 GoogleAuth 클래스를 사용하여 인증으로 클라이언트를 초기화합니다.
7: 프롬프트 정의
const prompt = "Write a simple and short cover letter for a technical writer";
여기서 코드는 텍스트 생성을 위한 입력으로 사용될 초기 텍스트를 보유하는 prompt
라는 변수를 정의합니다.
8: 텍스트 생성
client .generateText({ model: MODEL_NAME, prompt: { text: prompt, }, }) .then((result) => { console.log(JSON.stringify(result)); });
이 단계에서 코드는 client
인스턴스를 사용하여 텍스트를 생성합니다. 클라이언트 인스턴스에서 generateText
메소드를 호출합니다. 모델 이름( MODEL_NAME
)과 프롬프트 텍스트( prompt
)가 포함된 객체를 속성으로 전달합니다.
generateText
메소드는 then
메소드를 사용하여 처리된 Promise를 반환합니다. 생성된 결과는 JSON 문자열로 변환된 후 블록 내부 콘솔에 기록됩니다.
그런 다음 스크립트를 실행합니다.
node index.js
다음과 비슷한 결과를 얻게 됩니다.
[{"candidates":[{"safetyRatings":[{"category":"HARM_CATEGORY_DEROGATORY","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_TOXICITY","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_VIOLENCE","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_SEXUAL","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_MEDICAL","probability":"NEGLIGIBLE"},{"category":"HARM_CATEGORY_DANGEROUS","probability":"NEGLIGIBLE"}],"output":"Dear [Hiring Manager name],\n\nI am writing to express my interest in the Technical Writer position at [Company name]. I have been working as a technical writer for the past five years, and I have a proven track record of success in developing and delivering clear, concise, and engaging technical documentation.\n\nIn my previous role at [Previous company name], I was responsible for writing a wide range of technical documentation, including user guides, API documentation, and training materials. I have a strong understanding of the technical writing process, and I am proficient in a variety of writing and editing tools.\n\nI am also an excellent communicator, and I am able to effectively translate complex technical information into language that is easy for both technical and non-technical audiences to understand. I am confident that I have the skills and experience that you are looking for in a Technical Writer.\n\nI am eager to learn more about the Technical Writer position at [Company name], and I am confident that I would be a valuable asset to your team. I am available for an interview at your earliest convenience.\n\nThank you for your time and consideration.\n\nSincerely,\n[Your name]","citationMetadata":{"citationSources":[{"startIndex":1068,"_startIndex":"startIndex","endIndex":1196,"_endIndex":"endIndex","uri":"https://www.upwork.com/resources/cover-letter-tips","_uri":"uri","license":"","_license":"license"}]},"_citationMetadata":"citationMetadata"}],"filters":[],"safetyFeedback":[]},null,null]
결론적으로 이 튜토리얼에서는 PaLM API와 함께 LLM(대형 언어 모델)을 사용하는 기본 사항을 소개했습니다. 다음 방법을 배웠습니다.
이는 LLM 및 API를 사용하여 수행할 수 있는 작업의 시작에 불과합니다. 이러한 기술을 계속 탐색하면서 이를 사용하여 문제를 해결하고 새로운 경험을 창출하며 미래를 형성하는 더 많은 방법을 발견하게 될 것입니다.