funcchain简介
funcchain是一个用于构建认知系统的Python库,它以最pythonic的方式将大型语言模型(LLM)无缝集成到你的应用中。它利用pydantic模型作为输出模式,结合langchain作为后端,可以轻松地将LLM集成到你的应用中。funcchain使用OpenAI Functions或LlamaCpp语法(json-schema模式)来实现高效的结构化输出。
主要特性
- 🐍 pythonic风格
- 🔀 轻松切换OpenAI或本地模型
- 🔄 动态输出类型(pydantic模型或基本类型)
- 👁️ 支持视觉LLM
- 🧠 使用langchain_core作为后端
- 📝 使用Jinja2进行提示词模板
- 🏗️ 可靠的结构化输出
- 🔁 自动重试解析
- 🔧 支持LangSmith
- 🔄 支持同步、异步、流式、并行、回退等多种方式
- 📦 从Hugging Face自动下载GGUF模型
- ✅ 所有函数都有类型提示,支持mypy
- 🗣️ 聊天路由器组件
- 🧩 可与LangChain LCEL组合使用
- 🛠️ 简单的错误处理
- 🚦 支持枚举和字面量
- 📐 自定义解析类型
安装
使用pip安装funcchain:
pip install funcchain
快速入门
以下是一个简单的示例,展示了如何使用funcchain生成结构化输出:
from funcchain import chain
from pydantic import BaseModel
class Recipe(BaseModel):
ingredients: list[str]
instructions: list[str]
duration: int
def generate_recipe(topic: str) -> Recipe:
"""
Generate a recipe for a given topic.
"""
return chain()
recipe = generate_recipe("christmas dinner")
print(recipe.ingredients)
学习资源
-
官方文档 - 详细介绍了funcchain的用法和概念
-
GitHub仓库 - 包含源码、示例和贡献指南
-
PyPI页面 - 查看最新版本和安装说明
-
示例文件夹 - 包含多个实际应用示例
-
Discord社区 - 与其他开发者交流和获取帮助
进阶主题
贡献
如果你想为funcchain做出贡献,可以查看贡献指南。项目欢迎各种形式的贡献,包括报告问题、提出改进建议或提交代码。
funcchain是一个强大而灵活的工具,可以帮助你轻松构建基于LLM的应用。通过本文提供的资源,你可以快速入门并掌握这个工具。祝你使用愉快! 🚀