【LLM】二、python调用本地的ollama部署的大模型

news2024/11/15 14:01:37

系列文章目录

往期文章:

【LLM】一、利用ollama本地部署大模型


目录

文章目录

前言

一、ollama库调用

二、langchain调用 

三、requests调用

四、相关参数说明:

总结


前言

        本地部署了大模型,下一步任务便是如何调用的问题,实际场景中个人感觉用http请求的方式较为合理,本篇文章也将通过http请求的方式来调用我们本地部署的大模型,正文开始。


一、ollama库调用

参考文档:ollama的python库调用

注意,这里的ollama不是我们第一篇安装的那个Ollama!!!!不要搞混

1、环境准备:

pip install ollama

2、调用示例:

  •      如果你都是按照默认设置安装的Ollama,即host和port等均未设置,那执行以下代码即可
import ollama
res=ollama.chat(model="phi3",stream=False,messages=[{"role": "user","content": "你是谁"}],options={"temperature":0})
print(res)

        返回结果如:

         

  • 如果你更改了Ollama的配置,比如更改了监听端口,则执行下边代码:
import ollama

host="xxx"
port="xxx"
client= ollama.Client(host=f"http://{host}:{port}")
res=client.chat(model="qwen2:1.5b",messages=[{"role": "user","content": "你是谁"}],options={"temperature":0})

print(res)

返回结果如:

其中,host和port改为你自己的即可

二、langchain调用 

参考链接:langchain调用ollama

1、安装依赖:

pip install langchain
pip install langchain_community

2、调用示例

from langchain_community.llms import Ollama
host="xxx"
port="xxx" #默认的端口号为11434
llm=Ollama(base_url=f"http://{host}:{port}", model="qwen2:1.5b",temperature=0)
res=llm.invoke("你是谁")
print(res)

       其中,host和port改为你自己的即可

       结果如:

        

三、requests调用

1、安装依赖

pip install requests

2、调用示例

host="xxx"
port="xxx"
url = f"http://{host}:{port}/api/chat"
model = "qwen2:1.5b"
headers = {"Content-Type": "application/json"}
data = {
        "model": model, #模型选择
        "options": {
            "temperature": 0.  #为0表示不让模型自由发挥,输出结果相对较固定,>0的话,输出的结果会比较放飞自我
         },
        "stream": False, #流式输出
        "messages": [{
            "role": "system",
            "content":"你是谁?"
        }] #对话列表
    }
response=requests.post(url,json=data,headers=headers,timeout=60)
res=response.json()
print(res)

其中,host和port改为你自己的即可,结果同上

四、相关参数说明:

上述几个调用方式中所涉及到的比较重要的参数介绍如下:

  • temperature:用于调整生成结果的创造性程度,设置越高,生成的文本越新颖、越独特,设置越低,结果更集中
  • stream:默认false,是否流式传输回部分进度。
  • format: 转录输出的格式,可选项包括json、str等。


总结

以上就是本篇的全部内容,如有问题,环境评论区交流,或+企鹅群:995760755交流;如觉得有用,欢迎三连

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1908037.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端vue打印后端对象为[object,object]

今天给自己项目进行编写前端页面时,惊讶的发现,自己进行打印后端传递的对象,一直显示未[object,object],如下图所示: 感觉很奇怪,于是我猜测是不是自己获取的返回数据的问题,在进行添加了datat…

顶会FAST24最佳论文|阿里云块存储架构演进的得与失-4.EBS不同架构性能提升思路

3.1 平均延迟与长尾延迟 虚拟磁盘(VD)的延迟是由其底层架构决定的,具体而言,取决于请求所经历的路径。以EBS2为例,VD的延迟受制于两跳网络(从BlockClient到BlockServer,再至ChunkServer&#x…

顾客排队购买蛋挞问题(算法与数据结构设计)

课题内容和要求 顾客排队买蛋挞问题。有N个顾客排队,每人最多买M个。烘焙员每次烘焙1到K个蛋挞放入盘中,顾客只能购买盘中的蛋挞,未达到M个需重新排队。输出每个顾客购买情况和完成顺序。 例如—— 输入:N9,K5&#x…

游戏软件缺少d3dx9_42.dll怎么修复?五种方法助你轻松解决

D3DX9_42.dll的丢失是一种常见的操作系统异常问题,由于日常使用电脑时的不当操作,可能会导致一些dll文件的丢失,D3DX9_42.dll就是其中之一。对于这种情况,我们可以通过谨慎的修复来解决。以下是一种科学的解决D3DX9_42.dll丢失的方…

【面试题】串联探针和旁挂探针有什么区别?

在网络安全领域中,串联探针和旁挂探针(通常也被称为旁路探针)是两种不同部署方式的监控设备,它们各自具有独特的特性和应用场景。以下是它们之间的主要区别: 部署方式 串联探针:串联探针一般通过网关或者…

刷题(day01)

1、leetcode485.最大连续1的个数 给定一个二进制数组 nums , 计算其中最大连续 1 的个数。 示例 1: 输入:nums [1,1,0,1,1,1] 输出:3 解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.…

Linux环境部署Python Web服务

“姑娘,再见面就要靠运气了,可别装作不认识,那句“好久不见”可干万别打颤…” 将使用 Python 编写的后端 API 部署到 Linux 环境中,可以按照以下详细步骤操作。本文将涵盖环境准备、API 编写、使用 Gunicorn 作为 WSGI 服务器、配…

C#反射基本应用

1、反射 反射是.NET Framework的一个特性,它允许在运行时获取类型的信息以及动态创建对象,调用方法,以及访问字段和属性。 2、代码 using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Sy…

运维锅总详解系统设计原则

本文对CAP、BASE、ACID、SOLID 原则、12-Factor 应用方法论等12种系统设计原则进行分析举例,希望对您在进行系统设计、理解系统运行背后遵循的原理有所帮助! 一、CAP、BASE、ACID简介 以下是 ACID、CAP 和 BASE 系统设计原则的详细说明及其应用举例&am…

【小鸡案例】表单focus和blur事件用法

input中有2个属性,一个是focus获取焦点,一个是blur失去焦点。获取焦点就是我们点击输入框时输入框被选中;失去焦点即点击输入框以外的区域,今天就用这两种属性做一个点击输入框的动画效果。 先写个输入框,代码如下&am…

如何使用 pytorch 创建一个神经网络

我已发布在:如何使用 pytorch 创建一个神经网络 SapientialM.Github.io 构建神经网络 1 导入所需包 import os import torch from torch import nn from torch.utils.data import DataLoader from torchvision import datasets, transforms2 检查GPU是否可用 dev…

Nacos 进阶篇---集群:选举心跳健康检查劳动者(九)

一、引言 本章将是我们第二阶段,开始学习集群模式下,Nacos 是怎么去操作的 ? 本章重点: 在Nacos服务端当中,会去开启健康心跳检查定时任务。如果是在Nacos集群下,大家思考一下,有没有必要所有的…

[FreeRTOS 基础知识] 任务通知 概念

文章目录 任务通知 定义FreeRTOS 任务通知机制 任务通知 定义 实时操作系统(RTOS)的任务通知机制是一种用于任务间通信和同步的机制。在FreeRTOS中,任务通知允许一个任务向另一个任务发送通知,表明某个事件已经发生或者某些条件已…

鸿蒙语言基础类库:【@ohos.url (URL字符串解析)】

URL字符串解析 说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 导入…

【9-2:RPC设计】

RPC 1. 基础1.1 定义&特点1.2 具体实现框架1.3 应用场景2. RPC的关键技术点&一次调用rpc流程2.1 RPC流程流程两个网络模块如何连接的呢?其它特性RPC优势2.2 序列化技术序列化方式PRC如何选择序列化框架考虑因素2.3 应用层的通信协议-http什么是IO操作系统的IO模型有哪…

【Excel技巧大揭秘】如何轻松绕过Excel工作表保护密码?

在日常工作中,我们时常会遇到设置了工作表保护的Excel文件,本意是为了数据安全,但偶尔在急需编辑文件时却遗忘了密码,这无疑让人感到头疼。面对这样的困境,别担心,本文将为您揭秘两种高效解决策略&#xff…

go语言day12 包 init() time包 file包

包 包中的 结构体 及结构体属性 方法 都可以通过设置首字母大小写来实现权限访问,首字母大写任何包中都可以访问,首字母小写只在同包中可以访问。 再导入包go文件时,可以给.go文件取别名。 在导入的包名前加入 _ 意思是调用该包的初始…

OpenHarmony 入门——单元测试UnitTest快速入门

引言 OpenHarmony 的单元测试(UnitTest)是一个关键的软件开发过程,它确保代码的各个部分能够按预期工作,OpenHarmony的测试框架中提供了很多种的单元测试,今天简单介绍下UnitTest 类型的TDD测试。 OpenHarmony 的TDD …

尚品汇-(十五)

&#xff08;1&#xff09;快速入门 SpringBoot形式创建 Maven形式创建&#xff1a; 加入依赖&#xff1a; 创建启动类&#xff1a; 设置头文件 就想Jsp的<%Page %>一样 &#xff0c;Thymeleaf的也要引入标签规范。不加这个虽然不影响程序运行&#xff0c;但是你的idea…

【楚怡杯】职业院校技能大赛 “Python程序开发”赛项样题三

Python程序开发实训 &#xff08;时量&#xff1a;240分钟&#xff09; 中国XX 实训说明 注意事项 1. 请根据提供的实训环境&#xff0c;检查所列的硬件设备、软件清单、材料清单是否齐全&#xff0c;计算机设备是否能正常使用。 2. 实训结束前&#xff0c;在实训平台提供的…