TalkingHeads: (API 대신) Web Login을 통해 LLM 서비스들을 API로 활용할 수 있게 해주는 라이브러리

TalkingHeads: (API 대신) Web Login을 통해 LLM을 API처럼 활용할 수 있게 해주는 라이브러리

소개

TalkingHeads는 Python 라이브러리로, ChatGPT, Claude, Copilot, Gemini, LeChat, HuggingChat, Pi와 같은 다양한 온라인 대화형 에이전트와의 상호 작용을 손쉽게 할 수 있도록 설계되었습니다. 이 라이브러리는 브라우저 자동화를 통해 사용자들이 다양한 에이전트와 손쉽게 대화할 수 있게 합니다. 또한, 하나의 에이전트만 사용할 필요 없이, multiagent 모듈을 통해 여러 모델을 동시에 활용할 수 있어 더욱 효율적인 작업 환경을 제공합니다.

브라우저 자동화를 활용하여 로그인 없이도 사용할 수 있는 Pi와 같은 에이전트를 포함하여, 다양한 기능을 제공하는 TalkingHeads는 특히 AI와의 상호작용을 통해 워크플로우를 최적화하고자 하는 사용자들에게 매우 유용한 도구입니다. 사용자는 Chrome을 설치하고, 사용할 에이전트에 등록만 하면 간편하게 라이브러리를 사용할 수 있습니다.

정리하면, 대부분의 서비스가 API로 직접 사용하는 경우 사용량만큼 과금되는 것에 비해, TalkingHeads를 사용하면 Web Login을 통해 LLM에 질의를 하게 되므로 사용량에 비례하지 않고도 API처럼 사용할 수 있도록 합니다.

주요 특징 및 기능

TalkingHeads는 여러 대화형 에이전트를 한 번에 사용할 수 있다는 점에서 매우 유용합니다. 예를 들어, ChatGPT와 Copilot을 동시에 사용하여 각각의 장점을 최대한 활용할 수 있습니다. ChatGPT는 커스터마이즈된 상호작용과 모델 전환 기능이 강점이며, Copilot은 플러그인 기능과 웹 검색 기능을 제공합니다. 이와 같은 다양한 기능을 한 라이브러리에서 제공함으로써 사용자는 각 에이전트의 장점을 최대한 활용할 수 있습니다.

TalkingHeads의 주요 특징은 다음과 같습니다:

  • 다양한 에이전트와 상호작용: ChatGPT, Claude, Copilot, Gemini, LeChat, HuggingChat, Pi 등 다양한 에이전트와 상호작용할 수 있습니다.
  • 멀티에이전트 모듈: 여러 모델을 동시에 사용할 수 있어 작업 효율을 극대화할 수 있습니다.
  • 대화 저장 기능: 대화를 csv, h5, html, json, orc, pkl, xlsx, xml 형식으로 자동 저장할 수 있습니다.
  • 브라우저 자동화: Chrome 브라우저를 통해 로그인 없이도 Pi와 같은 에이전트를 사용할 수 있습니다.

각 서비스별 제공하는 기능은 다음과 같습니다:

기능 Claude ChatGPT Copilot Gemini LeChat HuggingChat Pi
로그인 없이 사용 :x: :x: :white_check_mark: :x: :x: :x: :white_check_mark:
로그인 :heavy_minus_sign: :white_check_mark: :heavy_minus_sign: :heavy_minus_sign: :white_check_mark: :white_check_mark: :heavy_minus_sign:
상호작용 :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
새로운 채팅 :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
응답 재생성 :white_check_mark: :white_check_mark: :x: :white_check_mark: :x: :x: :x:
커스텀 상호작용 :x: :white_check_mark: :x: :x: :x: :x: :x:
웹 검색 :x: :x: :white_check_mark: :x: :x: :white_check_mark: :x:
플러그인 :x: :x: :white_check_mark: :x: :x: :x: :x:
모델 전환 :x: :white_check_mark: :white_check_mark:** :x: :white_check_mark: :white_check_mark: :white_check_mark:
멀티모달 (비주얼) :white_check_mark: :heavy_minus_sign:*** :white_check_mark: :white_check_mark: :x: :x: :x:

:white_check_mark: (자동) 대화를 csv, h5, html, json, orc, pkl, xlsx, xml로 저장합니다.

:white_check_mark: : 기능 존재 및 구현됨
:x: : 기능 존재하지 않음
:heavy_minus_sign: : 기능은 존재하나 구현되지 않음

  • Gemini, Claude, Copilot을 사용하려면 사용자 프로필을 설정하고 수동으로 로그인해야 하며, 사용자 프로필 설정은 문서와 FAQ를 참고하세요.
    ** Copilot 모드(크리에이티브, 밸런스, 정밀)는 모델 스위치로 액세스할 수 있습니다. 그러나 다른 모델인지 여부는 불분명합니다.
    *** ChatGPT에는 멀티 모달리티가 있지만, 프리미엄 사용자만 사용할 수 있습니다. 개발자에게 기부를 해서 프리미엄 사용을 할 수 있도록 도와주세요!

기본 사용법

설치

# pip로 설치
pip install talkingheads

# 또는, GitHub 저장소에서 소스로 설치
pip install git+https://github.com/ugorsahin/TalkingHeads

사용 예시

from talkingheads import PiClient
chathead = PiClient()
response = chathead.interact("Hello, how are you today")
print(response)

Multi-agent 사용 예시

Multiagent 서브패키지는 여러 에이전트를 동시에 사용할 수 있도록 지원합니다. 이를 통해 다양한 AI 모델의 응답을 결합하여 최적의 결과를 도출할 수 있습니다. 예를 들어, 여러 모델에게 질문을 던지고 그 중 가장 좋은 답변을 선택하는 방식으로 사용할 수 있습니다.

설정 예시

multiagent_settings:
    auto_save: true
    save_path: 'path/to/save/dir.csv'
driver_settings:
    shared:
        verbose: true
        headless: true
        incognito: false
    nodes:
        ChatGPT: {}
        Pi: {}
        LeChat: {}

코드 예시

from talkingheads import MultiAgent

agents = MultiAgent()
response = agents.broadcast("What's the best programming language?")
print(response)

라이센스

이 프로젝트는 MIT License로 공개 및 배포되고 있습니다.

GitHub 저장소

https://github.com/ugorsahin/TalkingHeads




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:heart:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요

그러니까, 웹 UI로 제공되어 있는 LLM에 접근해서 대화를 하는데 그 입출력을 API처럼 코드단에서 할 수 있게 해주는건가요? 다소 일차원적인 우회 방법이지만 재밌네요ㅋㅋ

아이디 비밀번호 빼가진 않을까 두렵기도 하네요 ㅋㅋ

네네 그런 것 같아서 낼름 퍼왔습니다 ㅎㅎㅎ

저도 써보려다가 문득 홍석님 말씀같은 생각이 들어서, 코드 좀 보고 써봐야겠다~ 하고 깜빡했네요 ㅎㅎ

다음 주엔 꼭 해보는거로... :thinking:

(+ 혹시나 해보신 분 계시면 여기 덧글이나 자유게시판에 후기 부탁드립니다~ :D)

이 라이브러리 초창기땐 selenium 기반으로 돌아갔던 거 같은데, 중간에 캡차뜨고 그러면 작동이 안 됐던 게 기억이 나네요. 요즘은 좋아졌나보네요