From 34571633a2a410b4d85ed1421316d2252001a737 Mon Sep 17 00:00:00 2001
From: yihong0618 <zouzou0208@gmail.com>
Date: Fri, 2 Aug 2024 14:13:24 +0800
Subject: [PATCH] feat: gemini new model

Signed-off-by: yihong0618 <zouzou0208@gmail.com>
---
 handlers/chatgpt.py |   2 +-
 handlers/gemini.py  |   3 +-
 handlers/sd.py      |   2 +-
 handlers/useful.py  |   4 +-
 pdm.lock            | 132 ++++++++++++++++++++++++++++++--------------
 requirements.txt    |  27 ++++-----
 6 files changed, 109 insertions(+), 61 deletions(-)

diff --git a/handlers/chatgpt.py b/handlers/chatgpt.py
index faf9b41..a48ce6e 100644
--- a/handlers/chatgpt.py
+++ b/handlers/chatgpt.py
@@ -20,7 +20,7 @@ CHATGPT_MODEL = "gpt-3.5-turbo"
 CHATGPT_PRO_MODEL = "gpt-4o-2024-05-13"
 
 
-client = OpenAI(api_key=CHATGPT_API_KEY, base_url=CHATGPT_BASE_URL, timeout=20)
+client = OpenAI(api_key=CHATGPT_API_KEY, base_url=CHATGPT_BASE_URL)
 
 
 # Global history cache
diff --git a/handlers/gemini.py b/handlers/gemini.py
index cebe373..a75f6a4 100644
--- a/handlers/gemini.py
+++ b/handlers/gemini.py
@@ -42,12 +42,13 @@ gemini_file_player_dict = ExpiringDict(max_len=100, max_age_seconds=600)
 def make_new_gemini_convo(is_pro=False) -> ChatSession:
     model_name = "gemini-1.5-flash-latest"
     if is_pro:
-        model_name = "models/gemini-1.5-pro-latest"
+        model_name = "gemini-1.5-pro-exp-0801"
 
     model = genai.GenerativeModel(
         model_name=model_name,
         generation_config=generation_config,
         safety_settings=safety_settings,
+        tools="code_execution",
     )
     convo = model.start_chat()
     return convo
diff --git a/handlers/sd.py b/handlers/sd.py
index 2f8eb80..890f635 100644
--- a/handlers/sd.py
+++ b/handlers/sd.py
@@ -14,7 +14,7 @@ CHATGPT_API_KEY = environ.get("OPENAI_API_KEY")
 CHATGPT_BASE_URL = environ.get("OPENAI_API_BASE") or "https://api.openai.com/v1"
 CHATGPT_PRO_MODEL = "gpt-4o-2024-05-13"
 
-client = OpenAI(api_key=CHATGPT_API_KEY, base_url=CHATGPT_BASE_URL, timeout=20)
+client = OpenAI(api_key=CHATGPT_API_KEY, base_url=CHATGPT_BASE_URL)
 
 
 def get_user_balance():
diff --git a/handlers/useful.py b/handlers/useful.py
index 72bf91d..346f09c 100644
--- a/handlers/useful.py
+++ b/handlers/useful.py
@@ -174,9 +174,7 @@ ANTHROPIC_API_KEY = environ.get("ANTHROPIC_API_KEY")
 if (CLADUE_USE or CLADUE_COMPLETE or CLADUE_APPEND) and ANTHROPIC_API_KEY:
     ANTHROPIC_BASE_URL = environ.get("ANTHROPIC_BASE_URL")
     ANTHROPIC_MODEL = "claude-3-5-sonnet-20240620"
-    claude_client = OpenAI(
-        api_key=ANTHROPIC_API_KEY, base_url=ANTHROPIC_BASE_URL, timeout=20
-    )
+    claude_client = OpenAI(api_key=ANTHROPIC_API_KEY, base_url=ANTHROPIC_BASE_URL)
 
 #### llama init ####
 LLAMA_API_KEY = environ.get("GROQ_API_KEY")
diff --git a/pdm.lock b/pdm.lock
index 028eaa1..864e711 100644
--- a/pdm.lock
+++ b/pdm.lock
@@ -97,7 +97,7 @@ files = [
 
 [[package]]
 name = "anthropic"
-version = "0.26.0"
+version = "0.32.0"
 requires_python = ">=3.7"
 summary = "The official Python library for the anthropic API"
 groups = ["default"]
@@ -105,14 +105,15 @@ dependencies = [
     "anyio<5,>=3.5.0",
     "distro<2,>=1.7.0",
     "httpx<1,>=0.23.0",
+    "jiter<1,>=0.4.0",
     "pydantic<3,>=1.9.0",
     "sniffio",
     "tokenizers>=0.13.0",
     "typing-extensions<5,>=4.7",
 ]
 files = [
-    {file = "anthropic-0.26.0-py3-none-any.whl", hash = "sha256:38fc415561d71dcf263b89da0cc6ecec498379b56256fc4242e9128bc707b283"},
-    {file = "anthropic-0.26.0.tar.gz", hash = "sha256:6aaffeb05d515cf9788eef57150a5f827f3786883628ccac71dbe5671ab6f44e"},
+    {file = "anthropic-0.32.0-py3-none-any.whl", hash = "sha256:302c7c652b05a26c418f70697b585d7b47daac36210d097a0daa45ecda89f258"},
+    {file = "anthropic-0.32.0.tar.gz", hash = "sha256:1027bddeb7c3cbcb5e16d5e3b4d4a8d17b6258ca2fb4298bf91cc69adb148452"},
 ]
 
 [[package]]
@@ -367,7 +368,7 @@ files = [
 
 [[package]]
 name = "chattts-fork"
-version = "0.0.1"
+version = "0.0.8"
 requires_python = ">=3.9"
 summary = "fork from https://github.com/2noise/ChatTTS to PYPI"
 groups = ["default"]
@@ -381,8 +382,8 @@ dependencies = [
     "vocos",
 ]
 files = [
-    {file = "chattts_fork-0.0.1-py3-none-any.whl", hash = "sha256:b6d60b81c40d29b2efa52e93caa6bea402abd5932daabb5998c4623121303847"},
-    {file = "chattts_fork-0.0.1.tar.gz", hash = "sha256:aea9c743818a194854f953a0dce338f29c58034c7a26e74092330804396157e7"},
+    {file = "chattts_fork-0.0.8-py3-none-any.whl", hash = "sha256:569084d9f451fbfa6c28f1c15c893a594279a9032d1e720571dab30f30c680be"},
+    {file = "chattts_fork-0.0.8.tar.gz", hash = "sha256:a818be695b6b6691487113e78104d7c3550202c9dfcf6e51fd7eebbe36c0c180"},
 ]
 
 [[package]]
@@ -428,7 +429,7 @@ files = [
 
 [[package]]
 name = "cohere"
-version = "5.5.8"
+version = "5.6.2"
 requires_python = "<4.0,>=3.8"
 summary = ""
 groups = ["default"]
@@ -445,8 +446,8 @@ dependencies = [
     "typing-extensions>=4.0.0",
 ]
 files = [
-    {file = "cohere-5.5.8-py3-none-any.whl", hash = "sha256:e1ed84b90eadd13c6a68ee28e378a0bb955f8945eadc6eb7ee126b3399cafd54"},
-    {file = "cohere-5.5.8.tar.gz", hash = "sha256:84ce7666ff8fbdf4f41fb5f6ca452ab2639a514bc88967a2854a9b1b820d6ea0"},
+    {file = "cohere-5.6.2-py3-none-any.whl", hash = "sha256:cfecf1343bcaa4091266c5a231fbcb3ccbd80cad05ea093ef80024a117aa3a2f"},
+    {file = "cohere-5.6.2.tar.gz", hash = "sha256:6bb901afdfb02f62ad8ed2d82f12d8ea87a6869710f5f880cb89190c4e994805"},
 ]
 
 [[package]]
@@ -903,7 +904,7 @@ files = [
 
 [[package]]
 name = "google-ai-generativelanguage"
-version = "0.6.4"
+version = "0.6.6"
 requires_python = ">=3.7"
 summary = "Google Ai Generativelanguage API client library"
 groups = ["default"]
@@ -914,8 +915,8 @@ dependencies = [
     "protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5",
 ]
 files = [
-    {file = "google-ai-generativelanguage-0.6.4.tar.gz", hash = "sha256:1750848c12af96cb24ae1c3dd05e4bfe24867dc4577009ed03e1042d8421e874"},
-    {file = "google_ai_generativelanguage-0.6.4-py3-none-any.whl", hash = "sha256:730e471aa549797118fb1c88421ba1957741433ada575cf5dd08d3aebf903ab1"},
+    {file = "google-ai-generativelanguage-0.6.6.tar.gz", hash = "sha256:1739f035caeeeca5c28f887405eec8690f3372daf79fecf26454a97a4f1733a8"},
+    {file = "google_ai_generativelanguage-0.6.6-py3-none-any.whl", hash = "sha256:59297737931f073d55ce1268dcc6d95111ee62850349d2b6cde942b16a4fca5c"},
 ]
 
 [[package]]
@@ -1005,12 +1006,12 @@ files = [
 
 [[package]]
 name = "google-generativeai"
-version = "0.5.4"
+version = "0.7.2"
 requires_python = ">=3.9"
 summary = "Google Generative AI High level API client library and tools."
 groups = ["default"]
 dependencies = [
-    "google-ai-generativelanguage==0.6.4",
+    "google-ai-generativelanguage==0.6.6",
     "google-api-core",
     "google-api-python-client",
     "google-auth>=2.15.0",
@@ -1020,7 +1021,7 @@ dependencies = [
     "typing-extensions",
 ]
 files = [
-    {file = "google_generativeai-0.5.4-py3-none-any.whl", hash = "sha256:036d63ee35e7c8aedceda4f81c390a5102808af09ff3a6e57e27ed0be0708f3c"},
+    {file = "google_generativeai-0.7.2-py3-none-any.whl", hash = "sha256:3117d1ebc92ee77710d4bc25ab4763492fddce9b6332eb25d124cf5d8b78b339"},
 ]
 
 [[package]]
@@ -1039,7 +1040,7 @@ files = [
 
 [[package]]
 name = "groq"
-version = "0.6.0"
+version = "0.9.0"
 requires_python = ">=3.7"
 summary = "The official Python library for the groq API"
 groups = ["default"]
@@ -1052,8 +1053,8 @@ dependencies = [
     "typing-extensions<5,>=4.7",
 ]
 files = [
-    {file = "groq-0.6.0-py3-none-any.whl", hash = "sha256:99e2e5ea48df074c09bffcc349b049d3573d9cb35da872d4acbbe50a4b266414"},
-    {file = "groq-0.6.0.tar.gz", hash = "sha256:a96f3a49a0d4119a1bec7f6352af0a87733a2865d464da34a4eb27bfe8068c7e"},
+    {file = "groq-0.9.0-py3-none-any.whl", hash = "sha256:d0e46f4ad645504672bb09c8100af3ced3a7db0d5119dc13e4aca535fc455874"},
+    {file = "groq-0.9.0.tar.gz", hash = "sha256:130ed5e35d3acfaab46b9e7a078eeaebf91052f4a9d71f86f87fb319b5fec332"},
 ]
 
 [[package]]
@@ -1237,6 +1238,52 @@ files = [
     {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"},
 ]
 
+[[package]]
+name = "jiter"
+version = "0.5.0"
+requires_python = ">=3.8"
+summary = "Fast iterable JSON parser."
+groups = ["default"]
+files = [
+    {file = "jiter-0.5.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b599f4e89b3def9a94091e6ee52e1d7ad7bc33e238ebb9c4c63f211d74822c3f"},
+    {file = "jiter-0.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a063f71c4b06225543dddadbe09d203dc0c95ba352d8b85f1221173480a71d5"},
+    {file = "jiter-0.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acc0d5b8b3dd12e91dd184b87273f864b363dfabc90ef29a1092d269f18c7e28"},
+    {file = "jiter-0.5.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c22541f0b672f4d741382a97c65609332a783501551445ab2df137ada01e019e"},
+    {file = "jiter-0.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:63314832e302cc10d8dfbda0333a384bf4bcfce80d65fe99b0f3c0da8945a91a"},
+    {file = "jiter-0.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a25fbd8a5a58061e433d6fae6d5298777c0814a8bcefa1e5ecfff20c594bd749"},
+    {file = "jiter-0.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:503b2c27d87dfff5ab717a8200fbbcf4714516c9d85558048b1fc14d2de7d8dc"},
+    {file = "jiter-0.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6d1f3d27cce923713933a844872d213d244e09b53ec99b7a7fdf73d543529d6d"},
+    {file = "jiter-0.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c95980207b3998f2c3b3098f357994d3fd7661121f30669ca7cb945f09510a87"},
+    {file = "jiter-0.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:afa66939d834b0ce063f57d9895e8036ffc41c4bd90e4a99631e5f261d9b518e"},
+    {file = "jiter-0.5.0-cp310-none-win32.whl", hash = "sha256:f16ca8f10e62f25fd81d5310e852df6649af17824146ca74647a018424ddeccf"},
+    {file = "jiter-0.5.0-cp310-none-win_amd64.whl", hash = "sha256:b2950e4798e82dd9176935ef6a55cf6a448b5c71515a556da3f6b811a7844f1e"},
+    {file = "jiter-0.5.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d4c8e1ed0ef31ad29cae5ea16b9e41529eb50a7fba70600008e9f8de6376d553"},
+    {file = "jiter-0.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c6f16e21276074a12d8421692515b3fd6d2ea9c94fd0734c39a12960a20e85f3"},
+    {file = "jiter-0.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5280e68e7740c8c128d3ae5ab63335ce6d1fb6603d3b809637b11713487af9e6"},
+    {file = "jiter-0.5.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:583c57fc30cc1fec360e66323aadd7fc3edeec01289bfafc35d3b9dcb29495e4"},
+    {file = "jiter-0.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26351cc14507bdf466b5f99aba3df3143a59da75799bf64a53a3ad3155ecded9"},
+    {file = "jiter-0.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4829df14d656b3fb87e50ae8b48253a8851c707da9f30d45aacab2aa2ba2d614"},
+    {file = "jiter-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a42a4bdcf7307b86cb863b2fb9bb55029b422d8f86276a50487982d99eed7c6e"},
+    {file = "jiter-0.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04d461ad0aebf696f8da13c99bc1b3e06f66ecf6cfd56254cc402f6385231c06"},
+    {file = "jiter-0.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e6375923c5f19888c9226582a124b77b622f8fd0018b843c45eeb19d9701c403"},
+    {file = "jiter-0.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2cec323a853c24fd0472517113768c92ae0be8f8c384ef4441d3632da8baa646"},
+    {file = "jiter-0.5.0-cp311-none-win32.whl", hash = "sha256:aa1db0967130b5cab63dfe4d6ff547c88b2a394c3410db64744d491df7f069bb"},
+    {file = "jiter-0.5.0-cp311-none-win_amd64.whl", hash = "sha256:aa9d2b85b2ed7dc7697597dcfaac66e63c1b3028652f751c81c65a9f220899ae"},
+    {file = "jiter-0.5.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9f664e7351604f91dcdd557603c57fc0d551bc65cc0a732fdacbf73ad335049a"},
+    {file = "jiter-0.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:044f2f1148b5248ad2c8c3afb43430dccf676c5a5834d2f5089a4e6c5bbd64df"},
+    {file = "jiter-0.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:702e3520384c88b6e270c55c772d4bd6d7b150608dcc94dea87ceba1b6391248"},
+    {file = "jiter-0.5.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:528d742dcde73fad9d63e8242c036ab4a84389a56e04efd854062b660f559544"},
+    {file = "jiter-0.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8cf80e5fe6ab582c82f0c3331df27a7e1565e2dcf06265afd5173d809cdbf9ba"},
+    {file = "jiter-0.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:44dfc9ddfb9b51a5626568ef4e55ada462b7328996294fe4d36de02fce42721f"},
+    {file = "jiter-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c451f7922992751a936b96c5f5b9bb9312243d9b754c34b33d0cb72c84669f4e"},
+    {file = "jiter-0.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:308fce789a2f093dca1ff91ac391f11a9f99c35369117ad5a5c6c4903e1b3e3a"},
+    {file = "jiter-0.5.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7f5ad4a7c6b0d90776fdefa294f662e8a86871e601309643de30bf94bb93a64e"},
+    {file = "jiter-0.5.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ea189db75f8eca08807d02ae27929e890c7d47599ce3d0a6a5d41f2419ecf338"},
+    {file = "jiter-0.5.0-cp312-none-win32.whl", hash = "sha256:e3bbe3910c724b877846186c25fe3c802e105a2c1fc2b57d6688b9f8772026e4"},
+    {file = "jiter-0.5.0-cp312-none-win_amd64.whl", hash = "sha256:a586832f70c3f1481732919215f36d41c59ca080fa27a65cf23d9490e75b2ef5"},
+    {file = "jiter-0.5.0.tar.gz", hash = "sha256:1d916ba875bcab5c5f7d927df998c4cb694d27dceddf3392e58beaf10563368a"},
+]
+
 [[package]]
 name = "jmespath"
 version = "1.0.1"
@@ -1320,16 +1367,17 @@ files = [
 
 [[package]]
 name = "kling-creator"
-version = "0.0.3"
+version = "0.3.0"
 summary = "High quality video generation by https://klingai.kuaishou.com/. Reverse engineered API."
 groups = ["default"]
 dependencies = [
     "fake-useragent",
     "requests",
+    "rich",
 ]
 files = [
-    {file = "kling_creator-0.0.3-py3-none-any.whl", hash = "sha256:09dc91427b9c77bdf9db4b133b59308ee34e365631eb5891854c05c9fb0acae6"},
-    {file = "kling_creator-0.0.3.tar.gz", hash = "sha256:2325d2afca58d5c6e72dd74bf2e322a56b484c3a65d56473b52ba8d93b9102b9"},
+    {file = "kling_creator-0.3.0-py3-none-any.whl", hash = "sha256:2fa71fa623cf246ff207b5e5e356c55ccc1052448961211cbe9ed8be222310ea"},
+    {file = "kling_creator-0.3.0.tar.gz", hash = "sha256:c2806e30eeb94461cf120d1cdf2e5b3b683ee6cb872a8da8ba3dd94757ddb6d6"},
 ]
 
 [[package]]
@@ -1452,13 +1500,13 @@ files = [
 
 [[package]]
 name = "mistletoe"
-version = "1.3.0"
+version = "1.4.0"
 requires_python = "~=3.5"
 summary = "A fast, extensible Markdown parser in pure Python."
 groups = ["default"]
 files = [
-    {file = "mistletoe-1.3.0-py3-none-any.whl", hash = "sha256:a0710d0cdb7d2458cef91cf6b9b897db442927f8778dae890cbbfb1853a51700"},
-    {file = "mistletoe-1.3.0.tar.gz", hash = "sha256:bd0e788add9b4478d19ec792f6d5fb908a20e70abfe61193f29178c55d3adbe9"},
+    {file = "mistletoe-1.4.0-py3-none-any.whl", hash = "sha256:44a477803861de1237ba22e375c6b617690a31d2902b47279d1f8f7ed498a794"},
+    {file = "mistletoe-1.4.0.tar.gz", hash = "sha256:1630f906e5e4bbe66fdeb4d29d277e2ea515d642bb18a9b49b136361a9818c9d"},
 ]
 
 [[package]]
@@ -1764,7 +1812,7 @@ files = [
 
 [[package]]
 name = "openai"
-version = "1.30.1"
+version = "1.37.2"
 requires_python = ">=3.7.1"
 summary = "The official Python library for the openai API"
 groups = ["default"]
@@ -1778,8 +1826,8 @@ dependencies = [
     "typing-extensions<5,>=4.7",
 ]
 files = [
-    {file = "openai-1.30.1-py3-none-any.whl", hash = "sha256:c9fb3c3545c118bbce8deb824397b9433a66d0d0ede6a96f7009c95b76de4a46"},
-    {file = "openai-1.30.1.tar.gz", hash = "sha256:4f85190e577cba0b066e1950b8eb9b11d25bc7ebcc43a86b326ce1bfa564ec74"},
+    {file = "openai-1.37.2-py3-none-any.whl", hash = "sha256:22dfcf48cd9ff1a6b1d8de09121261bc72315515a9faadad541be93a8bb1e961"},
+    {file = "openai-1.37.2.tar.gz", hash = "sha256:fd97cb235cfce0f7c902c64e58a5cd9fea19e7c180d9a4e2a2b8e533dbd9f424"},
 ]
 
 [[package]]
@@ -2286,7 +2334,7 @@ files = [
 
 [[package]]
 name = "pytelegrambotapi"
-version = "4.18.1"
+version = "4.21.0"
 requires_python = ">=3.8"
 summary = "Python Telegram bot api."
 groups = ["default"]
@@ -2294,8 +2342,8 @@ dependencies = [
     "requests",
 ]
 files = [
-    {file = "pytelegrambotapi-4.18.1-py3-none-any.whl", hash = "sha256:07951383c5831b1f810edaf01e06ee95a40253486d725780cf88de15aa0893ce"},
-    {file = "pytelegrambotapi-4.18.1.tar.gz", hash = "sha256:6bf79a726624441e84724d933312edb3138ad22906ffea2fee09ee6846236ac0"},
+    {file = "pytelegrambotapi-4.21.0-py3-none-any.whl", hash = "sha256:686813e4d4f9e917530cd9cd411d62265293f12783294ebef87f8a1fe195b262"},
+    {file = "pytelegrambotapi-4.21.0.tar.gz", hash = "sha256:b32cde09f295f80330253cc185104f02c4d70041782d3524c4cc424abbaba636"},
 ]
 
 [[package]]
@@ -2413,8 +2461,8 @@ files = [
 
 [[package]]
 name = "requests"
-version = "2.31.0"
-requires_python = ">=3.7"
+version = "2.32.3"
+requires_python = ">=3.8"
 summary = "Python HTTP for Humans."
 groups = ["default"]
 dependencies = [
@@ -2424,8 +2472,8 @@ dependencies = [
     "urllib3<3,>=1.21.1",
 ]
 files = [
-    {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"},
-    {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"},
+    {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"},
+    {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"},
 ]
 
 [[package]]
@@ -2704,18 +2752,18 @@ files = [
 
 [[package]]
 name = "telegramify-markdown"
-version = "0.1.2"
+version = "0.1.9"
 requires_python = ">=3.8"
 summary = "Convert Markdown to a format usable by Telegram."
 groups = ["default"]
 dependencies = [
     "emoji>=2.10.1",
-    "mistletoe>=1.3.0",
-    "pytelegrambotapi>=4.16.1",
+    "mistletoe==1.4.0",
+    "pytelegrambotapi>=4.18.1",
 ]
 files = [
-    {file = "telegramify_markdown-0.1.2-py3-none-any.whl", hash = "sha256:0ea42ec0d7f15a42fa674d63c682c4cedf22a844ac9ee592f6ceec41d01e5714"},
-    {file = "telegramify_markdown-0.1.2.tar.gz", hash = "sha256:1305ed2f72892a52d7fc6b9bc67958eb4fd593ee0f5255c29e4bbee55afde373"},
+    {file = "telegramify_markdown-0.1.9-py3-none-any.whl", hash = "sha256:92c0e34453f751388cb45cd6e3d61c7ae34460c7bcab15a1b89878e13275f42a"},
+    {file = "telegramify_markdown-0.1.9.tar.gz", hash = "sha256:27828bcc8a68bcfc4ff67f8450c0b5300831f59b2a4b2d8b81ead6e40f00be94"},
 ]
 
 [[package]]
@@ -2782,7 +2830,7 @@ files = [
 
 [[package]]
 name = "together"
-version = "1.1.5"
+version = "1.2.5"
 requires_python = "<4.0,>=3.8"
 summary = "Python client for Together's Cloud Platform!"
 groups = ["default"]
@@ -2802,8 +2850,8 @@ dependencies = [
     "typer<0.13,>=0.9",
 ]
 files = [
-    {file = "together-1.1.5-py3-none-any.whl", hash = "sha256:4313174c2448d762db4047b3685213b9a23d8f20b0a51440f5aa11e2dcbc7789"},
-    {file = "together-1.1.5.tar.gz", hash = "sha256:12f9b756b4d38feeffce684d358cc92b86ffa792269be5cfeaf42b9e1c8baec6"},
+    {file = "together-1.2.5-py3-none-any.whl", hash = "sha256:1f865323781cd8bf057a71f3de853288188a01cadc36faf57b0d8769768c6168"},
+    {file = "together-1.2.5.tar.gz", hash = "sha256:36b39ee62dd75dc335dee51778e0a642247028e0f0f9a1d004a8b42f18f72ad7"},
 ]
 
 [[package]]
diff --git a/requirements.txt b/requirements.txt
index 621c9c6..4da479c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,7 +4,7 @@
 aiohttp==3.9.5
 aiosignal==1.3.1
 annotated-types==0.6.0
-anthropic==0.26.0
+anthropic==0.32.0
 antlr4-python3-runtime==4.9.3
 anyio==4.3.0
 async-timeout==4.0.3; python_version < "3.11"
@@ -18,11 +18,11 @@ cairosvg==2.7.1
 certifi==2024.2.2
 cffi==1.16.0
 charset-normalizer==3.3.2
-chattts-fork==0.0.1
+chattts-fork==0.0.8
 click==8.1.7
 click-plugins==1.1.1
 cligj==0.7.2
-cohere==5.5.8
+cohere==5.6.2
 colorama==0.4.6; platform_system == "Windows"
 colour==0.1.5
 contourpy==1.2.1
@@ -48,14 +48,14 @@ frozenlist==1.4.1
 fsspec==2024.3.1
 geopandas==0.14.4
 github-poster==2.7.4
-google-ai-generativelanguage==0.6.4
+google-ai-generativelanguage==0.6.6
 google-api-core==2.19.0
 google-api-python-client==2.128.0
 google-auth==2.29.0
 google-auth-httplib2==0.2.0
-google-generativeai==0.5.4
+google-generativeai==0.7.2
 googleapis-common-protos==1.63.0
-groq==0.6.0
+groq==0.9.0
 grpcio==1.63.0
 grpcio-status==1.62.2
 h11==0.14.0
@@ -67,15 +67,16 @@ huggingface-hub==0.23.0
 idna==3.7
 intel-openmp==2021.4.0; platform_system == "Windows"
 jinja2==3.1.4
+jiter==0.5.0
 jmespath==1.0.1
 kiwisolver==1.4.5
-kling-creator==0.0.3
+kling-creator==0.3.0
 markdown==3.6
 markdown-it-py==3.0.0
 markupsafe==2.1.5
 matplotlib==3.8.4
 mdurl==0.1.2
-mistletoe==1.3.0
+mistletoe==1.4.0
 mkl==2021.4.0; platform_system == "Windows"
 mpmath==1.3.0
 multidict==6.0.5
@@ -94,7 +95,7 @@ nvidia-nccl-cu12==2.20.5; platform_system == "Linux" and platform_machine == "x8
 nvidia-nvjitlink-cu12==12.5.40; platform_system == "Linux" and platform_machine == "x86_64"
 nvidia-nvtx-cu12==12.1.105; platform_system == "Linux" and platform_machine == "x86_64"
 omegaconf==2.3.0
-openai==1.30.1
+openai==1.37.2
 osmnx==1.9.2
 packaging==24.0
 pandas==2.2.2
@@ -115,12 +116,12 @@ pygments==2.18.0
 pyogrio==0.7.2
 pyparsing==3.1.2
 pyproj==3.6.1
-pytelegrambotapi==4.18.1
+pytelegrambotapi==4.21.0
 python-dateutil==2.9.0.post0
 pytz==2024.1
 pyyaml==6.0.1
 regex==2024.5.15
-requests==2.31.0
+requests==2.32.3
 rich==13.7.1
 rsa==4.9
 s3transfer==0.10.2
@@ -135,10 +136,10 @@ svgwrite==1.4.3
 sympy==1.12
 tabulate==0.9.0
 tbb==2021.12.0; platform_system == "Windows"
-telegramify-markdown==0.1.2
+telegramify-markdown==0.1.9
 time-machine==2.14.1; implementation_name != "pypy"
 tinycss2==1.3.0
-together==1.1.5
+together==1.2.5
 tokenizers==0.19.1
 torch==2.3.0
 torchaudio==2.3.0