当前位置: 首页 > web >正文

AI(学习笔记第三课) 使用langchain进行AI开发(2)

文章目录

  • AI(学习笔记第三课) 使用langchain进行AI开发(2)
  • 学习内容:
    • 1. 返回结构化数据(structured_output pydantic)
      • 1.1 使用背景
      • 1.2 返回结构化数据示例代码(pydantic)
      • 1.3 执行测试代码
    • 2 返回结构化数据(json)
      • 2.1 示例代码
      • 2.2 执行结果
    • 3 给提供一些例子(few shot prompting)
      • 3.1 示例代码
    • 4 模型绑定工具(Tool Calling)
      • 4.1 Tool Calling是什么
      • 4.2 Tool Calling实例代码
      • 4.3 Tool Calling实现阶段
        • 4.3.1 提前绑定阶段
        • 4.3.2 Tool calling调用阶段
      • 4.4 Tool calling示例
        • 4.4.1 Tool calling示例代码
        • 4.4.2 Tool calling示例代码执行
    • 5 返回结构化回答(使用method)
      • 5.1 使用method结构代码
      • 5.2 实行结果
    • 6 返回结构化回答(使用include_raw)

AI(学习笔记第三课) 使用langchain进行AI开发(2)

  • 使用langchain,返回结构化数据

学习内容:

  • 使用langchain,返回结构化数据(pydantic)
  • 使用langchain,返回结构化数据(json)
  • 提供一些示例few shot prompting
  • 模型绑定工具Tool Calling
  • 使用langchain,返回结构化数据(method)
  • 使用langchain,返回结构化数据(include raw)

1. 返回结构化数据(structured_output pydantic)

1.1 使用背景

一般的AI Application都是希望给LLM给出的回答,能够进行解析,所以最好是结构化的结果(structured output)。
在这里插入图片描述
参照langchain的官方文档。
structured_output

1.2 返回结构化数据示例代码(pydantic)

  • 使用deepseek的官方AI,不使用自己构造的ollama
  • 需要引入langchain-deepseek这个包,可以看出langchain开始对于deepseek支持了。
  • 可以看出,这是使用的是pydantic的结构化数据。
from typing import Optional
from langchain_deepseek import ChatDeepSeek
from pydantic import BaseModel, Fieldllm = ChatDeepSeek(model="deepseek-chat",  # 模型名称temperature=0,         # 控制生成随机性(0-1)max_tokens=None,       # 最大输出token数timeout=None,          # 超时设置max_retries=2,         # 失败重试次数api_key="your own deepseek api key"
)class Joke(BaseModel):"""Joke to tell user."""setup: str = Field(description="The setup of the joke")punchline: str = Field(description="The punchline to the joke")rating: Optional[int] = Field(default=None, description="How funny the joke is, from 1 to 10")
structured_llm = llm.with_structured_output(Joke)
print(structured_llm.invoke("Tell me a joke about cats"))

1.3 执行测试代码

setup="Why don't cats play poker in the jungle?" punchline='Too many cheetahs!' rating=7

结果已经是结构化的数据了。
在这里插入图片描述

2 返回结构化数据(json)

2.1 示例代码

除了pydantic格式之外,也可以是数据的json

from langchain_deepseek import ChatDeepSeek
from typing import Optional
from typing_extensions import Annotated, TypedDict
import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)llm = ChatDeepSeek(model="deepseek-chat",  # 模型名称temperature=0,         # 控制生成随机性(0-1)max_tokens=None,       # 最大输出token数timeout=None,          # 超时设置max_retries=2,         # 失败重试次数api_key=
http://www.xdnf.cn/news/5436.html

相关文章:

  • VSCode1.101.0便携版|中英文|编辑器|安装教程
  • 大模型项目:普通蓝牙音响接入DeepSeek,解锁语音交互新玩法
  • 【React中useRef钩子详解】
  • 《AI大模型应知应会100篇》第56篇:LangChain快速入门与应用示例
  • 【Leetcode 每日一题】1550. 存在连续三个奇数的数组
  • 【心海资源】【最新话费盗u】【未测】提币对方官方波场+没有任何加密+无后门+前端VUE
  • 元数据分类
  • 硬件中断请求号和lspci命令查看到的device id有关系吗?
  • 欧拉路与欧拉回路(模板)
  • LVGL简易计算器实战
  • TGV之LTX:《LTX-Video: Realtime Video Latent Diffusion》翻译与解读
  • RagFlow 完全指南(一):从零搭建开源大模型应用平台(Ollama、VLLM本地模型接入实战)
  • Flutter基础()
  • Qt 中 QWidget涉及的常用核心属性介绍
  • 《AI大模型应知应会100篇》第57篇:LlamaIndex使用指南:构建高效知识库
  • 5.11y打卡
  • 缓存(3):本地缓存作用 及 数据一致性 实现策略
  • upload-labs靶场通关详解:第五关
  • Linux基础(vim编辑器)
  • 自然语言处理与BI融合实战:ChatBI动态语义解析技术架构剖析
  • 基于去中心化与AI智能服务的web3钱包的应用开发的背景描述
  • 【Linux网络】HTTP
  • 【GESP真题解析】第 19 集 GESP 二级 2025 年 3 月编程题 1:等差矩阵
  • X.509证书详解
  • 蓝桥杯14届 数三角
  • 【每日一题 | 2025年5.5 ~ 5.11】搜索相关题
  • [Java实战]Spring Boot 解决跨域问题(十四)
  • 深入探索 RKNN 模型转换之旅
  • llama.cpp初识
  • iVX 平台技术解析:图形化与组件化的融合创新