📝클로바 Summary를 이용한 리뷰 요약 API 만들기
CLOVA Summary ?
문서를 요약하고 핵심 문장을 추출해 주는 서비스
(https://www.ncloud.com/product/aiService/clovaSummary)
네이버 문서요약 API를 활용해 작성한 리뷰들을 요약해주는 API를 만들어보았다
우선 네이버 클라우드 플랫폼 ncloud.com 접속 후 로그인하여 (https://www.ncloud.com/)
우측 상단 콘솔(Console) 접속 하여 AI·NAVER API 검색 후 이동
결제수단을 등록하지 않은 경우 먼저 등록처리
Application 등록시 CLOVA Summary 서비스를 활성화시켜 생성
생성한 앱을 클릭하여 인증정보를 확인
Client ID (X-NCP-APIGW-API-KEY-ID) 와 Client Secret (X-NCP-APIGW-API-KEY) 정보를 메모장에 복사해준다
이제 이 복사한 값을 컨픽파일에 넣어서 코드에 사용해준다
아래는 내가 구현한 요약 결과를 리턴해주는 API 만들기 코드 예시이다
# 요약된 리뷰 가져오기
class ReviewSummaryResource(Resource):
@jwt_required()
def get(self,hotelId):
try :
connection = get_connection()
query = '''SELECT content FROM reviews
where hotelId=%s;'''
record = (hotelId,)
cursor = connection.cursor(dictionary=True)
cursor.execute(query,record)
resultList=cursor.fetchall()
contents = [r['content'] for r in resultList]
all_content = ' '.join(contents)
cursor.close()
connection.close()
except Error as e :
print(e)
cursor.close()
connection.close()
return{"result":"fail","error":str(e)}, 500
# 문서 요약
headers = {
"X-NCP-APIGW-API-KEY-ID": Config.client_id,
"X-NCP-APIGW-API-KEY": Config.client_secret,
"Content-Type": "application/json"
}
# 한국어 설정
language = "ko"
url= "https://naveropenapi.apigw.ntruss.com/text-summary/v1/summarize"
summaryData = {"document":{
"content":all_content},
"option":{
"language":language
}
}
response = requests.post(url, data=json.dumps(summaryData), headers=headers)
json_data = json.loads(response.text)
if 'summary' in json_data:
summary = json_data['summary']
print(summary)
else:
print("Failed to get summary data")
summary = "" # 초기화 코드 추가
return {"result" : 'success','summary':summary}, 200
'Restful API' 카테고리의 다른 글
[Restful API] Chat GPT API(gpt-3.5-turbo) 사용하기 (0) | 2023.04.03 |
---|---|
[Error] TypeError: post() got an unexpected keyword argument (0) | 2023.01.17 |
[Restful API] 이미지와 텍스트 포스팅하면 태그 가져오는 API만들기 (0) | 2023.01.16 |
[Restful API] 서버 개발 총 정리 (0) | 2023.01.16 |
[Restful API] 네이버 Open API 사용해보기 (0) | 2023.01.13 |
댓글