Chatgpt binding and free account

Hello Openhab community
Does anyone know if binding for ChatGPT will work with a free account? I would like to gather more information on this and am wondering if anyone has already tried using this feature on a free account

Trace log only shows following entry:

2023-11-17 12:43:00.228 [TRACE] [ding.chatgpt.internal.ChatGPTHandler] - Query ‘{“temperature”:0.5,“model”:“gpt-3.5-turbo”,“max_tokens”:500,“messages”:[{“role”:“system”,“content”:“You are Marvin, a very depressed robot. You wish a good morning and tell the current time.”},{“role”:“user”,“content”:“Current time is 11am”}]}’

Thanks for update

@Kai

1 Like

I started using this binding some two weeks ago.

As far as I understand, you need the paid account. The free one did not work for me either.
But for me so far I chose only ChatGPT 3.5turbo, which is billed by token count. One usual query plus answer in average costs less than a tenth of a cent.

Another good thing is, they support prepaid billing. Full control. So I charged it with 5 Euros which will probably last for months :slight_smile:

From there on the binding worked reliably.

One drawback I found was that it seems that the binding does not support chat context. So everything you do is only valid for one command, no actual conversation or pre-prompting possible. Yet I am not sure if this is really the case or if I missed something, I opened a topic right today… See here.

Thank you for your answer, could you advise me if I want to use the ChatGPT 3.5turbo API, do I need to upgrade my free account or just buy tokens via prepaid? Just asking becasue after initial configuration and buy a tokens , seems it dosnet work , openhab.log stay empty, ony GPT Console shows some usage of tokens for ChatGPT 3.5turbo ,

Thank you,

Hi,

TL;DR: You need the billed account and probably nothing more than ChatGPT 3.5turbo.

Long answer: :slight_smile:
AFAIK there is no possibility to buy tokens independently from the account. I upgraded to a paid account, enabled billing, but disabled automatic deduction. So if my balance runs out, the API stops working (no debts / negative balance), and there are no automatic cash transfers. I need to actively transfer any payment. As I said, I tested a lot for the past three or four weeks over the API, and until now, I used 6ct of my 5 EUR :smiley:

My understanding so far is (no guarantee it’s actually correct):

  • ChatGPT 3.5turbo is the “well known and older” variant. Some services are free - you don’t pay if you use the OpenAI website chat, even if you have a paid account! Only the API usage is billed.
    This one uses the training data of around 2021, but at least for my needs this one fulfills all.

  • ChatGPT 4.x is the newer model (even still beta, I think), and for this one, they take significant amounts of payment. This one is way more recent, has higher capabilities, acts more reasonable, is more customizable… but I saw nothing which a “normal”, non-commercial user would desperately need.

1 Like

Ok, Many thanks for explanation , so will try this approach :slight_smile:

After upgrade account and one more time enable from OpenHab side seems that debug mode is more talkative, however seems that initial rule still dosent work correctly here what i have:

2023-12-09 11:31:48.171 [INFO ] [ab.ui.habpanel.internal.HABPanelTile] - Started HABPanel at /habpanel
2023-12-09 11:31:48.189 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory] : BundleComponentActivator : ComponentHolder created.
2023-12-09 11:31:48.191 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory] : Dependency Manager created $000interface=org.openhab.core.io.net.http.HttpClientFactory, filter=null, policy=static, cardinality=1..1, bind=null, unbind=null, updated=null, field=null, field-option=null, collection-type=service, parameter=0
2023-12-09 11:31:48.192 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory] : Dependency Manager created osgi.ds.satisfying.conditioninterface=org.osgi.service.condition.Condition, filter=(osgi.condition.id=true), policy=dynamic, cardinality=1..1, bind=null, unbind=null, updated=null, field=null, field-option=null, collection-type=null, parameter=null
2023-12-09 11:31:48.194 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory] : Component created: DS=DS14, implementation=org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory, immediate=false, default-enabled=true, factory=null, configuration-policy=optional, activate=activate, deactivate=deactivate, modified=null configuration-pid=[binding.chatgpt]
2023-12-09 11:31:48.195 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory] : Component Services: scope=singleton, services=[org.openhab.core.thing.binding.ThingHandlerFactory]
2023-12-09 11:31:48.196 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory] : Component Properties: {osgi.ds.satisfying.condition.target=(osgi.condition.id=true)}
2023-12-09 11:31:48.197 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory] : Querying state disabled
2023-12-09 11:31:48.198 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory] : Querying state disabled
2023-12-09 11:31:48.199 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory] : Component can not be activated since it is in state disabled
2023-12-09 11:31:48.200 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory] : Querying state disabled
2023-12-09 11:31:48.201 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Updating target filters
2023-12-09 11:31:48.203 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : No change in target property for dependency $000: currently registered: false
2023-12-09 11:31:48.204 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] :  No existing service listener to unregister for dependency $000
2023-12-09 11:31:48.206 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Setting target property for dependency $000 to null
2023-12-09 11:31:48.207 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : New service tracker for $000, initial active: false, previous references: {}, classFilter: (objectClass=org.openhab.core.io.net.http.HttpClientFactory), initialReferenceFilter (objectClass=org.openhab.core.io.net.http.HttpClientFactory)
2023-12-09 11:31:48.208 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : dm $000 tracker reset (closed)
2023-12-09 11:31:48.210 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : dm $000 tracking 1 SingleStatic added {org.openhab.core.io.net.http.HttpClientFactory, org.openhab.core.io.net.http.WebSocketFactory}={service.id=284, service.bundleid=174, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), component.name=org.openhab.core.io.net.http.internal.WebClientFactoryImpl, component.id=150} (enter)
2023-12-09 11:31:48.212 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : dm $000 tracking 1 SingleStatic active: false trackerOpened: false optional: false
2023-12-09 11:31:48.213 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : dm $000 tracking 1 SingleStatic added {org.openhab.core.io.net.http.HttpClientFactory, org.openhab.core.io.net.http.WebSocketFactory}={service.id=284, service.bundleid=174, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), component.name=org.openhab.core.io.net.http.internal.WebClientFactoryImpl, component.id=150} (exit)
2023-12-09 11:31:48.214 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : dm $000 tracker opened
2023-12-09 11:31:48.215 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : registering service listener for dependency $000
2023-12-09 11:31:48.216 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] :  No existing service listener to unregister for dependency osgi.ds.satisfying.condition
2023-12-09 11:31:48.217 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Setting target property for dependency osgi.ds.satisfying.condition to (osgi.condition.id=true)
2023-12-09 11:31:48.218 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : New service tracker for osgi.ds.satisfying.condition, initial active: false, previous references: {}, classFilter: (objectClass=org.osgi.service.condition.Condition), initialReferenceFilter (&(objectClass=org.osgi.service.condition.Condition)(osgi.condition.id=true))
2023-12-09 11:31:48.219 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : dm osgi.ds.satisfying.condition tracker reset (closed)
2023-12-09 11:31:48.221 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : dm osgi.ds.satisfying.condition tracking 2 SingleDynamic added {org.osgi.service.condition.Condition}={service.id=6, service.bundleid=0, service.scope=singleton, service.pid=0.org.osgi.service.condition.ConditionImpl, osgi.condition.id=true} (enter)
2023-12-09 11:31:48.222 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : dm osgi.ds.satisfying.condition tracking 2 SingleDynamic added {org.osgi.service.condition.Condition}={service.id=6, service.bundleid=0, service.scope=singleton, service.pid=0.org.osgi.service.condition.ConditionImpl, osgi.condition.id=true} (exit)
2023-12-09 11:31:48.224 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : dm osgi.ds.satisfying.condition tracker opened
2023-12-09 11:31:48.225 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : registering service listener for dependency osgi.ds.satisfying.condition
2023-12-09 11:31:48.226 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Changed state from disabled to unsatisfiedReference
2023-12-09 11:31:48.227 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Component enabled
2023-12-09 11:31:48.228 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : ActivateInternal
2023-12-09 11:31:48.229 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Querying state unsatisfiedReference
2023-12-09 11:31:48.230 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Querying state unsatisfiedReference
2023-12-09 11:31:48.231 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Activating component from state unsatisfiedReference
2023-12-09 11:31:48.232 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Querying state unsatisfiedReference
2023-12-09 11:31:48.233 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Querying state unsatisfiedReference
2023-12-09 11:31:48.234 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Changed state from unsatisfiedReference to satisfied
2023-12-09 11:31:48.235 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : registration change queue [registered]
2023-12-09 11:31:48.238 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Checking constructor public org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(org.openhab.core.io.net.http.HttpClientFactory)
2023-12-09 11:31:48.240 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : getClassFromComponentClassLoader: Looking for interface class org.openhab.core.io.net.http.HttpClientFactory through loader of org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory
2023-12-09 11:31:48.241 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : getClassFromComponentClassLoader: Found class org.openhab.core.io.net.http.HttpClientFactory
2023-12-09 11:31:48.242 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Found constructor with 1 arguments : public org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(org.openhab.core.io.net.http.HttpClientFactory)
2023-12-09 11:31:48.243 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : This thread collected dependencies
2023-12-09 11:31:48.243 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : getService (single component manager) dependencies collected.
2023-12-09 11:31:48.244 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Querying state satisfied
2023-12-09 11:31:48.245 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Querying state satisfied
2023-12-09 11:31:48.246 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : For dependency $000, optional: false; to bind: [[RefPair: ref: [{org.openhab.core.io.net.http.HttpClientFactory, org.openhab.core.io.net.http.WebSocketFactory}={service.id=284, service.bundleid=174, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), component.name=org.openhab.core.io.net.http.internal.WebClientFactoryImpl, component.id=150}] service: [null]]]
2023-12-09 11:31:48.247 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : For dependency osgi.ds.satisfying.condition, optional: false; to bind: [[RefPair: ref: [{org.osgi.service.condition.Condition}={service.id=6, service.bundleid=0, service.scope=singleton, service.pid=0.org.osgi.service.condition.ConditionImpl, osgi.condition.id=true}] service: [null]]]
2023-12-09 11:31:48.249 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : getting activate: activate
2023-12-09 11:31:48.250 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Locating method activate in class org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory
2023-12-09 11:31:48.251 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Declared Method org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory.activate([interface org.osgi.service.component.ComponentContext]) not found
2023-12-09 11:31:48.252 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Locating method activate in class org.openhab.core.thing.binding.BaseThingHandlerFactory
2023-12-09 11:31:48.253 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Found activate method: protected void org.openhab.core.thing.binding.BaseThingHandlerFactory.activate(org.osgi.service.component.ComponentContext)
2023-12-09 11:31:48.253 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : invoking activate: activate: parameters [org.apache.felix.scr.impl.manager.ComponentContextImpl]
2023-12-09 11:31:48.254 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : invoked activate: activate
2023-12-09 11:31:48.255 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Set implementation object for component
2023-12-09 11:31:48.256 [DEBUG] [atgpt.internal.ChatGPTHandlerFactory] - bundle org.openhab.binding.chatgpt:4.0.4 (339)[org.openhab.binding.chatgpt.internal.ChatGPTHandlerFactory(432)] : Changed state from satisfied to active
2023-12-09 11:32:00.608 [INFO ] [org.openhab.core.model.script.NOTE  ] - Chatgpt logger ...

... sample rule
rule "Good morning"
when
  Time cron "0 * * * * *"
then
    Morning_Message.sendCommand("Current time is 7am")
    logInfo("NOTE", "Chatgpt logger ...")

end

Any ideas ?

@Kai would you please help with mentioned under this thread issue ?
Thank you

What common misunderstandings or myths about ChatGPT binding and free accounts should users be aware of?