AI系列:大语言模型的function calling(下)- 使用LangChain

本文探讨使用LangChain实现大语言模型的function calling。介绍了LangChain对LLM function calling的支持,包括tool/function加强功能、绑定tools/functions、调用大模型及处理流程。给出了LangChain版代码,并与原生LLM调用对比,指出其可节省代码、避免维护问题,屏蔽底层LLM。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

AI系列:大语言模型的function calling(上) 中我们实现了OpenAI原生的function calling。这篇文章将继续探讨如何使用LangChain实现大语言模型(LLM)的function calling。

LangChain Tool/Function calling

LangChain提供了对LLM function calling的支持。前提是底层大模型必须支持function calling。

1. Tool/function加强功能

LangChain的tool装饰器

LangChain在langchain_core模块中的tools子模块中提供了名为tool的装饰器,将根据函数定义和注释自动生成不同LLM function calling功能需要的schema,然后传递给LLM。后续对于LLM的调用将包括这些function/tool schema。

在Python中可以通过下面这种方式为自己定义的函数导入tool装饰器:

from langchain_core.tools import tool
@tool
def multiply(first_int: int, second_int: int) -> int:
    """两个整数相乘"""
    return first_int * second_int

@tool
def add(first_add: int, second_add: int) -> int:
    """两个整数相加"""
    return first_add + second_add

tools=[multiply, add]

其他方式: Pydantic

除了tool解释器,LangChain还支持用Pydantic来定义schema的方式。比如:

from langchain_core.pydantic_v1 import BaseModel, Field

# 注释很重要,会被用来生成schema。
class Add(BaseModel):
    """Add two int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liyane

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值