Skip to content

Commit 1fafd39

Browse files
committed
fix: gemini session bug
1 parent 90581c8 commit 1fafd39

File tree

7 files changed

+11
-85
lines changed

7 files changed

+11
-85
lines changed

bot/chatgpt/chat_gpt_session.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def num_tokens_from_messages(messages, model):
6262

6363
import tiktoken
6464

65-
if model in ["gpt-3.5-turbo-0301", "gpt-35-turbo", "gpt-3.5-turbo-1106"]:
65+
if model in ["gpt-3.5-turbo-0301", "gpt-35-turbo", "gpt-3.5-turbo-1106", "moonshot"]:
6666
return num_tokens_from_messages(messages, model="gpt-3.5-turbo")
6767
elif model in ["gpt-4-0314", "gpt-4-0613", "gpt-4-32k", "gpt-4-32k-0613", "gpt-3.5-turbo-0613",
6868
"gpt-3.5-turbo-16k", "gpt-3.5-turbo-16k-0613", "gpt-35-turbo-16k", "gpt-4-turbo-preview",

bot/claudeapi/claude_api_bot.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88

99
from bot.bot import Bot
1010
from bot.openai.open_ai_image import OpenAIImage
11-
from bot.claudeapi.claude_api_session import ClaudeAPISession
1211
from bot.chatgpt.chat_gpt_session import ChatGPTSession
12+
from bot.gemini.google_gemini_bot import GoogleGeminiBot
1313
from bot.session_manager import SessionManager
1414
from bridge.context import ContextType
1515
from bridge.reply import Reply, ReplyType
@@ -78,15 +78,12 @@ def reply(self, query, context=None):
7878

7979
def reply_text(self, session: ChatGPTSession, retry_count=0):
8080
try:
81-
if session.messages[0].get("role") == "system":
82-
system = session.messages[0].get("content")
83-
session.messages.pop(0)
8481
actual_model = self._model_mapping(conf().get("model"))
8582
response = self.claudeClient.messages.create(
8683
model=actual_model,
8784
max_tokens=1024,
8885
# system=conf().get("system"),
89-
messages=session.messages
86+
messages=GoogleGeminiBot.filter_messages(session.messages)
9087
)
9188
# response = openai.Completion.create(prompt=str(session), **self.args)
9289
res_content = response.content[0].text.strip().replace("<|endoftext|>", "")

bot/claudeapi/claude_api_session.py

-74
This file was deleted.

bot/gemini/google_gemini_bot.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def reply(self, query, context: Context = None) -> Reply:
3333
logger.info(f"[Gemini] query={query}")
3434
session_id = context["session_id"]
3535
session = self.sessions.session_query(query, session_id)
36-
gemini_messages = self._convert_to_gemini_messages(self._filter_messages(session.messages))
36+
gemini_messages = self._convert_to_gemini_messages(self.filter_messages(session.messages))
3737
genai.configure(api_key=self.api_key)
3838
model = genai.GenerativeModel('gemini-pro')
3939
response = model.generate_content(gemini_messages)
@@ -61,7 +61,8 @@ def _convert_to_gemini_messages(self, messages: list):
6161
})
6262
return res
6363

64-
def _filter_messages(self, messages: list):
64+
@staticmethod
65+
def filter_messages(messages: list):
6566
res = []
6667
turn = "user"
6768
if not messages:

bot/linkai/link_ai_bot.py

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import config
88
from bot.bot import Bot
99
from bot.chatgpt.chat_gpt_session import ChatGPTSession
10+
from bot.gemini.google_gemini_bot import GoogleGeminiBot
1011
from bot.session_manager import SessionManager
1112
from bridge.context import Context, ContextType
1213
from bridge.reply import Reply, ReplyType

common/const.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@
1010
QWEN = "qwen"
1111
GEMINI = "gemini"
1212
ZHIPU_AI = "glm-4"
13+
MOONSHOT = "moonshot"
1314

1415

1516
# model
16-
CLAUDE3="claude-3-opus-20240229"
17+
CLAUDE3 = "claude-3-opus-20240229"
1718
GPT35 = "gpt-3.5-turbo"
1819
GPT4 = "gpt-4"
1920
GPT4_TURBO_PREVIEW = "gpt-4-0125-preview"
@@ -23,7 +24,7 @@
2324
TTS_1_HD = "tts-1-hd"
2425

2526
MODEL_LIST = ["gpt-3.5-turbo", "gpt-3.5-turbo-16k", "gpt-4", "wenxin", "wenxin-4", "xunfei", "claude","claude-3-opus-20240229", "gpt-4-turbo",
26-
"gpt-4-turbo-preview", "gpt-4-1106-preview", GPT4_TURBO_PREVIEW, QWEN, GEMINI, ZHIPU_AI]
27+
"gpt-4-turbo-preview", "gpt-4-1106-preview", GPT4_TURBO_PREVIEW, QWEN, GEMINI, ZHIPU_AI, MOONSHOT]
2728

2829
# channel
2930
FEISHU = "feishu"

plugins/godcmd/godcmd.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ def on_handle_context(self, e_context: EventContext):
339339
ok, result = True, "配置已重载"
340340
elif cmd == "resetall":
341341
if bottype in [const.OPEN_AI, const.CHATGPT, const.CHATGPTONAZURE, const.LINKAI,
342-
const.BAIDU, const.XUNFEI, const.QWEN, const.GEMINI, const.ZHIPU_AI]:
342+
const.BAIDU, const.XUNFEI, const.QWEN, const.GEMINI, const.ZHIPU_AI, const.MOONSHOT]:
343343
channel.cancel_all_session()
344344
bot.sessions.clear_all_session()
345345
ok, result = True, "重置所有会话成功"

0 commit comments

Comments
 (0)