ollama本地大模型,ollama及其openai接口实现

python opanai接口实现

本地部署ollama大模型,ollama自带接口。ollama自己本地接口如下所示:

import requests
import json

# 设置API的URL
api_url = "http://localhost:11434"  # 假设Ollama运行在本地主机的8000端口

# 设置请求头
headers = {
    "Content-Type": "application/json"
}

# 设置请求数据
data = {
    "model": "deepseek-r1:7b",  # 指定要使用的模型
    "prompt": "你是谁",  # 这里填写你想要模型回答的问题或提示
    # "max_tokens": 100  # 设置生成回答的最大token数
    "stream": True
}

# 发送POST请求
response = requests.post(f"{api_url}/api/generate", headers=headers, data=json.dumps(data))
print(response.text)
# # 检查响应状态码
# if response.status_code == 200:
#     # 解析响应内容
#     result = response.text()
#     print("模型回答:", result.get("response"))
# else:
#     print("请求失败,状态码:", response.status_code)

ollama模型 opanai接口实现

需要注意的是,接口url地址稍微有所变化,base_url=‘http://localhost:11434/v1’

from openai import OpenAI


def chat_with_assistant(client, initial_system_message):
    # 初始消息列表,包含系统角色
    messages = [{"role": "system", "content": initial_system_message}]

    while True:
        # 获取用户输入
        user_input = input("You: ")
        if user_input.lower() == 'exit':  # 如果用户输入'exit',则退出循环
            break

        # 添加用户消息到列表
        messages.append({"role": "user", "content": user_input})

        # 获取助手回答
        response = client.chat.completions.create(
            model="deepseek-r1:7b",
            messages=messages
        )
        assistant_reply = response.choices[0].message.content
        print("Assistant:", assistant_reply)

        # 添加助手回答到消息列表,以保持对话的连贯性
        messages.append({"role": "assistant", "content": assistant_reply})


# 创建OpenAI客户端实例
client = OpenAI(
    base_url='http://localhost:11434/v1',
    api_key='ollama',  # required, but unused
)

# 调用函数,开始对话
chat_with_assistant(client, "You are a helpful assistant.")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椒椒。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值