티스토리 뷰
※이 글은 자기개발 및 복습을 위한 글로, 야후 뉴스 크롤링에 대한 파이썬 코딩을 만드는 방법을 작성하는 글임을 밝힌다.
주식을 하다 보면, Telegram이나 카카오 오픈채팅 등의 소스에서 뉴스를 접하는 경우가 많은데, 남이 떠먹여 주기만 해서는 내가 시사에 관심을 가질 수 없음을 깨닫는다. 그래서 직접 Yahoo News의 자료들을 크롤링하여, 해당 내용들 중 중요한 내용들을 요약하여 내 텔레그램 Bot에 요약 자료까지 발송하는 일련의 가정을 작성하고자 한다.
방법은 총 3가지로 진행될 예정이다.
1. 뉴스 자료 크롤링( [파이썬/응용]Yahoo 뉴스 자료 크롤링(1) / 원하는 뉴스 주소 크롤링)
2. 내용 요약(영문 -> 한글로 변환)
3. 텔레그램 Bot에 요약자료 발송
이번에는 1에서 크롤링한 주소의 내용을 불러와 Ollama를 활용해서 자동적으로 요약하는 쿼리를 짜볼 예정이다.
1. Ollama 설치 및 세팅
Download Ollama on macOS
Download Ollama for macOS
ollama.com
우선 해당 URL에 접속해, 맞는 Ollama installer를 실행하여 Ollama를 설치해준다.
Ollama는 로컬환경에서 LLM(Large Language Models, 대형 언어모델)을 실행할 수 있게 해주는 소프트웨어이다.
설치를 완료됐다는 알림이 뜨면, 제대로 설치되었는지 확인하기 위해
anaconda prompt를 실행하여 ollama 명령어를 입력해보면 위와 같이 뜨면서 정상적으로 설치되었음을 알 수 있다.
설치된 후에 다시 Ollama 사이트로 들어가 Models을 들어가보면, 다양한 모델이 있는데, 나는 라마3.2를 사용해볼 것이다.
Llama 3.2를 클릭하면 위와 같이 내용이 뜨는데, 나는 그 중 최신 모델인 11b를 사용할 것이다. 11b를 클릭하면 우측에
ollama run llama3.2-vision이라고 돼있는 부분을 복사할 수 있는데, 이를 prompt에 붙여넣고 실행해보자.
그럼 설치가 진행이 된다.
설치를 기다리면서 하단으로 내려보면, ollama의 사용 용법이 간단하게 적혀있다.
설치가 완료되고 말을 걸면 대화를 할 수 있다. 다만, 한국어에 익숙하지는 않은 점을 알아야한다.
다만, 이 툴을 윈도우10 이상의 python에서 사용하려고 하면,
" ImportError: cannot import name 'TypeIs' from 'typing_extensions' (/opt/conda/lib/python3.10/site-packages/typing_extensions.py)"
라는 에러가 발생하게 되는데, 이 경우
typing_extensions라는 패키지의 버전이 너무 높거나 낮기 때문에 생기는 문제이다.
anaconda prompt에서
pip uninstall -y typing_extensions
pip install typing-extensions==4.11.0
삭제 후 재설치하면 문제가 해결된다.
자 이제 파이썬으로 구동을 해보자.
import ollama
response = ollama.chat(
model='llama3.2-vision',
messages=[{
'role': 'user',
'content': '반갑다리!'
}]
)
print(response)
이런 식으로 위에 적혀있는 라이브러리 구조로 말을 걸어보면
'반갑습니다'라고 인사하는 올라마를 볼 수 있다.
다음 글에서는 올라마보다 조금 더 개선된 LLM을 통해 뉴스를 요약해보도록 할 것이다.
- Total
- Today
- Yesterday
- 실비막국수
- 춘자
- 파이썬
- 반곡동
- 4WD투어
- 여행
- 요리
- 캠핑
- 레시피
- 내돈내산
- 프랑스
- 별보기
- 코딩
- 프랑스요리
- 알틴에멜
- 카자흐스탄
- 맛집
- python
- 명륜동맛집
- 닭요리
- 콜사이
- 원주맛집
- Anaconda
- 원주
- 춘천여행
- 요리레시피
- coding
- 파이썬실용
- 알마티
- 악타우산
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |