제퍼넷 로고

Python을 사용하여 Google Palm API 시작하기

시간

개요

AI가 전 세계를 장악함에 따라 대규모 언어 모델은 기술 분야에서 엄청난 수요를 보이고 있습니다. 대규모 언어 모델은 인간이 수행하는 방식으로 텍스트를 생성합니다. 그들은 개발하는 데 사용될 수 있습니다 자연어 처리 (NLP) 챗봇 및 텍스트 요약기부터 번역 앱, 가상 도우미 등에 이르기까지 다양한 애플리케이션

구글이 차세대 모델을 출시했다. 손바닥 2. 이 모델은 고급 과학 및 수학 연산에 탁월하며 추론 및 언어 번역에 사용됩니다. 이 모델은 100개 이상의 음성 언어와 20개 이상의 프로그래밍 언어로 훈련되었습니다.

다양한 프로그래밍 언어로 훈련되었기 때문에 하나의 프로그래밍 언어를 다른 프로그래밍 언어로 번역하는 데 사용할 수 있습니다. 예를 들어, Python 코드를 R로 변환하거나 JavaScript 코드를 TypeScript 등으로 변환하려는 경우 Palm 2를 사용하여 쉽게 수행할 수 있습니다. 이 외에도 관용구와 구문을 생성하고 복잡한 작업을 간단한 작업으로 쉽게 분할할 수 있어 이전의 대규모 언어 모델보다 훨씬 뛰어납니다.

학습 목표

  • Google의 Palm API 소개
  • API 키를 생성하여 Palm API에 액세스하는 방법 알아보기
  • Python을 사용하여 텍스트 모델을 사용하여 간단한 텍스트를 생성하는 방법을 알아보세요.
  • Python을 사용하여 간단한 챗봇을 만드는 방법 알아보기
  • 마지막으로 Palm API와 함께 Langchain을 사용하는 방법에 대해 논의합니다.

이 기사는 데이터 과학 블로그.

차례

팜 API

Palm API를 사용하면 Google의 Generative AI 모델 기능에 액세스하고 흥미로운 AI 기반 애플리케이션을 개발할 수 있습니다. 그러나 브라우저에서 Palm 2 모델과 직접 상호 작용하려면 브라우저 기반 IDE "MakerSuite"를 사용할 수 있습니다. 그러나 Palm API를 사용하여 Palm 2 모델에 액세스하여 대규모 언어 모델을 애플리케이션에 통합하고 회사 데이터를 사용하여 AI 기반 애플리케이션을 구축할 수 있습니다.

세 가지 다른 프롬프트 인터페이스가 설계되었으며 Palm API를 사용하여 그 중 어느 인터페이스로든 시작할 수 있습니다. 그들은:

  • 텍스트 프롬프트: “text-bison-001”이라는 모델을 사용하여 간단한 텍스트를 생성할 수 있습니다. 텍스트 프롬프트를 사용하여 텍스트 생성, 코드 생성, 텍스트 편집, 정보 검색, 데이터 추출 등을 수행할 수 있습니다.
  • 데이터 프롬프트: 표 형식으로 프롬프트를 구성할 수 있습니다.
  • 채팅 프롬프트: 채팅 프롬프트는 대화를 구축하는 데 사용됩니다. 채팅 서비스를 이용하려면 “chat-bison-001”이라는 모델을 사용하면 됩니다.

Palm API에 액세스

웹사이트로 이동 https://developers.generativeai.google/ 메이커 스위트에 가입하세요. 대기자 명단에 추가되며 아마도 24시간 이내에 입장이 가능해질 것입니다.

API 키를 생성:

  1. API를 사용하려면 자체 API 키를 받아야 합니다. 
  2. 애플리케이션을 Palm API에 연결하고 API 키를 사용하여 해당 서비스에 액세스할 수 있습니다. 
  3. 계정이 등록되면 계정을 생성할 수 있습니다.
  4. 다음으로, 아래 스크린샷과 같이 API 키를 생성하세요.
팜 API

나중에 사용할 것이므로 API 키를 저장하세요.

환경 설정

Python에서 API를 사용하려면 다음 명령을 사용하여 설치하세요.

pip install google-generativeai Next, we configure it using the API key that we generated earlier. import google.generativeai as palm
palm.configure(api_key=API_KEY) To list the available models, we write the below code: models = [model for model in palm.list_models()] for model in models: print(model.name)

출력:

models/chat-bison-001 models/text-bison-001 models/embedding-gecko-001

텍스트 생성 

우리는 "text-bison-001" 모델을 사용하여 텍스트를 생성하고 generateTextRequest를 전달합니다. generate_text() 함수는 모델과 프롬프트라는 두 가지 매개변수를 사용합니다. 모델을 "text-bison-001"로 전달하고 프롬프트에 입력 문자열이 포함됩니다.

설명 :

  • 아래 예에서는 모델 이름과 함께 model_id 변수와 입력 텍스트가 포함된 프롬프트 변수를 전달합니다.
  • 그런 다음 model_id를 모델로 전달하고 프롬프트를 generate_text() 메서드에 전달합니다.
  • 온도 매개변수는 응답이 얼마나 무작위인지를 나타냅니다. 즉, 모델을 보다 창의적으로 만들고 싶다면 값을 0.3으로 지정하면 됩니다.
  • 마지막으로 "max_tokens" 매개변수는 모델 출력에 포함될 수 있는 최대 토큰 수를 나타냅니다. 토큰 하나에는 약 4개의 토큰이 포함될 수 있습니다. 그러나 지정하지 않으면 기본값 64가 할당됩니다.

예제 1

model_id="models/text-bison-001"
prompt='''write a cover letter for a data science job applicaton. Summarize it to two paragraphs of 50 words each. ''' completion=palm.generate_text( model=model_id, prompt=prompt, temperature=0.99, max_output_tokens=800,
) print(completion.result)

산출:

Python을 사용하는 Google의 Palm API

입력을 요청하고 응답을 생성하는 while 루프를 정의합니다. response.last 문은 응답을 인쇄합니다.

model_id="models/chat-bison-001" prompt='I need help with a job interview for a data analyst job. Can you help me?' examples=[ ('Hello', 'Hi there mr. How can I be assistant?'), ('I want to get a High paying Job','I can work harder')
] response=palm.chat(messages=prompt, temperature=0.2, context="Speak like a CEO", examples=examples)
for messages in response.messages: print(messages['author'],messages['content']) while True: s=input() response=response.reply(s) print(response.last)

출력:

Python을 사용하는 Google의 Palm API

LangChain과 함께 Palm API 사용

LangChain은 대규모 언어 모델을 애플리케이션에 연결할 수 있는 오픈 소스 프레임워크입니다. langchain과 함께 Palm API를 사용하려면 langchain.embeddings에서 GooglePalmEmbeddings를 가져옵니다. langchain에는 OpenAI, HuggingFace 등과 같은 다양한 텍스트 임베딩 모델에 대한 표준 인터페이스를 제공하는 임베딩 클래스가 있습니다.

아래 예와 같이 프롬프트를 배열로 전달합니다. 그런 다음 llm._generate() 함수를 호출하고 프롬프트 배열을 매개변수로 전달합니다.

from langchain.embeddings import GooglePalmEmbeddings
from langchain.llms import GooglePalm llm=GooglePalm(google_api_key=API_KEY)
llm.temperature=0.2 prompts=["How to Calculate the area of a triangle?","How many sides are there for a polygon?"]
llm_result= llm._generate(prompts) res=llm_result.generations
print(res[0][0].text)
print(res[1][0].text)

출력:

Prompt 1 1. **Find the base and height of the triangle. ** The base is the length of the side of the triangle that is parallel to the ground, and the height is the length of the line segment that is perpendicular to the base and intersects the opposite vertex. 2. **Multiply the base and height and divide by 2. ** The formula for the area of a triangle is A = 1/2 * b * h. For example, if a triangle has a base of 5 cm and a height of 4 cm, its area would be 1/2 * 5 * 4 = 10 cm2. Prompt 2 3

결론

이번 글에서는 Google의 최신 Palm 2 모델을 소개하고, 이전 모델보다 어떤 점이 더 나은지 소개했습니다. 그런 다음 Python 프로그래밍 언어와 함께 Palm API를 사용하는 방법을 배웠습니다. 그런 다음 간단한 애플리케이션을 개발하고 텍스트와 채팅을 생성하는 방법에 대해 논의했습니다. 마지막으로 Langchain 프레임워크를 사용하여 이를 삽입하는 방법을 다루었습니다.

주요 요점

  • Palm API를 통해 사용자는 대규모 언어 모델을 사용하여 애플리케이션을 개발할 수 있습니다.
  • Palm API는 텍스트를 생성하는 텍스트 서비스, 채팅 대화를 생성하는 채팅 서비스 등 다양한 텍스트 생성 서비스를 제공합니다.
  • Google generative-ai는 Palm API Python 라이브러리이며 pip 명령을 사용하여 쉽게 설치할 수 있습니다.

자주 묻는 질문

Q1. Python에서 Google Palm을 어떻게 사용하나요?

A. Python에서 Palm API를 빠르게 시작하려면 pip 명령(pip install google generative-ai)을 사용하여 라이브러리를 설치할 수 있습니다.

Q2. Google Palm에는 API가 있나요?

A. 예, Google의 대규모 언어 모델에 액세스하고 Palm API를 사용하여 애플리케이션을 개발할 수 있습니다.

Q3. Palm API는 무료인가요?

A. 예, Google의 Palm API 및 MakerSuite는 공개 미리보기로 제공됩니다.

Q4. Google Palm에서 코드를 작성할 수 있나요?

A. Google의 Palm 2 모델은 20개 이상의 프로그래밍 언어로 학습되었으며 다양한 프로그래밍 언어로 코드를 생성할 수 있습니다.

Q5. Palm API는 어떤 용도로 사용되나요?

A. Palm API에는 텍스트 서비스와 채팅 서비스가 모두 포함되어 있습니다. 다양한 텍스트 생성 기능을 제공합니다.

이 기사에 표시된 미디어는 Analytics Vidhya의 소유가 아니며 작성자의 재량에 따라 사용됩니다.

spot_img

최신 인텔리전스

spot_img