【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、安装依赖

<code>pip install requests

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交流;如觉得有用,欢迎三连



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。