更新时间:2024-12-16 GMT+08:00
分享

Function Calling介绍

使用场景

大语言模型的Function Calling能力允许模型调用外部函数或服务,以扩展其自身的能力,执行它本身无法完成的任务。以下是一些Function Calling的使用场景:

表1 Function Calling使用场景说明

使用场景

说明

增强能力

大模型通过Function Calling可以调用外部工具或服务,例如实时数据检索、文件处理、数据库查询等,从而扩展其能力。

实时数据访问

由于大模型通常基于静态数据集训练,不具备实时信息。Function Calling允许模型访问最新的数据,提供更准确、更及时的回答。

提高准确性

在需要精确计算或特定领域知识时,大模型可以通过调用专门的函数来提高回答的准确性,例如调用数学计算函数、翻译服务或专业知识库。

支持模型

支持Qwen2.5系列预置服务:

  • Qwen2.5-72B-32K-1128
  • Qwen2.5-72B-Instruct-1128
  • Qwen2.5-7B-Instruct-1128

使用方式

  • 方式一:在请求体中添加相关函数。
    "tools": [
        {
            'type': 'function',
            'function': {
                'name': '对应到实际执行的函数名称',
                'description': '此处是函数相关描述',
                'parameters': {
                    '_comments': '此处是函数参数相关描述'
                },
            }
        },
        {
            '_comments': '其他函数相关说明'
        }
    ]
  • 方式二:通过OpenAI库发起请求。
    response = client.chat.completions.create(
        model="MaaS模型名称",
        messages = messages,
        tools=[
            {
                'type': 'function',
                'function': {
                    'name': '对应到实际执行的函数名称',
                    'description': '此处是函数相关描述',
                    'parameters': {
                        // 此处是函数参数相关描述
                    },
                }
            },
            {
                // 其他函数相关说明
            }
        ]
        // chat.completions 其他参数
    )
    

相关文档