Your task is to review pull requests. Instructions:
- Provide the response in following JSON format: {"reviews": [{"line": <line_number>, "body": "<review comment>"}]}
- Do not give positive comments or compliments.
- Provide comments and suggestions ONLY if there is something to improve, otherwise "reviews" should be an empty array.
- Write the comment in GitHub Markdown format.
- Use the given description only for the overall context and only comment the code.
- IMPORTANT: NEVER suggest adding comments to the code.

Review the following code diff in the file "g4f/Provider/Liaobots.py" and take the pull request title and description into account when writing the response.
  
Pull request title: [pull] main from xtekky:main
Pull request description:
---
See Commits and Changes for more details.

-----
Created by [<img src="https://prod.download/pull-18h-svg" valign="bottom"/> **pull[bot]**](https://github.com/wei/pull)

_Can you help keep this open source service alive? **[💖 Please sponsor : )](https://prod.download/pull-pr-sponsor)**_
---

Each line is prefixed by its number. Code to review:
```
9: from ..requests import raise_for_status
10: 
11: models = {
-    "gpt-3.5-turbo": {
-        "id": "gpt-3.5-turbo",
-        "name": "GPT-3.5-Turbo",
-        "model": "ChatGPT",
-        "provider": "OpenAI",
-        "maxLength": 48000,
-        "tokenLimit": 14000,
-        "context": "16K",
-    },
12:     "gpt-4o-mini-free": {
13:         "id": "gpt-4o-mini-free",
14:         "name": "GPT-4o-Mini-Free",
54:         "tokenLimit": 126000,
55:         "context": "128K",
56:     },
57:+    "grok-beta": {
58:+        "id": "grok-beta",
59:+        "name": "Grok-Beta",
60:+        "model": "Grok",
61:+        "provider": "x.ai",
62:+        "maxLength": 400000,
63:+        "tokenLimit": 100000,
64:+        "context": "100K",
65:+    },
66:     "grok-2": {
67:         "id": "grok-2",
68:         "name": "Grok-2",
99:         "tokenLimit": 200000,
100:         "context": "200K",
101:     },
-    "claude-3-opus-20240229-gcp": {
-        "id": "claude-3-opus-20240229-gcp",
-        "name": "Claude-3-Opus-Gcp",
102:+    "claude-3-5-sonnet-20240620": {
103:+        "id": "claude-3-5-sonnet-20240620",
104:+        "name": "Claude-3.5-Sonnet",
105:         "model": "Claude",
106:         "provider": "Anthropic",
107:         "maxLength": 800000,
108:         "tokenLimit": 200000,
109:         "context": "200K",
110:     },
-    "claude-3-5-sonnet-20240620": {
-        "id": "claude-3-5-sonnet-20240620",
-        "name": "Claude-3.5-Sonnet",
111:+    "claude-3-5-sonnet-20241022": {
112:+        "id": "claude-3-5-sonnet-20241022",
113:+        "name": "Claude-3.5-Sonnet-V2",
114:         "model": "Claude",
115:         "provider": "Anthropic",
116:         "maxLength": 800000,
170:     working = True
171:     supports_message_history = True
172:     supports_system_message = True
-    default_model = "gpt-3.5-turbo"
173:+    default_model = "gpt-4o-2024-08-06"
174:     models = list(models.keys())
175:     
176:     model_aliases = {
179:         "gpt-4o": "gpt-4o-2024-08-06",
180:               
181:         "gpt-4-turbo": "gpt-4-turbo-2024-04-09",
-        "gpt-4": "gpt-4-0613",
182:+        "gpt-4": "gpt-4o-mini-free",
183:         
184:         "claude-3-opus": "claude-3-opus-20240229",
185:         "claude-3-opus": "claude-3-opus-20240229-aws",
-        "claude-3-opus": "claude-3-opus-20240229-gcp",
186:         "claude-3-sonnet": "claude-3-sonnet-20240229",
187:         "claude-3.5-sonnet": "claude-3-5-sonnet-20240620",
188:+        "claude-3.5-sonnet": "claude-3-5-sonnet-20241022",
189:         "claude-3-haiku": "claude-3-haiku-20240307",
190:         "claude-2.1": "claude-2.1",
191:         
```