Skip to content

A library to communicate with ChatGPT, Claude, Copilot, Gemini, HuggingChat, and Pi

License

Notifications You must be signed in to change notification settings

ugorsahin/TalkingHeads

Repository files navigation

TalkingHeads πŸ’¬

TalkingHeads Documentation

CircleCI Build Status PyPI version Licence: MIT Documentation Status CodeQL Status Code style: black

Welcome to TalkingHeads! πŸ’¬

TalkingHeads is a Python library that serves as an interface for seamless communication with ChatGPT, Claude, Copilot, Gemini, LeChat, HuggingChat, and Pi πŸ€–

By leveraging the power of browser automation, this library enables users to effortlessly interact with online chat agents πŸš€βœ¨

You can utilize more than one agent by using multiagent module, and improve your workflow with an ensemble of models!

Prerequisites πŸ“‹

  • Install Chrome
  • Register to the provider you would like to use (or not, and use Pi!)

Installation

pip install talkingheads

or from source:

pip install git+https://github.com/ugorsahin/TalkingHeads

Usage

from talkingheads import PiClient

chathead = PiClient()

response = chathead.interact("Hello, how are you today")

print(response)

Features

Features Claude ChatGPT Copilot Gemini LeChat HuggingChat Pi
Use without login ❌ ❌ βœ… ❌ ❌ ❌ βœ…
Login* βž– βœ… βž– βž– βœ… βœ… βž–
Interact βœ… βœ… βœ… βœ… βœ… βœ… βœ…
New Chat βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Regenerate Response βœ… βœ… ❌ βœ… ❌ ❌ ❌
Custom Interactions ❌ βœ… ❌ ❌ ❌ ❌ ❌
Search Web ❌ ❌ βœ… ❌ ❌ βœ… ❌
Plugins ❌ ❌ βœ… ❌ ❌ ❌ ❌
Switch Model ❌ βœ… βœ…** ❌ βœ… βœ… βœ…
Multimodal (Visual) βœ… βž–*** βœ… βœ… ❌ ❌ ❌

βœ… (Auto) Save the conversation as csv, h5, html, json, orc, pkl, xlsx, xml

  • βœ… : Functionality exists and implemented
  • ❌ : Functionality does not exist
  • βž– : Fuctionality exists but not implemented

* You should use a user profile and login manually to use Gemini, Claude and Copilot.Please take a look at documentation and FAQ to set up a user profile.

** The modes of Copilot (Creative, Balanced and Precise) are accessible with model switch. However, it is unclear if they are different models.

*** ChatGPT has multimodality, but only for premium users, donate me a premium account if you need that to be implemented!

Issues & Contribution

Feel free to dive in, share your knowledge, and collaborate. I would be happy to answer any questions or accept your contributions. Let me know in issues if you need anything.

Enhancing our documentation would be fantastic and appreciated. Help me improve documentation with your valuable contributions. Please indicate your issue with a tag enclosed by square brackets: [FEATURE], [BUG], [DOCUMENTATION], [QUESTION]. If you don't know what to write you can write [MISC]. I will prioritize issues with tags.

Where is old ChatGPT_Automation library?

You can still run your code to connect ChatGPT, follow the below tutorial

export ChatGPT_UNAME=<your@email>
export ChatGPT_PWD=><password>
from talkingheads import ChatGPTClient

chathead = ChatGPTClient()

response = chathead.interact("Hello, how are you today")

print(response)