Skip to content

Commit 05f73c8

Browse files
authored
create dummy AIMessage repeating ToolMessage results to circumvent the issue with ToolMessages being stripped out. (#11)
1 parent 587f785 commit 05f73c8

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

libs/oci/langchain_oci/chat_models/oci_generative_ai.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -378,9 +378,12 @@ def messages_to_oci_params(
378378

379379
# Process current turn messages in reverse order until a HumanMessage
380380
current_turn = []
381-
for message in reversed(messages):
381+
for i, message in enumerate(messages[::-1]):
382382
current_turn.append(message)
383383
if isinstance(message, HumanMessage):
384+
if len(messages) > i and isinstance(messages[len(messages) - i - 2], ToolMessage):
385+
# add dummy message REPEATING the tool_result to avoid the error about ToolMessage needing to be followed by an AI message
386+
oci_chat_history.append(self.oci_chat_message['CHATBOT'](message=messages[len(messages) - i - 2].content))
384387
break
385388
current_turn = list(reversed(current_turn))
386389

0 commit comments

Comments
 (0)