强类型化的LLM调用:Fructose

强类型化的LLM调用:Fructose

fructose项目地址:https://gitcode.com/gh_mirrors/fr/fructose

Fructose是一个Python库,提供了一个可靠的、强类型的接口,将大型语言模型(LLM)的调用封装为普通函数调用。这个轻量级且语法简洁的库,让与LLM交互变得前所未有的简单。

项目介绍

@ai 装饰器是 Fructose 的核心,它可以应用到一个类型注解的函数上,使得每次调用这个函数时,都会自动构造并执行一个LLM任务提示。例如,以下代码会向LLM询问如何描述一组动物:

from fructose import Fructose

ai = Fructose()

@ai
def describe(animals: list[str]) -> str:
  """
  Given a list of animals, use one word that'd describe them all.
  """
  ...

description = describe(["dog", "cat", "parrot", "goldfish"]) # -> "pets" type: str

项目技术分析

Fructose 支持各种类型的参数和返回值,包括基本类型(如字符串、布尔、整数、浮点数)、复合类型(如列表、字典、元组和枚举)以及复杂数据类。它还允许嵌套类型的处理,并提供了自定义提示模板功能。此外,Fructose 还能够调用本地Python函数,甚至其他 @ai 函数,这大大增加了其灵活性和实用性。

应用场景

在多个领域中,Fructose 都能发挥其独特优势。比如,在游戏开发中,可以通过它获取创新而有序的游戏元素,如生物特性、剧情生成等。视频、音频或文本的内容生成也可以利用这一特性。在自动化报告或文档撰写过程中,Fructose 可以生成结构化文本,提高效率。

项目特点

  1. 易用性:通过简单的装饰器和类型注解,即可实现LLM调用。
  2. 类型安全:返回的结果严格遵守函数声明的返回类型。
  3. 强大功能:支持基本类型、复合类型、复杂数据类,还能嵌套调用。
  4. 灵活性:自定义提示模板和本地函数调用,适应多种场景需求。

注意事项

目前,Fructose 处于维护暂停状态,但仍有两个活跃维护的替代项目可供选择:InstructorMarvin

安装 Fructose 使用 pip3 install fructose,并且需要设置OpenAI API Key来运行示例。

结论

尽管Fructose暂时未继续维护,但它提供的强类型化LLM调用理念,简化了与高级语言模型的交互,对于任何寻求高效集成的语言处理任务,都值得尝试。无论是开发者还是研究者,都能从中找到灵感,探索更多可能性。

fructose项目地址:https://gitcode.com/gh_mirrors/fr/fructose

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

余靖年Veronica

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

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

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

打赏作者

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

抵扣说明:

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

余额充值