成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Ollama的配置修改與接口調用

人工智能 開源
在部署好ollama之后,我們再來介紹ollama的一些其他用法。

一、修改環境變量

1.1  配置遠程訪問

在我們本地部署好ollama之后,僅支持本機訪問,我們可以通過修改環境變量讓其他人可以遠程訪問。

在wins電腦上增加環境變量:

OLLAMA_HOST   0.0.0.0:11434

圖片

1.2  配置本地模型路徑

1.2.1 本地模型默認路徑

wins本地模型默認路徑:C:\Users\%username%\.ollama\models。

這里 %username% 是當前登錄的用戶名。例如,如果用戶名為 Smqnz,則模型文件的默認存儲路徑可能是 C:\Users\Smqnz\.ollama\models。

以我的電腦為例:

C:\Users\admin\.ollama\models

圖片

1.2.2 修改本地模型默認路徑

wins上的環境變量增加:

OLLAMA_MODELS  你想要存放的路徑

以下為修改示例:

圖片

修改后,重啟ollama即可。

1.3  配置允許的http請求來源

OLLAMA_ORIGINS 是 Ollama 中用于配置跨域資源共享(CORS)的環境變量,可以指定哪些來源(域名、IP 地址等)可以訪問 Ollama 提供的 API 服務。

如果我們想讓它接收任何來源(IP)的http請求的話,我們需要將其設置為*。

OLLAMA_ORIGINS  *

圖片

這里一定要注意,以上修改的環境變量名稱必須為大寫,不要隨意修改。

二、ollama常用API請求

一般來說,我們可以通過打開命令行窗口直接進行對話。

圖片

但是這種方式對于開發者來說并不實用,一般我們需要通過其API進行訪問與開發,本次我們就來詳細聊一下ollama常見的API。

2.1  文本生成API

Ollama 提供了一套功能豐富的文本生成接口,方便用戶與本地部署的模型進行交互,以下是其主要的文本生成接口及功能介紹:

接口路徑:POST /api/generate

功能:向模型發送提示(prompt),生成文本回復。

請求參數:

model:模型名稱,如 "deepseek-r1:7b"。

prompt:輸入的提示文本。

stream:是否啟用流式輸出,默認為 false。

options:可選參數,包括:

    temperature:控制生成文本的多樣性,取值范圍通常為 0 到 1。

    max_tokens:最大生成的 token 數量。

    top_p:Top-p 采樣參數。

import requests


# Ollama 服務的 URL
url = "http://localhost:11434/api/generate"


# 請求數據
data = {
    "model": "deepseek-r1:8b",  # 指定模型名稱
    "prompt": "你好,請簡單介紹一下Python語言的特點。",  # 輸入的提示詞
    "stream": False,  # 是否啟用流式響應
    "options": {  # 可選參數
        "temperature": 0.7,  # 溫度參數,控制生成內容的隨機性
        "max_tokens": 100  # 最大生成長度
    }
}


# 發送 POST 請求
response = requests.post(url, jsnotallow=data)


# 檢查響應狀態
if response.status_code == 200:
    result = response.json()
    print("生成的文本:", result.get("response"))
else:
    print("請求失敗,狀態碼:", response.status_code)
    print("錯誤信息:", response.text)

圖片

2.2  對話聊天API

接口路徑:POST /api/chat

功能:支持多輪對話,模型會記住上下文。

請求參數:

model:模型名稱。

messages:消息列表,包含用戶輸入和模型回復,格式為 {"role": "user", "content": "用戶輸入內容"}。

stream:是否啟用流式輸出,默認為 false。

options:可選參數,與生成文本接口類似。

import requests
import json


# 設置請求的URL和端口
url = "http://localhost:11434/api/chat"


# 設置請求的數據
data = {
    "model": "deepseek-r1:8b",  # 模型名稱
    "messages": [
        {"role": "system", "content": "你現在是一名合格的售票員,你還可以隨意生成一些航班路線提供給用戶,請扮演好您的角色。"},
        {"role": "user", "content": "你好,我想訂一張機票。"},
        {"role": "assistant", "content": "好的,請問您要去哪里?"},
        {"role": "user", "content": "我要去北京。"},
        {"role": "user", "content": "有哪些航班可選?"}
    ],
    "stream": False  # 是否啟用流式輸出
}


# 設置請求頭
headers = {
    "Content-Type": "application/json"
}


# 發送POST請求
response = requests.post(url, headers=headers, data=json.dumps(data))


# 檢查響應狀態碼
if response.status_code == 200:
    # 解析響應內容
    result = response.json()
    # 輸出模型的回復內容
    print("模型回復:", result.get("message").get("content"))
else:
    # 打印錯誤信息
    print(f"請求失敗,狀態碼:{response.status_code}")
    print("錯誤信息:", response.text)

圖片

三、ollama兼容openai的請求

3.1  單輪對話

from openai import OpenAI


client = OpenAI(
    base_url="http://localhost:11434/v1",  # Ollama默認API地址
    api_key="test"  # 必填字段但會被忽略,隨便填寫即可
)


response = client.chat.completions.create(
    model="deepseek-r1:8b",  # 替換為已下載的模型名稱
    messages=[
        {"role": "system", "content": "你是一個有幫助的助手"},
        {"role": "user", "content": "用50字解釋量子計算"}
    ],
    temperature=0.7,
    max_tokens=1024
)


print(response.choices[0].message.content)

圖片

3.2  多輪對話

from openai import OpenAI




def run_chat_session():
    client = OpenAI(
        base_url="http://localhost:11434/v1/",
        api_key="test"  # 必填但會被忽略
    )


    chat_history = []
    while True:
        user_input = input("用戶:")
        if user_input.lower() == "exit":
            print("AI:對話結束")
            break


        chat_history.append({"role": "user", "content": user_input})


        try:
            response = client.chat.completions.create(
                messages=chat_history,
                model="deepseek-r1:8b"  # 替換成你安裝的模型名稱
            )
            ai_response = response.choices[0].message.content
            print(f"AI:{ai_response}")
            chat_history.append({"role": "assistant", "content": ai_response})
        except Exception as e:
            print(f"錯誤:{e}")




if __name__ == "__main__":
    run_chat_session()

圖片

圖片

圖片

可以看到,多輪對話可以通過維護問答列表能夠很好地理解上下文的含義。

責任編輯:龐桂玉 來源: Python伊甸園
相關推薦

2025-03-10 08:30:00

開源大模型

2025-02-19 08:00:00

SpringBootOllamaDeepSeek

2025-03-10 05:00:00

2025-04-09 08:20:00

2025-03-27 09:34:42

2010-01-15 10:36:49

CentOS yum配

2025-02-06 10:18:45

2010-02-04 09:10:04

Linux PHP

2024-10-30 11:06:59

SpringAI模型

2024-03-11 09:32:55

WebClientSpringHTTP

2025-03-10 10:00:00

Ollama高并發

2021-10-11 11:53:07

C++接口代碼

2024-05-11 10:19:31

TypeScript類型接口

2024-10-18 08:00:00

SpringBoot框架開發

2020-07-31 18:33:56

C++編程語言

2019-08-28 14:21:39

C++C接口代碼

2023-03-16 08:14:57

2011-07-15 15:47:02

JAVA

2011-03-21 10:15:07

LAMPLAMP安裝LAMP配置

2011-01-20 11:00:07

Zimbra安裝
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 神马影院一区二区三区 | 欧美999 | 一二区成人影院电影网 | 国色天香综合网 | 免费日韩网站 | 久久免费精彩视频 | 国产美女精品视频 | 国产欧美精品区一区二区三区 | 国产98色在线 | 日韩 | 日韩精品成人 | 日韩在线欧美 | 日韩成人免费视频 | 久久这里只有精品首页 | www.日韩av.com | 成人在线观看免费 | 久久综合影院 | 国产午夜精品理论片a大结局 | 岛国午夜 | 天天综合91 | 国产精品美女 | 97视频精品| 国产91久久精品一区二区 | 日韩av中文 | 亚洲欧美中文日韩在线v日本 | 波多野结衣先锋影音 | 夜夜爽99久久国产综合精品女不卡 | 先锋影音资源网站 | 国产精品久久久精品 | 中文字幕亚洲精品 | 国产精品欧美一区二区 | 久久在线 | 欧美日韩高清 | 在线播放国产一区二区三区 | 中文字幕亚洲一区二区三区 | 一区二区免费 | 国产视频在线一区二区 | 春色av| 伊人伊成久久人综合网站 | 久久久久久久综合色一本 | 国产中文区二幕区2012 | 九一视频在线观看 |