目录
1. _format_long_term_memory 和 _format_short_term_memory
验证python环境:python -m python --version
验证pip的安装:python -m pip --version
pip的安装命令:python -m ensurepip --default-pip
参考地址:终于有人把MCP讲透了!(附MCP实战完整代码)_mcp开发-优快云博客
参考地址:2025最新大模型常见面试题汇总(含答案),面试还得八股文,不背不行啊,非常详细收藏我这一篇就够了!_面试_Python-搬运工-MCP技术社区
一、function call调用:
代码地址:https://gitee.com/chenchen0827/business-acceptance.git
1.1、工具集成验证
具体工具代码实现:

工具的封装:

对外暴露:

提示词模版构建:

代码解释:
在您提供的代码中,Function Call 是通过直接调用定义好的函数来执行特定任务的。这些函数被封装成StructuredTool对象,以便在后续的流程中使用。以下是代码中 Function Call 的详细解释:
1. 创建StructuredTool对象
id_tool = StructuredTool.from_function( func=validate_id_card, name="QueryIdInfo", description="根据身份证号码,校验身份证是否有效.", )
- StructuredTool.from_function:这是一个工厂方法,用于将普通的函数转换为StructuredTool对象。
- func=validate_id_card:指定要转换的函数。
- name="QueryIdInfo":为工具命名,以便在后续的流程中引用。
- description="根据身份证号码,校验身份证是否有效.":提供工具的描述信息。
2. 使用工具
在__main__部分,工具被用于构建提示模板:
prompt_template = builder.build(tools=[ address_tool, id_tool, phone_number_tool], output_parser=output_parser)
- builder.build:使用构建器来创建提示模板。
- tools=[...]:指定要包含在提示模板中的工具。
- output_parser=output_parser:指定输出解析器。
3. 格式化提示模板
print(prompt_template.format( task_description=task, work_dir=".", short_term_memory="", long_term_memory="", ))
- prompt_template.format:调用格式化方法来填充提示模板中的占位符。
- task_description=task:传入任务描述。
- work_dir=".":指定工作目录。
- short_term_memory=""和long_term_memory="":传入短期和长期记忆信息。
总结
在面试中,您可以这样解释Function Call:
面试官:请解释一下您代码中的Function Call是如何工作的?
您:在我的代码中,Function Call是指直接调用已定义的函数来执行特定任务。我使用StructuredTool.from_function方法将普通的函数封装成StructuredTool对象,这样可以在后续的流程中方便地引用和执行。例如,我创建了id_tool来校验身份证号码的有效性,address_tool来查询地址详细信息,以及phone_number_tool来校验手机号码格式。这些工具在构建提示模板时被指定,并通过格式化方法填充模板中的占位符。这种方式允许我同步执行函数,并在同一代码库或模块中实现高度耦合的功能调用。
面试官:那么,Function Call和MCP有什么区别呢?
您:Function Call和MCP的主要区别在于执行方式、耦合度和适用场景。Function Call是同步执行的,代码会等待函数执行完成并返回结果后继续执行后续代码,这导致较高的代码耦合度,适用于简单、同一代码库内的功能调用。而MCP通常是异步的,通过网络通信调用远程服务,具有较低的耦合度,适用于复杂、跨服务的交互场景。在我的代码中,我使用了Function Call来实现本地函数的快速调用和执行。
通过这样的解释,您可以展示出对Function Call的深入理解,以及如何在实践中应用它来解决问题
1.2、整体代码实现
结合模型的具体代码:
Function Call 是指直接调用定义好的函数来执行特定的任务,
具体调用代码:

最低0.47元/天 解锁文章
5980

被折叠的 条评论
为什么被折叠?



