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

    作者:~啥也不会~

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【LLM】二、python调用本地的ollama部署的大模型

    发表回复