mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
Python: Fix positional argument mismatch for invoking native functions. (#4495)
### Motivation and Context Fixes #4483. Invoking native functions doesn't require 3 params, but rather 2. <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> ### Description Specify the coroutine for a native function to only take the context, unlike the semantic invoke that takes context and settings. Black formatting Jupyter notebooks. <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone 😄 --------- Co-authored-by: Evan Mattson <[email protected]>
This commit is contained in:
co-authored by
Evan Mattson
parent
ec5be3ebbd
commit
eaec3d349d
@@ -372,8 +372,14 @@ class SKFunction(SKFunctionBase):
|
||||
loop = None
|
||||
|
||||
if loop and loop.is_running():
|
||||
coroutine_function = self._invoke_semantic_async if self.is_semantic else self._invoke_native_async
|
||||
return self.run_async_in_executor(lambda: coroutine_function(context, settings))
|
||||
|
||||
def run_coroutine():
|
||||
if self.is_semantic:
|
||||
return self._invoke_semantic_async(context, settings)
|
||||
else:
|
||||
return self._invoke_native_async(context)
|
||||
|
||||
return self.run_async_in_executor(run_coroutine)
|
||||
else:
|
||||
if self.is_semantic:
|
||||
return asyncio.run(self._invoke_semantic_async(context, settings))
|
||||
|
||||
Reference in New Issue
Block a user