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

Remove description from top level of function calls #2110

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

Conversation

FadhlanR
Copy link
Contributor

@FadhlanR FadhlanR commented Jan 31, 2025

  • Removed the description from the function call parameters.
  • Used the content of the response message instead of the function call description.

Copy link

github-actions bot commented Jan 31, 2025

Host Test Results

    1 files  ±0      1 suites  ±0   22m 46s ⏱️ - 1m 10s
749 tests ±0  747 ✔️ ±0  2 💤 ±0  0 ±0 
754 runs  ±0  752 ✔️ ±0  2 💤 ±0  0 ±0 

Results for commit 42f7ced. ± Comparison against base commit 3ecfb94.

♻️ This comment has been updated with latest results.

@@ -260,87 +260,4 @@ module('Responding', (hooks) => {
'The tool call event should replace the thinking message',
);
});

test('Sends tool call event separately when content is sent before tool call', async () => {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this test is no longer relevant.

@FadhlanR FadhlanR marked this pull request as ready for review February 3, 2025 04:58
Copy link
Contributor

@lukemelia lukemelia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like @IanCal 's review on this before merging

@@ -42,7 +42,8 @@ You may make multiple function calls, all calls are gated by the user so multipl
If a user asks you about things in the world, use your existing knowledge to help them. Only if necessary, add a *small* caveat at the end of your message to explain that you do not have live external data. \
\
If you need access to the cards the user can see, you can ask them to attach the cards. \
If you encounter JSON structures, please enclose them within backticks to ensure they are displayed stylishly in Markdown.';
If you encounter JSON structures, please enclose them within backticks to ensure they are displayed stylishly in Markdown. \
Always provide a content text explanation before calling a function';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@IanCal does this need to be phrased differently to help it keep the context text and the function in the same response?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It'll never return more than one response, I would be tempted to leave this until we see lots of calls we want an explanation with coming without them, and ideally have evals to see the difference it makes. It may be different for different models.

@@ -42,7 +42,8 @@ You may make multiple function calls, all calls are gated by the user so multipl
If a user asks you about things in the world, use your existing knowledge to help them. Only if necessary, add a *small* caveat at the end of your message to explain that you do not have live external data. \
\
If you need access to the cards the user can see, you can ask them to attach the cards. \
If you encounter JSON structures, please enclose them within backticks to ensure they are displayed stylishly in Markdown.';
If you encounter JSON structures, please enclose them within backticks to ensure they are displayed stylishly in Markdown. \
Always provide a content text explanation before calling a function';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It'll never return more than one response, I would be tempted to leave this until we see lots of calls we want an explanation with coming without them, and ideally have evals to see the difference it makes. It may be different for different models.

roomId: this.roomId,
content: msg.content,
functionCall: this.deserializeToolCall(toolCall),
eventToUpdate: this.initialMessageId,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If there is more than one tool call, does this still work? It looks like it might replace the initial event with each tool call resulting in just one at the end

@IanCal
Copy link
Contributor

IanCal commented Feb 3, 2025

Without a change to host, it looks like this will still create the same wrapper around everything? Ideally we want to go from

toolCall({
description: blah
attributes: {things we care about}
})

to

toolCall({things we care about})

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.

3 participants