Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adopt to tool_calls format of oai doc fixing function call bugs and Support for parallel function call #613

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

whi497
Copy link

@whi497 whi497 commented Aug 19, 2024

I'm using deepseek api(which is oai compatible), which i found the code fail to return the function call result:
e.g.
image

UnprocessableEntityError: Failed to deserialize the JSON body into the target type: messages[3].role: unknown variant function, expected one of system, user, assistant, tool at line 1 column 666

which i think is relate to this part of code: https://github.com/TheR1D/shell_gpt/blob/ab6b475c9da1d4b28c16e5fd963fc434fdfd3356/sgpt/handlers/handler.py#L64C1-L82C79

I make some changes to adopt to oai function doc:

`# Create a message containing the result of the function call
function_call_result_message = {
    "role": "tool",
    "content": json.dumps({
        "order_id": order_id,
        "delivery_date": delivery_date.strftime('%Y-%m-%d %H:%M:%S')
    }),
    "tool_call_id": response['choices'][0]['message']['tool_calls'][0]['id']
}`

which indecate that the role should be tool and tool_call_id is needed

after the modification the code work fine and i have run the lint and test

sgpt/handlers/handler.py Outdated Show resolved Hide resolved
@whi497
Copy link
Author

whi497 commented Aug 29, 2024

@zjuwyz I change the code to handle the parallel functions in handel_function_call, maybe you could have a look

@zjuwyz
Copy link

zjuwyz commented Aug 29, 2024

Great. This also fixes a bug that tokens are not streaming to shell after function call results.

@whi497 whi497 changed the title Adopt to tool_calls format of oai doc fixing function cannot work with current openai version Adopt to tool_calls format of oai doc fixing function call bugs and Support for parallel function call Aug 29, 2024
@whi497
Copy link
Author

whi497 commented Sep 7, 2024

@TheR1D kindly ping for a review on this pr.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants