OpenVINO与LangChain

LangChain

LangChain 是一个用于构建语言模型驱动应用的框架。它旨在通过语言模型(如OpenAI的GPT-4)来增强和简化开发者创建复杂的自然语言处理(NLP)应用的过程。LangChain 提供了模块化的工具和组件,使开发者能够轻松地集成和扩展不同的NLP功能。

以下是LangChain的主要特点和组件:

  1. 文档处理:LangChain 提供了强大的文档处理工具,支持从多个数据源(如本地文件、API、数据库等)加载和处理文档。这使得开发者可以方便地预处理和管理大量文本数据。
  2. 链式调用:LangChain 支持链式调用(Chaining),即将多个语言模型调用组合在一起,以实现更复杂的任务。例如,可以先调用一个模型进行文本生成,再调用另一个模型对生成的文本进行情感分析。
  3. 自定义管道:开发者可以创建和自定义处理管道,定义数据的流动方式和处理步骤。这使得应用能够更加灵活地适应不同的需求和场景。
  4. 可扩展性:LangChain 设计为高度可扩展,开发者可以方便地集成第三方工具和库,或编写自定义组件来扩展其功能。
  5. 对话管理:LangChain 提供了对话管理工具,可以处理多轮对话和上下文跟踪。这对于构建智能对话系统(如聊天机器人)非常有用。
  6. 支持多种语言模型:除了OpenAI的模型,LangChain 还支持其他语言模型和提供了统一的接口,简化了不同模型之间的切换和集成。
  7. 开源社区:LangChain 是一个开源项目,有活跃的社区支持和丰富的文档资源,开发者可以自由地贡献和使用。

OpenVINO

OpenVINO™是一个用于优化和部署AI推断的开源工具包。OpenVINO™ Runtime可以在各种硬件设备上运行相同优化的模型。加速您的深度学习性能,涵盖语言模型、计算机视觉、自动语音识别等多种用例。

OpenVINO模型可以通过HuggingFacePipeline类在本地运行。要使用OpenVINO部署模型,您可以指定backend="openvino"参数以触发OpenVINO作为后端推断框架。

要使用,请确保已安装带有OpenVINO Accelerator Python包的optimum-intel。

代码语言:python

代码运行次数:0

**Cloud Studio代码运行

%pip install --upgrade-strategy eager "optimum[openvino,nncf]" --quiet

加载模型

模型可以通过使用from_model_id方法指定模型参数进行加载。

如果您有英特尔GPU,可以指定model_kwargs={"device": "GPU"}来在其上运行推断。

代码语言:python

代码运行次数:0

**Cloud Studio代码运行

from langchain_community.llms.huggingface_pipeline import HuggingFacePipeline

ov_config = {"PERFORMANCE_HINT": "LATENCY", "NUM_STREAMS": "1", "CACHE_DIR": ""}

ov_llm = HuggingFacePipeline.from_model_id(
    model_id="gpt2",
    task="text-generation",
    backend="openvino",
    model_kwargs={"device": "CPU", "ov_config": ov_config},
    pipeline_kwargs={"max_new_tokens": 10},
)

它们也可以通过直接传递现有的optimum-intel管道进行加载。

代码语言:python

代码运行次数:0

**Cloud Studio代码运行

from optimum.intel.openvino import OVModelForCausalLM
from transformers import AutoTokenizer, pipeline

model_id = "gpt2"
device = "CPU"
tokenizer = AutoTokenizer.from_pretrained(model_id)
ov_model = OVModelForCausalLM.from_pretrained(
    model_id, export=True, device=device, ov_config=ov_config
)
ov_pipe = pipeline(
    "text-generation", model=ov_model, tokenizer=tokenizer, max_new_tokens=10
)
ov_llm = HuggingFacePipeline(pipeline=ov_pipe)

Create Chain

将加载到内存中的模型与提示一起组合,形成一个链。

代码语言:python

代码运行次数:0

**Cloud Studio代码运行

from langchain_core.prompts import PromptTemplate

template = """Question: {question}

Answer: Let's think step by step."""
prompt = PromptTemplate.from_template(template)

chain = prompt | ov_llm

question = "What is electroencephalography?"

print(chain.invoke({"question": question}))

使用本地OpenVINO模型进行推断

可以使用命令行界面将模型导出为OpenVINO IR格式,并从本地文件夹加载模型。

代码语言:python

代码运行次数:0

**Cloud Studio代码运行

!optimum-cli export openvino --model gpt2 ov_model_dir

建议使用 --weight-format 参数对权重进行 8 或 4 位量化,以减少推断延迟和模型占用空间。!optimum-cli export openvino --model gpt2 --weight-format int8 ov_model_dir # for 8-bit quantization!optimum-cli export openvino --model gpt2 --weight-format int4 ov_model_dir # for 4-bit quantization

代码语言:python

代码运行次数:0

**Cloud Studio代码运行

ov_llm = HuggingFacePipeline.from_model_id(
    model_id="ov_model_dir",
    task="text-generation",
    backend="openvino",
    model_kwargs={"device": "CPU", "ov_config": ov_config},
    pipeline_kwargs={"max_new_tokens": 10},
)

chain = prompt | ov_llm

question = "What is electroencephalography?"

print(chain.invoke({"question": question}))

您可以通过动态量化激活和KV-cache量化来获得额外的推断速度提升。可以通过 ov_config 启用这些选项,如下所示:

代码语言:python

代码运行次数:0

**Cloud Studio代码运行

ov_config = {
    "KV_CACHE_PRECISION": "u8",
    "DYNAMIC_QUANTIZATION_GROUP_SIZE": "32",
    "PERFORMANCE_HINT": "LATENCY",
    "NUM_STREAMS": "1",
    "CACHE_DIR": "",
}

如何系统的去学习大模型LLM ?

作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料 包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

在这里插入图片描述

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

在这里插入图片描述

四、AI大模型商业化落地方案

img

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。
  • 内容
    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
      - L1.4.1 知识大模型
      - L1.4.2 生产大模型
      - L1.4.3 模型工程方法论
      - L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
  • 内容
    • L2.1 API接口
      - L2.1.1 OpenAI API接口
      - L2.1.2 Python接口接入
      - L2.1.3 BOT工具类框架
      - L2.1.4 代码示例
    • L2.2 Prompt框架
      - L2.2.1 什么是Prompt
      - L2.2.2 Prompt框架应用现状
      - L2.2.3 基于GPTAS的Prompt框架
      - L2.2.4 Prompt框架与Thought
      - L2.2.5 Prompt框架与提示词
    • L2.3 流水线工程
      - L2.3.1 流水线工程的概念
      - L2.3.2 流水线工程的优点
      - L2.3.3 流水线工程的应用
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
  • 内容
    • L3.1 Agent模型框架
      - L3.1.1 Agent模型框架的设计理念
      - L3.1.2 Agent模型框架的核心组件
      - L3.1.3 Agent模型框架的实现细节
    • L3.2 MetaGPT
      - L3.2.1 MetaGPT的基本概念
      - L3.2.2 MetaGPT的工作原理
      - L3.2.3 MetaGPT的应用场景
    • L3.3 ChatGLM
      - L3.3.1 ChatGLM的特点
      - L3.3.2 ChatGLM的开发环境
      - L3.3.3 ChatGLM的使用示例
    • L3.4 LLAMA
      - L3.4.1 LLAMA的特点
      - L3.4.2 LLAMA的开发环境
      - L3.4.3 LLAMA的使用示例
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
  • 内容
    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

学习计划:

  • 阶段1:1-2个月,建立AI大模型的基础知识体系。
  • 阶段2:2-3个月,专注于API应用开发能力的提升。
  • 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
  • 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值