当今在ChatGPT出现后,商业化大模型领域得到了一个全新的突破

而对我们应用开发人员,如何使用这类大模型是一个新的问题

而在这个节点上,LangChain作为一个以大模型为引擎的全新应用开发框架从天而降,让我们利用大模型的便捷,开发出令人惊叹的智能应用

那么LangChain作为一个大模型开发的框架,如何理解呢?

其可以通过API调用其他诸如ChatGPT等大型语言模型

除此之外,还提供了其他的特性进行使用

图片

比如将语言模型与其他数据源连接起来,从而实现对更丰富、更多样化数据的理解和利用。

让语言模型与其环境进行交互,使得模型能够对其环境有更深入的理解,并能够进行有效的响应。

本次学习也会先从对LangChain的基本使用

再到其中涉及的组件,诸如模型,提示模板,数据检索,记忆,链,代理这几个组件来说。

之后是一个融会贯通,将上面遇到的组件进行连接,尝试使用不同的方案来完成任务。

那么我们即将开始第一阶段,也就是对LangChain的基本使用

简单来说,就是使用LangChain连接到GPT

第一步就是安装相关的包

pip install langchain 来安装LangChain

pip install openai 来安装OpenAI

然后就是声明使用这个OpenAIKey

之后我再看关于其中agent的简单实用

pip install –upgrade langchain

pip install transformers

pip install pillow

pip install torch torchvision torchaudio

import osos.environ[“OPENAI_API_KEY”] = ‘你的OpenAI Key’

from langchain.llms import OpenAI

llm = OpenAI(model_name=”text-davinci-003″,max_tokens=200)

text = llm(“请给我写一句情人节红玫瑰的中文宣传语”)

print(text)

先导入了OpenAI的key,并且初始化了OpenAI的对象

把相关的需求传递给了模型,并尝试获取到结果

#—- 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.run(input=f”n请给出合适的中文文案”)

这样就是利用传入的图片,让模型生成对应的文案

在使用模型的时候,指定使用了temperature,还制定了参数0.2,意味着保留一定的随机性。

那么作为开篇,我们所讲述的就这么多,主要是关于LangChain的整体一个简介。

我们在接下来将会按照上面开篇讲述的路线,一步步的剖析LangChain的使用。

发表评论

邮箱地址不会被公开。 必填项已用*标注