'개발 수익화 > 애드몹' 카테고리의 다른 글
Flutter admob native tutorial(코틀린) (0) | 2023.12.11 |
---|---|
Admob 광고 비싼 키워드 Top20 (0) | 2023.08.25 |
Flutter admob native tutorial(코틀린) (0) | 2023.12.11 |
---|---|
Admob 광고 비싼 키워드 Top20 (0) | 2023.08.25 |
Flutter 앱 개발 중 admob 을 통한 수익을 극대화 하기위해,
admob request 중 키워드를 설정 할 수 있다는 사실을 알게되었다.
키워드는 2개까지 설정할 수 있다고 Admob manual 에서 본듯?
(https://support.google.com/google-ads/answer/2453981?hl=en)
구현/확인해보니 설정한대로 되지 않아 검색도중 발견하여,
메모 삼아 포스팅합니다.
2011년 기준이란다 ㅎㅎ
아래는 2022년 비싼 키워드 관련 링크입니다.
https://www.wordstream.com/blog/ws/2017/06/27/most-expensive-keywords
The 25 Most Expensive Keywords in Google Ads
We’ve completed a new, comprehensive analysis of keyword data for five different currencies in English-speaking countries. We determined the top 25 most expensive keywords (meaning these niche markets are super-competitive) along with their average CPC.
www.wordstream.com
한국에서는 어쩔지 모르겠다 ㅎ
Flutter admob native tutorial(코틀린) (0) | 2023.12.11 |
---|---|
모바일 앱 광고 참고자료(링크모음) (0) | 2023.08.25 |
app_version_update 4.0.1 를 사용하니 정말 쉽고, iOS/Android 모두 지원합니다.
참고로 upgrader 도 모두 지원하나 다른 패키지는 플랫폼 하나만 지원하거나 하는 경우가 많더라고요.
(개발하다가만 느낌..)
app_version_update 사용하시면 정말 정말 쉽습니다. (한참 해마다 https://pub.dev/ 에서 검색해서 알게됐습니다.
설치방법은 터미널에서 아래 명령어를 실행합니다.
flutter pub add app_version_update
아래 코드를 복사붙여넣기 하시면 끝. (import 구문은 생략하겠습니다)
혹시 몰라 추가로 해주실 일 남깁니다.
- import 해주기
- 아래 코드에서 playStoreID, appleId 수정해주기
@override
void initState() {
_verifyVersion();
super.initState();
}
void _verifyVersion() async {
await AppVersionUpdate.checkForUpdates(
appleId: '1459706595',
playStoreId: 'com.example.kr',
country: 'kr',
).then((result) async {
if (result.canUpdate!) {
// await AppVersionUpdate.showBottomSheetUpdate(context: context, appVersionResult: appVersionResult)
// await AppVersionUpdate.showPageUpdate(context: context, appVersionResult: appVersionResult)
// or use your own widget with information received from AppVersionResult
//##############################################################################################
await AppVersionUpdate.showAlertUpdate(
appVersionResult: result,
context: context,
mandatory: true,
backgroundColor: Colors.grey[200],
title: 'New version available',
titleTextStyle: const TextStyle(
color: Colors.black, fontWeight: FontWeight.w600, fontSize: 24.0),
content: '새로운 업데이트가 발견되었습니다.',
contentTextStyle: const TextStyle(
color: Colors.black,
fontWeight: FontWeight.w400,
),
updateButtonText: 'UPDATE',
cancelButtonText: 'LATER',
);
//## AppVersionUpdate.showBottomSheetUpdate ##
// await AppVersionUpdate.showBottomSheetUpdate(
// context: context,
// mandatory: true,
// appVersionResult: result,
// );
//## AppVersionUpdate.showPageUpdate ##
// await AppVersionUpdate.showPageUpdate(
// context: context,
// appVersionResult: result,
// );
}
});
// TODO: implement initState
}
이후 에뮬레이터에서 확인
방법은 pubspec.yaml 파일의 version 을 1.0.0+1 을 0.0.1 로 수정 후 테스트 해보았습니다.
너무 쉬운 snippet 완성!
즐거운 개발되세요!
git clone flutter repository (0) | 2024.02.05 |
---|---|
Flutter 공부하기 좋은 유튜브 채널 소개 추천 (0) | 2023.12.26 |
Flutter 에서 MongoDB 연결 및 읽기 (0) | 2023.08.11 |
firebase flutter 연결 설정 방법
연결방법은 크게 세가지 파트로 나뉩니다.
- firebase console 에서 프로젝트 만들기
- firebase cli 를 이용하여 flutter project 에 init / configure 하여 firebase+flutter attach 하기
- simple example
이번 포스팅에서는 코드 실행을 다룰 예정이니 세팅 관련해선 이전 포스팅을 꼭 참고하세요!
Flutter + Firebase 초간단 연결방법 - 세팅편
연결방법은 크게 세가지 파트로 나뉩니다. - firebase console 에서 프로젝트 만들기 - firebase cli 를 이용하여 flutter project 에 init / configure 하여 firebase+flutter attach 하기 - simple example 위 내용을 순서대로
wayfarer99.tistory.com
Code execution 을 해보겠습니다.
1. 빌드를 위해 build.gradle(app) 을 수정해야 합니다.
- android > defaultConfig 에서 minSdkVersion 19 로 수정
- android > defaultConfig 에서 multiDexEnabled true 추가
2. 아래 링크에 들어가면 firebase_analytics 예제코드를 실행해 보겠습니다. main.dart 와 tabs_page.dart 를 /lib 폴더에 추가합니다. 실행하기 전에 'flutter pub add' 를 이용하여 패키지 설치도 해주세요.
3. 실행 결과입니다.
확실히 블로그로 글을 남기고 나니, 장기기억화에 도움이 많이 되는거 같습니다.
도움이 되셨다면 공감버튼 OR 댓글 부탁드립니다.
다음 내용은 cloud firestore 에 대해서 실습해보도록 하겠습니다.
Flutter + Firebase 초간단 연결방법 - 세팅편 (0) | 2023.08.11 |
---|
연결방법은 크게 세가지 파트로 나뉩니다.
- firebase console 에서 프로젝트 만들기
- firebase cli 를 이용하여 flutter project 에 init / configure 하여 firebase+flutter attach 하기
- simple example
위 내용을 순서대로 적어두었습니다.
1. Firebase 에 가입합니다. https://console.firebase.google.com/
- 구글 계정만 있으면 3초면 가입가능합니다.
2. '프로젝트 추가'를 누르고, DB가 provisioning(init 과정이라고 생각하시면 됩니다.) 되길 기다립니다(1~2분 소요)
3. 생성된 프로젝트로 들어온 후 제일 우측에 있는 Flutter 아이콘 클릭.
4. 아래 그림에 Firebase CLI 설치 와 Flutter SDK 를 설치합니다. 이 글을 보시는분들 대부분 Flutter SDK 는 설치되어있으실거라 생각합니다.
5. 터미널이나 cmd창을 이용해 'flutter login' 을 쳐줍니다. Flutter CLI 를 설치하고 PATH 설정을 해줬는데도, VSCODE 에서 실행이 되질 않아서, cmd 창에서 프로젝트 경로에서 실행했습니다.
6. 터미널에서 'dart pub global activate flutterfire_cli' 실행
7. project 에 드디어 firebase 붙이는 설정 cmd 를 실행합니다. 'flutterfire configure'
아래처럼 오류가 나서 'firebase projects:list --json' 을 실행하고 나서 다시 입력하니 잘됩니다. 위에서 만들었던 firebase project 를 선택합니다.
8. 다음 릴리즈하실 플랫폼 선택 후 완료하시면 아래처럼 연결이 완료됩니다.
이제 코드로 연결확인 할 차례입니다. VSCODE 로 들어가려고 하는데,
내용이 길어지니 다음 포스팅에 계속하도록 하겠습니다.
감사합니다.
Flutter + Firebase 초간단 연결방법 - 코드실행 (0) | 2023.08.12 |
---|
들어가기에 앞서 팁을 드리자면,
플러터의 인기가 한참 치솟고 있기 때문에, API 등이 변경되는 경우가 많은걸 확인했습니다.
따라서 구글 등 검색으로 작성하기 보단 https://pub.dev/ 에 담긴 내용들이 최신이기 때문에,
https://pub.dev/packages/mongo_dart 의 example 과 installing 을 참고하시면
시행착오를 많이 줄일수 있습니다.
설치하는 방법은 아래 캡쳐화면을 참고하세요.
VSCODE 에서 터미널 여는 단축키는 Ctrl+` 입니다.
이후, 아래 내용을 mongo_helper.dart 로 작성합니다.
import 'package:mongo_dart/mongo_dart.dart';
class MongoDBService {
final String _host; // MongoDB server host address
final int _port; // MongoDB server port
final String _dbName; // Database name
final String _collectionName; // Collection (table) name
MongoDBService(this._host, this._port, this._dbName, this._collectionName);
Future<Db> _openDb() async {
final db = Db('mongodb://$_host:$_port/$_dbName');
await db.open();
return db;
}
Future<List<String>> fetchWords() async {
final db = await _openDb();
final collection = db.collection(_collectionName);
final words = await collection.find().toList();
await db.close();
return words.map((word) => word['word'] as String).toList();
}
}
동작이 되지 않을땐 아래 내용을 확인해보세요.
- mongo server 가 잘 동작하고 있는지
- db 연결이 잘되고 있는지.. db.open() 을 인자로 받아서 print 하시거나 connection status 등 을 출력할 수 있습니다.
git clone flutter repository (0) | 2024.02.05 |
---|---|
Flutter 공부하기 좋은 유튜브 채널 소개 추천 (0) | 2023.12.26 |
Flutter in app 강제 업데이트 방법(upgrader 아님) (1) | 2023.08.18 |
YouTube 숏츠에서도 수익화가 가능해지면서 노출에 유리하다고 알려진 알고리즘들이 시도되고 있습니다. 해외 유튜버들은 YouTube 숏츠 알고리즘을 최적화하기 위해 해킹한 것으로 알려져 논란이 되고 있습니다. 유명 유튜버들 사이에서 널리 동의된 12가지 쇼츠 알고리즘 최적화 전략을 알아보겠습니다.
1. 반복되는 쇼츠 영상을 제작하기
2. 조회수가 안나오면 삭제후 재 업로드하기
3. 넘버링 된 컨텐츠를 만들기
4. 인기 음악을 배경음으로 활용하기
5. 밝은 화면으로 시작하기
6. 음악 비트에 화면 변화 맞추기
유튜브 알고리즘에서는 시청 시간, 특히 평균 시청 시간이 가장 중요한 요소입니다. 대부분의 인기 있는 쇼츠 영상은 100% 이상의 평균 조회율을 기록합니다. 이는 시청자들이 영상을 끝까지 보고 다시 시청한다는 것을 의미하는데요. 따라서 시청자가 영상이 끝났다는 신호를 주지 않도록 편집하는 것이 중요합니다. 영상이 끝나지 않는 느낌을 주도록 편집해보세요!
https://youtube.com/shorts/n3ytDUnI1q0
반복되는 쇼츠 영상 예시
그 동안 올렸던 영상 조회수에 한참 못미치는 조회수가 나올때가 간혹 있을거에요. 쇼츠 알고리즘이 아직은 완전한 로직을 갖추기 이전이기 때문에 발생하는 현상입니다. 그때는 걱정하지 마시고 삭제 후에 하루 이틀이 지난뒤 제목을 살짝 수정후 다시 업로드 해보세요. 이럴 경우 다시 조회수가 터지는 경우가 있습니다. 이 방법을 통해 쇼츠 알고리즘이 다른 방식으로 작동하는 경우가 많이 보고되고 있습니다.
예를 들어, '최근 읽어볼만한 책 추천 3가지', '주식 관련 매매방법 3가지' 이런식으로 컨텐츠를 작성 후, 이를 썸네일에 담아보세요. 이런 썸네일은 정보가 정리되어 있다는 인식을 줍니다. 정리된 정보를 이해하는 것을 좋아하는 인간의 뇌에 맞는 전략입니다. 단락으로 구성된 정보는 정리되었다는 인식을 줍니다.
인간은 보통 3이란 숫자까지를 선호합니다. 4부터는 정보 입력이 힘들어지거든요. 예를 들어, "3가지 알아보기", "3가지 방법", "3가지 반응" 등 숫자로 콘텐츠를 구성하면 시청자가 한 가지만 보고 나가지 않을 가능성이 높아집니다. 또한 '소개팅에서 남자가 좋아하는 패션 0탄' 식으로 시리즈 구성을 해볼 수 도 있습니다.
같은 음악을 한 그룹으로 묶어 쇼츠 피드에 함께 제공하는 경향이 있습니다. 현재 가장 인기 있는 음악을 배경음악으로 사용하여 쇼츠를 업로드하면 피드에 함께 나타날 수 있습니다. 편집 시 인기 음악을 넣는 것이 아니라 YouTube에서 제공하는 리믹스 기능을 사용해야 해요. 최신 인기 음원을 리믹스로 사용하는 방법을 알아보세요. 유튜브 모바일 앱에서 좌측 상단에서 "인기 급상승" 탭으로 이동하여 음악 목록을 확인한 후 리믹스 버튼을 눌러 업로드 화면으로 이동하면 모바일에서 업로드가 가능합니다. 추가적인 팁으로 쇼츠 업로드시에는 꼭 모바일에서 업로드하시길 바랍니다!
쇼츠는 처음 3초 안에 시청자가 시청할지 말지를 결정하기 때문에 도입부의 화질과 구도가 아주 중요하다고 할 수 있는데요, 쇼츠 영상이 시작될 때는 밝고 화려한 화면이 어두운 흔들리는 화면보다 시청 지속시간이나, 유입에 매우 효과적입니다. 또한 첫 화면에 정보를 전달할 수 있는 텍스트를 사용해서 화면에 가득 채워주는 것도 시청자에게 어필을 하고 사전 정보를 전해서 시청 집중력을 높일 수 있습니다.
![]() |
![]() |
---|
이는 인스타그램에서도 굉장히 많이 사용된 알고리즘입니다. 음악의 변화에 맞춰 화면 변화를 주는 방법인데요. 쇼츠 영상에서 화면이 빠르게 변화하고 인상적인 효과를 주는 것이 조회수를 높이는데 좋습니다. 대부분의 조회수가 높은 쇼츠 영상은 1초에도 여러 번의 화면 전환을 포함하고 있습니다. 대표적인 예시로 해외 1000만 구독자를 보유한 _vector_ 가 있습니다.지속적인 화면 전환을 통해 시청자의 평균 시청 시간을 증가시킬 수 있습니다. 동적인 화면 변화를 쇼츠에 적용하여 조회수를 높여보세요!
그 외에도 썸네일, 제목, 설명, 태그 등 최적화 시킬수도 있는데, 이는너무 당연하고 널리 알려진 것들이라 설명을 생략하겠습니다. 위에 소개한 6가지 전략을 적용해서 YouTube 쇼츠에서 큰 성공을 하시길 응원하겠습니다. 알고리즘은 계속해서 변화하고 새로운 방식을 시험하기 때문에 새로운 기법에 대해 유연하게 대처하시는게 좋습니다. 물론 꾸준한 업로드는 그보다 더 중요합니다. 사용자가 좋아할 만한 콘텐츠를 지속적으로 제공하면서 최적화 방법을 알아가시면 YouTube 쇼츠에서 더욱 많은 노출, 높은 참여율, 그리고 증가하는 조회수를 얻을 수 있을거에요!
ChatGPT 의 도움을 받아 블로그를 운영중인 경험과 구글 애드센스 승인 받은 팁과 노하우를 공유하려고 합니다. 애드센스 승인을 받는 다양한 방법이 있지만, 저는 ChatGPT를 사용하여 승인을 받았습니다. 이로 인해 경제적 파이프라인이 하나 더 추가되었네요!
이번 기회에 애드센스 승인 잘 받기위한 글 작성법과 GPT 사용법 등 에 대해 소개하려고 합니다.
1. 한 가지 주제로도 애드센스 승인 충분합니다
2. 메타 디스크립션 작성하기
3. 구글 애드센스 승인을 위해서는 사신보다 글자수가 중요합니다
4. ChatGPT 의 결과를 바로 복사/붙여넣기 하지마세요
구글 애드센스에 합격하는 블로그 글을 작성하기 위해서는 하나의 블로그 토픽에 집중하여 작성하는 것이 좋습니다. 이는 구글봇이 전문적인 글을 선호하기 때문에 전문적이면서도 사람들이 선호할 만한 주제를 선택하는 것이 좋습니다. 이때 토픽을 정하는게 중요한데요, 본인의 취미생활과 연관된 내용을 정하는게 좋아요. 주제를 하나 정하시더라도, 여러 글을 발행하는 것은 쉽습니다. 그 팁을 드리기 위해 취미가 '클라이밍' 이라고 예를 들어보겠습니다. 클라이밍이라고 하면, 노하우와 문제풀이 등 주제가 한정적이라고 생각할 수 있어요. 하지만 이를 '장비', '대회', '선수 소식', '룰 소개' 등 정말 수백가지의 가지치기가 가능하답니다. 자세한 '경기 룰'을 모르시더라도, ChatGPT 의 도움을 받을 수 있으니, 정말 블로그하기 좋은 세상이 아닐 수 없습니다.
메타 디스크립션은 본문의 핵심 내용을 요약하여 적는 부분인데, 인사글이나 오늘 날씨와 같은 관련 없는 내용은 피해야 합니다. 구글 로봇이 선호하는 형식에 맞춰 작성해야 하므로, 방문자 수나 영향력에는 신경 쓰지 않아도 됩니다. 해당 예시는 지금 보시는 포스팅의 글을 참고하시면 좋을 거 같아요. 한편으론 구글에서 메타 디스크립션 참고를 하지 않는다 밝힌바 있으나, 친구독자/글자수/타플랫폼 측면 등을 고려하신다면 넣는게 올바른 블로그 작성법이라는 생각이 드네요.
기존 N사 블로거 분들께서는 사진을 많이 올리는 습관이 있을텐데요. 구글은 사진의 양보다 글의 양을 중요하고, 사진수는 1~2장, 글자수는 1500~2500자 정도가 적당합니다. 넓은 글자수를 추천드리는 이유는 ChatGPT 로 인해서 꾸준히 2000자를 쓰기보단 다양한 글자수의 포스팅이 좋을거라는 판단이었고, 많은 분들이 2000자를 추천하지만 적은 글자수더라도 해당 컨텐츠가 고품질이라면 자연스럽게 체류시간 증가하기 때문입니다. 1500 자 이상은 지켜주시는게 좋습니다.
저 같은 경우 사진을 2장 사용하려고 하는데, 한장은 썸네일(방문유입), 한장은 글보다 사진 설명이 쉬울 때 사용합니다.
빠른 이해를 돕기위해 아래 사진을 첨부합니다.
바로 복사/붙여넣기 를 하면 안되는 이유는 두가지 입니다.
첫 번째는, 인터넷 브라우저에는 일반 텍스트처럼 보이지만 End-User 에게 보이지 않는 Html Tag 등이 함께 삽입됩니다.
두번째는 저의 의견이지만 공유하자면, AI-Detection 기능으로 인해 구글봇에게 해당 글이 AI 로 인해 대량생산 글이라는 인식을 주면 기존 글들과 함께 모두 구글 애드센스 반려된 가능성이 있기 때문입니다. 물론 이를 우회하는 방법도 존재하며, 이는 추후 포스팅에서 공유할 예정입니다.
위와 같은 방법을 활용하여 저는 애드센스 승인을 받았습니다. 이 방법을 익숙해지면 매우 빠르게 승인 글을 작성할 수 있으므로 한 번 따라해 보시기를 권장합니다. 물론 모든 단계를 반드시 따를 필요는 없고, 개인적인 노하우나 팁을 추가하여 자신만의 방법을 개발할 수도 있습니다. 애드센스 승인을 성공적으로 받을 수 있기를 바라며, 다음에도 유익한 컨텐츠로 찾아올 것을 약속드립니다. 감사합니다.
10. ChatGPT 사용법 - Youtube 스크립트로 글쓰기 (0) | 2023.10.05 |
---|---|
8. ChatGPT 사용법 - 파이썬 개발 초간단 예제(3) (0) | 2023.05.27 |
7. ChatGPT 사용법 - 파이썬 개발 초간단 예제(2) (0) | 2023.05.26 |
6. ChatGPT 사용법 - 파이썬 개발 초간단 예제(1) (0) | 2023.05.26 |
5. ChatGPT 사용법 - 블로그 프롬프트 7가지 (0) | 2023.05.26 |
ChatGPT API 사용하는 법 초간단 예제를 아래 순서로 포스팅 합니다.
내용이 유익하셨다면, 구독/댓글/좋아요 부탁드립니다.
해당 포스팅은 2. ChatGPT 와 연속적인 대화 만들기 에 대한 글입니다.
5. ChatGPT 사용법 - 블로그 프롬프트 7가지 에서 제공한 Pre-defined 된 프롬프트를 적용하여, 코드로 구현할 차례이다.
아래는 블로그 글 작성 Prompt 를 적용하여 만들어진 결과이다.
적용하지 않았을 때와 너무 확연한 차이가 난다.
예상한대로 아웃라인을 작성해줬고, 이후 서문과 내용을 적어주는데, 마지막 문장이 끊겼다.
이는 API 요청을 통해 결과를 전달받을 경우 제한된 Token 수로 인한 것으로 추측된다.
response 에 'stop' 값이 제대로 담겨있는지 확인해 볼 필요가 있어 확인해보니,
finish_reason 이 기존 수행한 것처럼 stop 이 아닌 length 란 결과로 나왔고,
'usage' 를 확인하니, 설정한 Token 인 2048을 모두 소진한 것으로 확인되었다.
지정한 token 값이 2048 로 모두 결과를 출력하는데 사용됐고, 389 는 pre-prompt 와 prompt 의 값이다.
최대값인 4096으로 값을 세팅하게 되더라도, 이는 문제가 될 여지가 있어보이는데, 추후 확인볼 예정이다.
이렇게 pre-prompt 가 잘 작동하는 것까지 확인해보았고, 그 결과코드는 아래 있다.
import openai
import os, json
import pandas as pd
MODEL_ENGINE = 'gpt-3.5-turbo'
IMAGE_MODEL_ENGINE = 'text-davinci-002'
class GPT_BC_API():
def __init__(self):
prompt = 'I Want You To Act As A Content Writer Very Proficient SEO Writer Writes Fluently Korean. First Create Two Tables.' \
'First Table Should be the Outline of the Article and the Second Should be the Article. Bold the Heading of the Second Table using Markdown language.' \
'Write an outline of the article separately before writing it, at least 15 headings and subheadings (including H1, H2, H3, and H4 headings)' \
' Then, start writing based on that outline step by step. Write a 500-word 100% Unique, SEO-optimized, Human-Written article in Korean with at least 10 headings and subheadings' \
'(including H1, H2, H3, and H4 headings) that covers the topic provided in the Prompt. Write The article In Your Own Words Rather Than Copying And Pasting From Other Sources.\n' \
'Consider perplexity and burstiness when creating content, ensuring high levels of both without losing specificity or context. Use fully detailed paragraphs that engage the reader.' \
'Write In A Conversational Style As Written By A Human (Use An Informal Tone, Utilize Personal Pronouns, Keep It Simple, Engage The Reader, Use The Active Voice, Keep It Brief, Use Rhetorical Questions,' \
'and Incorporate Analogies And Metaphors). End with a conclusion paragraph and 5 unique FAQs After The Conclusion.' \
'this is important to Bold the Title and all headings of the article, and use appropriate headings for H tags. And In The Very Bottom of the article Write This Custom Massage. Please write in Korean language.'
prompt += input('Ask to gpt: ')
res = self.request_chatgpt([{'role': 'user', 'content': prompt}], MODEL_ENGINE)
print(res)
pass
def request_chatgpt(self, conversations, model_engine):
response = openai.ChatCompletion.create(
model=model_engine,
messages=conversations,
max_tokens=2048,
temperature=1, # creativity
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
conversations.append({
'role': response.choices[0].message['role'],
'content': response.choices[0].message['content'].strip()
})
self.logger.info(response)
return conversations
if __name__ == '__main__':
gc = GPT_BC_API()
pass
그동안 예제와 달리 편의를 위해 간단한 클래스를 만들었다.
위 코드에서 확인된 문제는 두 가지인데,
Pre-Prompt 로 인해 GPT 가 말하는 내용이 길어지면서 생기는 token overload 문제
- 'finish_reason' 처리, 'stream'처리 예정
GPT 접속 user 가 많았을 경우 끊김 현상이 발생한 점이다.
- 예외처리? 로 해결
Pre-prompt 적용방법을 끝으로 chatgpt API 초간단 예제는 여기까지 마무리하고,
베이비 프로젝트를 하나 진행하려고 하는데,
위 문제를 먼저 해결해볼까 한다.
10. ChatGPT 사용법 - Youtube 스크립트로 글쓰기 (0) | 2023.10.05 |
---|---|
9. ChatGPT 사용법 - 블로그 일주일만에 구글 애드센스 승인 팁 (1) | 2023.05.28 |
7. ChatGPT 사용법 - 파이썬 개발 초간단 예제(2) (0) | 2023.05.26 |
6. ChatGPT 사용법 - 파이썬 개발 초간단 예제(1) (0) | 2023.05.26 |
5. ChatGPT 사용법 - 블로그 프롬프트 7가지 (0) | 2023.05.26 |
ChatGPT API 사용하는 법 초간단 예제를 아래 순서로 포스팅 합니다.
내용이 유익하셨다면, 구독/댓글/좋아요 부탁드립니다.
해당 포스팅은 2. ChatGPT 와 연속적인 대화 만들기 에 대한 글입니다.
초간단예제 1번 에서 발생한 문제의 해결 방법은 의외로 간단하다.
기존에 받은 결과를 계속해서 입력으로 넣어주는 것이다.
import os
import openai
openai.api_key = os.getenv('OPENAI_KEY')
def generate_response(prompt):
response = openai.Completion.create(
engine='text-davinci-003',
prompt=prompt,
max_tokens=2048,
temperature=0.7,
n=1,
stop=None,
)
return response.choices[0].text.strip()
# 대화 시작
prompt = "사용자: 안녕하세요!"
while True:
user_input = input("사용자: ")
prompt += "\n사용자: " + user_input
response = generate_response(prompt)
# 결과로 받은 response 를 prompt 에 다시 저장.
prompt += "\nChatGPT: " + response
print("ChatGPT:", response)
23번째 줄에 삽입한 한 줄로 프로그램에 메모리 기능이 생기게 되었다.
아주 Nice 한 방법은 아닌게, 이렇게 해결하게 되면 추후에 전달하고 받는 Token 의 개수에 제한이 걸리게 때문이다.
ref. Token 은 대화를 전달받는 대화의 '단위' 이다. ChatGPT 에서는 한 마디, 두 마디라고 하지 않는다.
이를 괜찮게 해결한 방법이 Github 에 올라와 있는데, Flask 라는 Web Framework 을 이용한 방법이다. Flask 를 이용하면 https://chat.openai.com/ 에 웹브라우저를 통해 접속하여, 대화를 진행하는 것이 코드만으로 수행이 가능하다.
이미 ChatGPT API 를 위해 'text 파일 업로드해서 input 으로 사용하는 법', 'pdf 업로드 방법' 등 다양한 노하우가 공개되기도 했다. 전부 필요하고 유익한 내용들이라 추후 다룰 예정이다.(세상이 너무 빨라서 갈 길이 멀다.)
위 코드를 반영한 결과와 함께 블로그 포스팅을 마친다.
위 내용이 만족스러운가?
저렇게 글을 쓰면 블로그 자동화는 커녕, ChatGPT 를 단순 검색정도의 수준으로 밖에 활용하지 못할 것이다.
5. ChatGPT 사용법 - 블로그 프롬프트 7가지 에서 제공한 Pre-defined 된 프롬프트를 적용하여, 더 나이스한 결과를 다음 포스팅에서 기대해 본다.
9. ChatGPT 사용법 - 블로그 일주일만에 구글 애드센스 승인 팁 (1) | 2023.05.28 |
---|---|
8. ChatGPT 사용법 - 파이썬 개발 초간단 예제(3) (0) | 2023.05.27 |
6. ChatGPT 사용법 - 파이썬 개발 초간단 예제(1) (0) | 2023.05.26 |
5. ChatGPT 사용법 - 블로그 프롬프트 7가지 (0) | 2023.05.26 |
4. ChatGPT 사용법 - 마음가짐, 철학 (0) | 2023.05.26 |