01LangChain 实战课开篇——AI奇点时刻

LangChain 实战课开篇------AI奇点时刻

课程简介

  • 课程背景:随着ChatGPT和GPT-4的出现,AI技术与实际应用之间的距离变得前所未有的近。LangChain作为基于大模型的应用开发框架,为程序员提供了开发智能应用的新工具。

LangChain 概述

  • 定义:LangChain是一个利用大语言模型(LLMs)构建端到端语言模型应用的框架。
  • 目标:释放大语言模型的潜能,实现数据感知和代理性,即连接数据源和环境交互的能力。

课程模块

启程篇:从 0 到 1

  • 系统安装:介绍LangChain的安装流程。
  • 快速入门:指导构建基于"易速鲜花"本地知识库的智能问答系统。

基础篇:深入 6 大组件

  1. 模型(Models):接口调用和输出解析。
  2. 提示模板(Prompts):优化提示工程。
  3. 数据检索(Indexes):文档构建和查询返回。
  4. 记忆(Memory):对话中的数据存储和检索。
  5. 链(Chains):封装功能,完成常见用例。
  6. 代理(Agents):自主调用工具,实现智能化。

应用篇:积累场景中的智慧

  • 实际场景应用:展示LangChain组件在实际场景中的应用,如嵌入式存储、数据库连接、异步通信等。

实战篇:动手!

  • 部署与开发:学习部署鲜花网络电商人脉工具和聊天客服机器人。

LangChain 有趣用例

应用 1:情人节玫瑰宣传语

  • 技术实现:通过LangChain调用OpenAI GPT模型生成宣传语。

  • 代码示例

    python 复制代码
    import os
    from langchain_openai import OpenAI
    
    os.environ["OPENAI_API_KEY"] = '你的OpenAI Key'
    llm = OpenAI(model_name="gpt-3.5-turbo-instruct", max_tokens=200)
    text = llm.invoke("请给我写一句情人节红玫瑰的中文宣传语")
    print(text)

实践 1:豆包宣传语

  • 代码示例

    python 复制代码
    import os
    from langchain_openai import OpenAI
    
    os.environ["OPENAI_API_KEY"] = '你的OpenAI Key'
    llm = OpenAI(model_name="gpt-3.5-turbo-instruct", max_tokens=200)
    text_one = llm.predict("请给我写一句豆包的中文宣传语")
    print(text_one)

应用 2:海报文案生成器

  • 技术实现:利用LangChain的"代理"功能调用图像字幕生成工具,批量生成文案。
  • 代码示例
python 复制代码
#---- Part 0 导入所需要的类
import os
import requests
from PIL import Image
from transformers import BlipProcessor, BlipForConditionalGeneration
from langchain.tools import BaseTool
from langchain import OpenAI
from langchain.agents import initialize_agent, AgentType

#---- Part I 初始化图像字幕生成模型
# 指定要使用的工具模型(HuggingFace中的image-caption模型)
hf_model = "Salesforce/blip-image-captioning-large"

# 初始化处理器和工具模型
# 预处理器将准备图像供模型使用
processor = BlipProcessor.from_pretrained(hf_model)
# 然后我们初始化工具模型本身
model = BlipForConditionalGeneration.from_pretrained(hf_model)

#---- Part II 定义图像字幕生成工具类
class ImageCapTool(BaseTool):
   
    name = "Image captioner"
    description = "为图片创作说明文案."

    def _run(self, url: str):
        # 下载图像并将其转换为PIL对象
        image = Image.open(requests.get(url, stream=True).raw).convert('RGB')
        # 预处理图像
        inputs = processor(image, return_tensors="pt")
        # 生成字幕
        out = model.generate(**inputs, max_new_tokens=20)
        # 获取字幕
        caption = processor.decode(out[0], skip_special_tokens=True)
        return caption
    
    def _arun(self, query: str):
        raise NotImplementedError("This tool does not support async")

#---- PartIII 初始化并运行LangChain智能代理
# 设置OpenAI的API密钥并初始化大语言模型(OpenAI的Text模型)
os.environ["OPENAI_API_KEY"] = '你的OpenAI API Key'
llm = OpenAI(temperature=0.2)

# 使用工具初始化智能代理并运行它
tools = [ImageCapTool()]
agent = initialize_agent(
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    tools=tools,
    llm=llm,
    verbose=True,
)
img_url = 'https://mir-s3-cdn-cf.behance.net/project_modules/hd/eec79e20058499.563190744f903.jpg'
agent.invoke(input=f"{img_url}\n请创作合适的中文推广文案")

结语

LangChain不仅仅是一个技术工具,它是一个开启AI无限可能的钥匙。它允许我们通过理解和推理来决定执行的操作和顺序,而不是设计固定的逻辑。这是一个全新的编程范式,预示着一个更加智能、自动化的未来。


以上是LangChain实战课的课堂笔记,希望能够帮助你更好地理解和掌握LangChain的基本概念和应用。随着课程的深入,我们将一起探索更多LangChain的高级功能和实际应用案例。让我们一起期待在AI的世界里解锁更多可能!

相关推荐
m0_726365833 分钟前
Ai漫剧系统 几分钟,让AI 把一篇小说变成了一部漫剧成片:从剧本到视频的全流程系统实现
人工智能·语言模型·ai作画·音视频
AIwenIPgeolocation15 分钟前
出海应用合规与风控平衡术:可信ID的全球安全实践
人工智能·安全
WordPress学习笔记17 分钟前
镌刻中式美学的高端WordPress主题
大数据·人工智能·wordpress
直奔標竿25 分钟前
Java开发者AI转型第二十七课!Spring AI 个人知识库实战(六)——全栈闭环收官,解锁前端流式渲染终极技巧
java·开发语言·前端·人工智能·后端·spring
科技社38 分钟前
咪咕互娱亮相数字中国峰会:“精品游戏+轻量终端”组合,打开数字娱乐新想象
人工智能
数智化精益手记局1 小时前
拆解物料管理erp系统的核心功能,看物料管理erp系统如何解决库存积压与缺料难题
大数据·网络·人工智能·安全·信息可视化·精益工程
Flying pigs~~2 小时前
RAG 完整面试指南:原理、优化、幻觉解决方案
人工智能·prompt·rag·智能体·检索增强生成·rag优化
博.闻广见2 小时前
AI_概率统计-2.常见分布
人工智能·机器学习
企业架构师老王2 小时前
2026制造业安全生产隐患识别AI方案:从主流产品对比看企业级AI Agent的非侵入式落地路径
人工智能·安全·ai
Aleeeeex2 小时前
RAG 那点事:从 8 份企业文档到能用的问答系统,全过程拆给你看
人工智能·python·ai编程