【LLM】二、python调用本地的ollama部署的大模型
~啥也不会~ 2024-08-19 15:05:04 阅读 50
系列文章目录
往期文章:
【LLM】一、利用ollama本地部署大模型
目录
文章目录
前言
一、ollama库调用
二、langchain调用
三、requests调用
四、相关参数说明:
总结
前言
本地部署了大模型,下一步任务便是如何调用的问题,实际场景中个人感觉用http请求的方式较为合理,本篇文章也将通过http请求的方式来调用我们本地部署的大模型,正文开始。
一、ollama库调用
参考文档:ollama的python库调用
注意,这里的ollama不是我们第一篇安装的那个Ollama!!!!不要搞混
1、环境准备:
<code>pip install ollama
2、调用示例:
如果你都是按照默认设置安装的Ollama,即host和port等均未设置,那执行以下代码即可
import ollama
res=ollama.chat(model="phi3",stream=False,messages=[{"role": "user","content": "你是谁"}],options={"temperature":0})code>
print(res)
返回结果如:
如果你更改了Ollama的配置,比如更改了监听端口,则执行下边代码:
<code>import ollama
host="xxx"code>
port="xxx"code>
client= ollama.Client(host=f"http://{host}:{port}")
res=client.chat(model="qwen2:1.5b",messages=[{"role": "user","content": "你是谁"}],options={"temperature":0})code>
print(res)
返回结果如:
其中,host和port改为你自己的即可
二、langchain调用
参考链接:langchain调用ollama
1、安装依赖:
<code>pip install langchain
pip install langchain_community
2、调用示例
from langchain_community.llms import Ollama
host="xxx"code>
port="xxx" #默认的端口号为11434code>
llm=Ollama(base_url=f"http://{host}:{port}", model="qwen2:1.5b",temperature=0)code>
res=llm.invoke("你是谁")
print(res)
其中,host和port改为你自己的即可
结果如:
三、requests调用
1、安装依赖
2、调用示例
host="xxx"code>
port="xxx"code>
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交流;如觉得有用,欢迎三连
上一篇: Java 并发集合:阻塞队列集合介绍
下一篇: windows:Opencv使用Cmake & VS 编译, C++、python、Cuda、Qt 环境详细教学及踩坑 一 :编译篇
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。