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

佛山 网站建设培训班湖南百度seo

佛山 网站建设培训班,湖南百度seo,天津建设人才网官网,宜丰做网站的系列文章目录 玩转大语言模型——ollama导入huggingface下载的模型 玩转大语言模型——langchain调用ollama视觉多模态语言模型 langchain调用ollama视觉多模态语言模型 系列文章目录前言使用Ollama下载模型查找模型下载模型 测试模型ollama测试langchain测试加载图片加载模型…

系列文章目录

玩转大语言模型——ollama导入huggingface下载的模型
玩转大语言模型——langchain调用ollama视觉多模态语言模型


langchain调用ollama视觉多模态语言模型

  • 系列文章目录
  • 前言
  • 使用Ollama下载模型
    • 查找模型
    • 下载模型
  • 测试模型
    • ollama测试
    • langchain测试
      • 加载图片
      • 加载模型
    • 模型回复


前言

视觉多模态语言模型由预训练的多模态编码器、预训练的 LLM 以及连接两者的多模态接口等主要组件构成。将图像信息转换为可被语言模型处理的特征表示。拥有强大的视觉理解能力,能够准确理解图像内容,进行图像描述、视觉问答、图像定位等任务。可以与用户进行多轮交互,根据用户的文本和图像输入生成连贯、准确且有针对性的回答。本篇文章将介绍使用langchain调用ollama视觉多模态语音模型。


使用Ollama下载模型

查找模型

Ollama官网:https://ollama.com/
在这里插入图片描述
在Ollama官网上点击左上角的Models
在这里插入图片描述
选择Vision后就可以看到所有的支持视觉的模型了,在本篇文章中我们将使用llava模型进行演示,笔者也可以选择其他模型进行测试。LLaVA(Large Language and Vision Assistant)是一种多模态模型,它结合了视觉编码器和 Vicuna 以实现通用视觉和语言理解,在科学问答、数据分析和学术任务导向的视觉问答中表现出色,为研究人员提供了强大的工具。
在这里插入图片描述
左侧可以选择模型大小,模型越大一般来说效果越好,但针对测试来说7b的模型是够用的,为了兼容更多人的硬件设备,我们选用7b模型即可。右侧的就使用ollama下载模型的命令。

下载模型

打开命令行窗口,输入ollama下载模型的命令:ollama run llava,该命令会下载模型并直接执行,在初次下载成功后再执行命令不会重复下载。
执行命令后会先下载llava模型然后运行。如果想仅下载不运行,可以使用ollama pull llava
使用ollama run llava下载模型,可以直接与模型对话验证下载是否成功,如果使用的是ollama pull llava可以通过ollama list查看模型有没有被添加到列表,如果添加到列表,说明下载成功。
在这里插入图片描述


测试模型

ollama测试

下面我们用这样一张图片测试一下模型的性能。图片的路径在:D:/test_llava.png
在这里插入图片描述
打开命令行输入:ollama run llava,可以直接在提问时提出图片路径使用模型。
在这里插入图片描述
但是llava模型默认会使用英文回答,所以最好在询问的时候让模型用中文回答。从中文的回答上来看,回复内容是比较宽泛的描述,并且有可能会出错(羊驼被当作了斑羊)。这可能和模型或者模型大小有关,可以尝试其他模型测试一下,后期笔者也会写一篇相关的测试文章,请关注我的专栏。

langchain测试

加载图片

在langchain中使用视觉多模态语言模型时,图片应该是Base64编码的格式,下面介绍两种图片转Base64编码的方式。

从网络获取图片

import base64
import httpximage_url = "图片的网络链接"
image_base64 = base64.b64encode(httpx.get(image_url).content).decode("utf-8")

从本地获取图片
从本地获取图片并不能直接读取并转换Base64编码格式,在这里我们可以编写一个函数来解决。

import base64
from PIL import Image
import iodef image_to_base64(image_path):with Image.open(image_path) as img:buffer = io.BytesIO()img.save(buffer, format="PNG")img_bytes = buffer.getvalue()img_base64 = base64.b64encode(img_bytes).decode("utf-8")return img_base64local_image_path = "D:/test_llava.png"
image_base64 = image_to_base64(local_image_path)

在函数image_to_base64中,这里使用Image.open函数打开指定路径的图片文件。ImagePIL库中的类,open方法用于打开图片文件。with语句用于确保在使用完图片资源后,自动关闭文件,释放资源,避免资源泄漏。io.BytesIO是 Python 标准库io中的类,用于在内存中创建一个二进制流缓冲区。这个缓冲区将用于存储图片数据。将打开的图片img保存到之前创建的缓冲区buffer中后,使用getvalue方法用于获取缓冲区中的所有数据然后通过base64.b64encode函数用于对二进制数据img_bytes进行 Base64 编码,返回一个字节对象。然后使用decode("utf-8")方法将字节对象转换为 UTF-8 编码的字符串,得到最终的 Base64 编码的图片字符串。

加载模型

这里使用langchain中OpenAI接口和Ollama接口分别加载模型
首先下载langchain-openailangchain-ollama包,打开命令行,分别输入:

pip install -U langchain-openai
pip install -U langchain-ollama

OpenAI模型加载

from langchain_openai import ChatOpenAImodel = ChatOpenAI(temperature=0,model="llava:latest",openai_api_base="http://localhost:11434/v1/",openai_api_key="any key"
)

因为我们在本地使用ollama下载了llava模型了,所以openai_api_baseollama提供的URL:http://localhost:11434/v1/openai_api_key可以为任何值,但不能不传这个参数或者为空并且不能是中文。
Ollama模型加载

from langchain_ollama.chat_models import ChatOllamamodel = ChatOllama(model="llava:latest", temperature=0)

使用Ollama方式加载就更简单了,不过这种方式仍然可以访问远程的URL。下面给出例子

model = ChatOllama(model="llava:latest", base_url="http://localhost:11434/v1/", stream=True, temperature=0.6)

如果要访问其他地址的ollama的URL,修改base_url参数即可。

模型回复

from langchain_core.messages import HumanMessagemessage = HumanMessage(content=[{"type": "text", "text": "描述一下这幅图,用中文回答"},{"type": "image_url","image_url": {"url": f"data:image/jpeg;base64,{image_base64}"},},],
)
response = model.invoke([message])
print(response.content)

运行结果:
在这里插入图片描述

http://www.hkea.cn/news/50760/

相关文章:

  • 百度网站怎么做的赚钱吗seo中文含义
  • 做网站界面的软件互联网培训
  • 电子商务网站建设与维护李建忠高级搜索引擎技巧
  • 做地产网站全网搜索软件
  • 网站开发培训班百度网站推广关键词怎么查
  • 东莞市做网站公司seo怎样
  • ps做网站大小尺寸应用商店优化
  • 网站站群建设方案知名网页设计公司
  • 广州网站建设公司哪家好专业的seo搜索引擎优化培训
  • 外国人做汉字网站seo搜索排名影响因素主要有
  • 外贸五金网站建设网站制作优化排名
  • 义乌网站建设多少钱网络平台营销
  • 怀仁有做网站的公司吗磁力搜索引擎2023
  • 建站行业都扁平化设计合肥网站推广公司哪家好
  • 做企业网站织梦和wordpress哪个好百度指数查询工具app
  • 郑州网站服务公司优化神马排名软件
  • 茶叶网站建设的优势南宁seo外包平台
  • 高古楼网站 做窗子北京seo技术交流
  • 南阳建设网站制作网络最有效的推广方法
  • 纯静态网站seoseo排名优化北京
  • 开封网站建设哪家好指数计算器
  • 网站开发 架构石家庄seo关键词排名
  • 可以免费做商业网站的cms百度seo霸屏软件
  • 哪家网站建设专业快速建站教程
  • 坪山网站建设行业现状优化seo方案
  • 做网站需要架构师吗网站平台有哪些
  • 网站建设丿选择金手指15凡科建站官网
  • 可以做外国网站文章武汉企业seo推广
  • 天津网站建设公司最好太原做网站哪家好
  • 网站代下单怎么做百度指数数据分析平台入口