R 패키지

chattr

코드
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ ggplot2   3.5.1     ✔ tibble    3.2.1
✔ lubridate 1.9.3     ✔ tidyr     1.3.1
✔ purrr     1.0.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
코드
> chattr::chattr_app()

── chattr - Available models 
Select the number of the model you would like to use:

1: OpenAI - GitHub Copilot Chat -  (copilot) 

2: OpenAI - Chat Completions - gpt-3.5-turbo (gpt35) 

3: OpenAI - Chat Completions - gpt-4 (gpt4) 

4: OpenAI - Chat Completions - gpt-4o (gpt4o) 


선택: 

시스템 프롬프트

Use the ‘Tidy Modeling with R’ (https://www.tmwr.org/) book as main reference Use the ‘R for Data Science’ (https://r4ds.had.co.nz/) book as main reference Use tidyverse packages: readr, ggplot2, dplyr, tidyr For models, use tidymodels packages: recipes, parsnip, yardstick, workflows, broom Avoid explanations unless requested by user, expecting code only For code output, use RMarkdown code chunks Avoid all code chunk options

키보드 단축키

코드
library(chattr)
chattr_use(provider = "LlamaGPT", path_url = "~/LlamaGPTJ-chat/build/bin/chat", model = "D:/llms/ggml-gpt4all-j.bin")
> chattr_defaults(path = "D:\\llms\\ggml-gpt4all-j.bin", model = "LlamaGPT")

── chattr ────────────────────────────────────────────────────────────────────────

── Defaults for: Default ──

── Prompt: 
 Use the R language, the tidyverse, and tidymodels

── Model 
 Provider: LlamaGPT
 Path/URL: D:\llms\ggml-gpt4all-j.bin
 Model: LlamaGPT
 Label: GPT4ALL 1.3 (LlamaGPT)

── Model Arguments: 
 threads: 4
 temp: 0.01
 n_predict: 1000

── Context: 
Max Data Files: 0
Max Data Frames: 0
 Chat History
 Document contents

ollamar

ollamar 패키지는 오픈소스 LLM을 R에서 직접 사용할 수 있도록 하는 패키지다. 올라마를 설치하고 LLM 모형을 다운로드 받은 후에 ollamar 패키지 함수를 사용해서 활용할 수 있다.

코드

Attaching package: 'ollamar'
The following object is masked from 'package:dplyr':

    pull
코드
test_connection() # 연결확인
Ollama local server running
<httr2_response>
GET http://localhost:11434/
Status: 200 OK
Content-Type: text/plain
Body: In memory (17 bytes)
코드
list_models()     # LLM 모형 
<httr2_response>
GET http://127.0.0.1:11434/api/tags
Status: 200 OK
Content-Type: application/json
Body: In memory (665 bytes)
# A tibble: 2 × 4
  name          model         parameter_size quantization_level
  <chr>         <chr>         <chr>          <chr>             
1 llama3.1:8b   llama3.1:8b   8.0B           Q4_0              
2 llama3:latest llama3:latest 8.0B           Q4_0              

라마 3.1 모형을 기반모형으로 헬로월드 프롬프트를 통해 시범운전해보자.

코드
generate("llama3.1:8b", "하늘은 왜 파란색이야?", output = "text")
<httr2_response>
POST http://127.0.0.1:11434/api/generate
Status: 200 OK
Content-Type: application/json
Body: In memory (656 bytes)
# A tibble: 1 × 3
  model       response                                                created_at
  <chr>       <chr>                                                   <chr>     
1 llama3.1:8b 파란색 빛을 우리 눈에 비추는 물체가 없기 때문에 하늘이… 2024-07-3…

뉴스기사를 요약하는 코드를 다음과 같이 작성할 수 있다. 한국 R 사용자회에서 뉴스토마토 기사를 R 데이터 패키지로 제작한 bitTomato 패키지에서 일부 뉴스를 추출해서 라마3.1 LLM에 요약작업을 수행한다.

코드
library(tidyverse)
library(ollamar)
library(bitTomato) # devtools::install_github("bit2r/bitTomato")

summarize_news <- function(news) {
  generate(
    "llama3.1:8b",
    str_glue(
      "뉴스 기사내용을 글머리표 3개로 요약한다.
      제목은 개조식으로 작성한다.
      {news}"
    ),
    output = "text"
  )
}

news_tbl <- bitTomato::cherry_tomato |>
  slice_sample(n = 3) |>
  mutate(요약 = map(contents, summarize_news))
<httr2_response>
POST http://127.0.0.1:11434/api/generate
Status: 200 OK
Content-Type: application/json
Body: In memory (8360 bytes)
<httr2_response>
POST http://127.0.0.1:11434/api/generate
Status: 200 OK
Content-Type: application/json
Body: In memory (7085 bytes)
<httr2_response>
POST http://127.0.0.1:11434/api/generate
Status: 200 OK
Content-Type: application/json
Body: In memory (5883 bytes)
코드
news_tbl |>
  mutate(요약글 = map(요약, select, "response") |> unlist()) |> 
  select(원기사=contents, 요약글) |> 
  pander::pander()
원기사 요약글
검찰이 대장동백현동 개발 사업 특혜 의혹 관련 허위 발언한 혐의로 8일 이재명 더불어민주당 대표를 재판에 넘겼다. 대선 기간 벌어진 공직선거법 위반 사건의 공소시효 만료(9일)를 하루 앞두고 이뤄진 처분이다 서울중앙지검 공공수사2부(부장 이상현)와 수원지검 성남지청 형사3부(부장 유민종)는 이날 이 대표를 공직선거법 위반(허위사실 공표) 혐의로 기소했다. 이 대표는 대선 후보시절인 지난해 12월 한 방송사 인터뷰에서 대장동 개발 사업 핵심 관계자인 고 김문기 성남도시개발공사 개발 1처장을 알았느냐는 취재진의 질문에 하위 직원이었기 때문에 시장 재직 때는 몰랐다고 말했다. 김 전 처장은 지난해 12월 대장동 개발 사업 특혜 의혹 관련 수사를 받던 중 성남도개공 사무실에서 숨진 채 발견됐다. 경찰은 타살 혐의점이 없어 김 처장의 사망사건을 내사 종결했다. 이 대표는 2018년 경기도지사 당선 후 선거법 소송이 시작된 후 대장동 사업 내용을 잘 아는 실무자로부터 김 전 처장을 소개받아 알게 됐고, 성남시 공무원과 산하기관 직원 수가 많아 실무팀장을 인지, 기억하기가 어렵다며 혐의를 부인했다. 그러나 김 전 처장의 유족과 국민의힘은 지난 2월 이 대표가 성남시장이던 2015년 1월 호주뉴질랜드 출장에서 두 사람이 함께 찍은 사진 등을 공개했다. 또 지난해 10월에는 국회 경기도 국정감사에서 백현동 한국식품연구원 부지 용도변경 특혜 의혹 관련 국토교통부가 용도 변경을 먼저 요구하고 협박했다는 취지로 발언했다. 그러나 감사원의 감사 결과 국토부의 협조 요청은 있었지만 강제성이나 협박은 없었던 것으로 조사됐다. 이에 검찰은 이 대표의 이 같은 발언을 허위사실 공표에 해당한다고 판단, 두 사건을 서울중앙지법에 일괄 기소했다. 다만 이 대표가 지난해 10월 국정감사에서 대장동 개발 사업 관련 초과이익 환수 조항을 보고 받은 바 없다고 말한 것에 대해선 무혐의 처분했다. 아울러 검찰은 이 대표와 관련해 고발된 대장동 개발사업 허위사실공표 등 공직선거법 위반 사건들을 불기소 처분하거나, 불송치 송부 기록을 경찰에 반환했다. 만일 재판에서 100만원 이상의 벌금형이 확정되면 이 대표는 공직선거법과 국회법에 따라 의원직을 잃고, 5년간 피선거권이 제한돼 차기 대선 출마길이 막히게 된다. 이와 함께 민주당이 중앙선거관리위원회로부터 보전 받은 대선 선거 비용 약 434억원도 반환해야 한다. 한편 검찰은 도이치모터스 사건 관련 허위사실 공표 혐의로 고발된 윤석열 대통령에 대해 헌법상 불소추 특권으로 공소시효가 정지된 점 등을 고려해 수사를 이어나갈 방침이다. 이밖에 윤 대통령 관련 선거법 위반 사건들은 불기소 처분했다. 이재명 더불어민주당 대표가 8일 추석 명절을 앞두고 서울 용산구 용산역을 찾아 귀성객들에게 인사하고 있다. (사진=국회사진기자단) 대장동 백현동 개발 사업 특혜 의혹 관련 허위 발언한 혐의로 이재명 더불어민주당 대표를 재판에 넘겼다. 1. 대선 기간 벌어진 공직선거법 위반 사건의 공소시효 만료(9일)를 하루 앞두고 이뤄진 처분이다 2. 이재명 대표는 대선 후보시절인 지난해 12월 한 방송사 인터뷰에서 대장동 개발 사업 핵심 관계자인 고 김문기 성남도시개발공사 개발 1처장을 알았느냐는 취재진의 질문에 하위 직원이었기 때문에 시장 재직 때는 몰랐다고 말했다. 3. 이 대표는 2018년 경기도지사 당선 후 선거법 소송이 시작된 후 대장동 사업 내용을 잘 아는 실무자로부터 김 전 처장을 소개받아 알게 됐고, 성남시 공무원과 산하기관 직원 수가 많아 실무팀장을 인지, 기억하기가 어렵다며 혐의를 부인했다.
문재인 대통령이 10일 보리스 존슨 영국 총리와의 통화에서 내년도 주요 7개국(G7) 정상 회의에 초청 받았다. 강민석 청와대 대변인은 이날 서면 브리핑을 통해 문 대통령은 이날 영국 측 요청으로 오후 5시30분부터 30분간 정상 통화를 진행했다고 밝혔다.코로나19 상황 속 지난 2월 20일 첫 정상 통화를 한 이후 58번째( WTO 사무총장 선거 지원 포함) 정상 통화다. 존슨 총리는 내년도 G7 의장국 자격으로, 내년 중순 영국에서 열리는 G7 정상회의에 문 대통령을 초청한다는 의사를 표명했다. 문 대통령은 이에 영국의 내년 G7 의장국 수임을 환영한다며 G7 정상회의 초청에 감사드리며 성공적인 G7 정상회의가 될 수 있도록 적극 영국과 협력하고 기여할 의지를 가지고 있다고 답했다. 이어 우리 정부는 코로나 때문에 연기한 2차 녹색 성장 및 2030 글로벌 목표를 위한 연대 (P4G) 정상회의를 아셈(ASEM아시아-유럽) 정상회의와 연계해 내년 5월 말 서울에서 개최할 예정이라며 조만간 공식 초청 서한을 보내드릴 예정인데, 총리께서 참석해 주시면 더욱 뜻깊은 회의가 될 것이라고 덧붙였다. 또 내년도 기후변화당사국총회(COP26) 의장국인 영국이 국제 사회의 기후 변화 대응을 선도하고 있음을 평가한다며 지난달 나는 ’2050 탄소 중립 선언’을 했는데, 국제 사회와 함께 기후 변화에 적극 대응하고자 하는 우리 정부의 의지를 표명한 것으로, 양국이 기후 변화 대응을 위해 긴밀히 협력해 나가기를 기대한다고 강조했다. 존슨 총리는 대통령께서 2050 탄소 중립을 선언한 것에 축하한다며 매우 흥미롭고 멋진 행보를 보이는 것이라고 평가하며 P4G 공식 초대장을 기다리겠다. 한국이 코로나19에 멋지게 대응해 전 세계 좋은 모델이 되고 있다고 화답했다. 특히 양 정상은 최근 전 세계적으로 코로나 상황이 다시 악화되는 것에 대한 우려 입장을 공유하고 향후 △백신치료제 개발 △보건 거버넌스 강화 등 코로나19 종식을 위해 긴밀히 협력해 나가기로 했다. 이와 함께 브렉시트 이후에도 지난해 ’한-영 FTA’가 체결되고 정무와 글로벌 분야의 포괄적 협력을 담은 ’한-영 공동 성명’이 채택되는 등 공고한 협력이 유지되고 있음을 평가, 앞으로도 무역안보방산 등 다양한 분야에서 협력을 강화해 나가기로 했다. 문재인 대통령이 10일 청와대 여민관 소회의실에서 보리스 존슨 영국 총리와 전화 통화하고 있다. 문재인 대통령, 보리스 존슨 영국 총리와의 전화를 마치고 1. 내년 G7 정상 회의 초청: 문재인 대통령이 10일 보리스 존슨 영국 총리와의 통화에서 내년도 주요 7개국(G7) 정상 회의에 초청 받았다. 2. 기후변화 대응 및 P4G 정상회의 개최: 존슨 총리는 내년 중순 영국에서 열리는 G7 정상회의에 문 대통령을 초청하고, 우리 정부는 코로나 때문에 연기한 P4G 정상회의를 아셈(ASEM아시아-유럽) 정상회의와 연계해 내년 5월 말 서울에서 개최할 예정이다. 3. 코로나19 대응 및 협력: 양 정상은 최근 전 세계적으로 코로나 상황이 다시 악화되는 것에 대한 우려 입장을 공유하고 향후 백신치료제 개발, 보건 거버넌스 강화 등 코로나19 종식을 위해 긴밀히 협력해 나갈 예정이다.
미국의 코로나19 확진자가 15만명을 넘긴 가운데 미국인 20만명이 사망할 수 있다는 백악관 조정관의 전망이 나왔다. 30일(현지시간) 데비벅스 백악관 코로나19 태스크포스(TF) 조정관은 NBC방송과의 인터뷰에서 앤서니 파우치 국립알레르기전염병 연구소장이 미국에서 수백만명이 감염되고 10만에서 20만명이 사망할 수 있다고 했는데, 여기에 동의하냐는 질문에 거의 완벽하게 대응한다고 하더라도 미국에서 그 정도 사망자가 나올 수 있다고 대답했다. 미국 정부가 최선의 노력을 다하고 미국인들이 정부 지침을 철저히 따른다고 해도 사망자가 10만에서 20만명에 이를 수 있다는 게 미국 보건당국의 판단이란 점을 거듭 확인한 것이다. 벅스 조정관은 또 도시에 이어 시골 지역사회도 코로나19 확산에 대비해야 한다고 경고했다. 그는 어떠한 주나 대도시, 농촌지역도 코로나19 확산을 피할 수 없을 것이라며 이 코로나바이러스는 많은 무증상 환자나 경미한 환자들 사이에서 확산할 수 있다. 취약한 집단에 퍼진 후에야 사람들이 병원에 실려 가는 걸 볼 수 있다고 말했다. 그는사람들이 입원하는 걸 볼 때쯤이면 코로나바이러스는 지역사회에 매우 심각하게 침투해 있을 것이다며 이것이 아직 바이러스가 거기 없더라도 대비해야만 하는 이유라고 강조했다. 존스홉킨스대학은 이날 오후 1시2분 기준 미국 내 코로나19 확진자 수는 15만3246명이며 사망자는 2828명으로 집계됐다고 밝혔다. 코로나19 피해가 가장 큰 뉴욕주의 확진자는 6만6497명으로 늘었다. 이는 전날보다 6000여명 증가한 수치다. 지난 26일(현지시간) 미국 뉴욕의 브루클린 병원 선별 진료소에서 의료진이 코로나19 검사를 받으러 온 한 여성을 안내하고 있다. 미국, 10만명 사망 가능성…백악관 “대응해야” 코로나19 확산 미국인 20만명 사망할 수 있다는 백악관 조정관의 전망이 나왔다. 도시와 시골에도 주의 벅스 조정관은 도시에 이어 시골 지역 사회도 코로나19 확산에 대비해야 한다고 경고했다. * 그는 어떠한 주나 대도시, 농촌지역도 코로나19 확산을 피할 수 없을 것이라며 이 코로나바이러스는 많은 무증상 환자나 경미한 환자들 사이에서 확산할 수 있다. * 취약한 집단에 퍼진 후에야 사람들이 병원에 실려 가는 걸 볼 수 있다고 말했다. * 뉴욕주의 코로나19 확진자 6만명 이상 존스홉킨스 대학은 이날 오후 기준 미국 내 코로나19 확진자 수는 15만3246명이며 사망자는 2828명으로 집계됐다고 밝혔다.