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

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

系列文章目录

往期文章:

【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 ollamahost="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.lryc.cn/news/395163.html

相关文章:

  • 20240708 每日AI必读资讯
  • 为什么KV Cache只需缓存K矩阵和V矩阵,无需缓存Q矩阵?
  • VS code修改底部的行号的状态栏颜色
  • 【鸿蒙学习笔记】MVVM模式
  • 端、边、云三级算力网络
  • java —— JSP 技术
  • 【Python学习笔记】菜鸟教程Scrapy案例 + B站amazon案例视频
  • Pycharm的终端(Terminal)中切换到当前项目所在的虚拟环境
  • Nginx 高效加速策略:动静分离与缓存详解
  • Unity3D 游戏摇杆的制作与实现详解
  • 从nginx返回404来看http1.0和http1.1的区别
  • MySQL 代理层:ProxySQL
  • 异步主从复制
  • 论文解析——Full Stack Optimization of Transformer Inference: a Survey
  • selenium处理cookie问题实战
  • (十五)GLM库对矩阵操作
  • android中activity与fragment之间的各种跳转
  • 动态规划算法-以中学排课管理系统为例
  • 本安防爆手机:危险环境下的安全通信解决方案
  • 算法学习笔记(8)-动态规划基础篇
  • 数据库常见问题(持续更新)
  • 定个小目标之刷LeetCode热题(40)
  • Linux--线程(概念篇)
  • Mojo: 轻量级Perl框架的魔力
  • Python 游戏服务器架构优化
  • 13 学习总结:指针 · 其一
  • golang 项目打包部署环境变量设置
  • 【Linux进程】进程优先级 Linux 2.6内核进程的调度
  • Linux中的粘滞位及mysql日期函数
  • BP神经网络的实践经验