当前位置:   article > 正文

Ollama搭建的模型,怎么使用fastapi项目调用_ollama api并行调用

ollama api并行调用

要查看实际的本地 Ollama API 端点,首先需要确认 Ollama 的本地服务是如何配置和运行的。通常情况下,部署 Ollama 时会有配置文件或日志文件显示服务的运行端口和 API 端点信息。

以下是一些步骤和方法,帮助你确认和查看本地 Ollama API 端点:

1. 查看 Ollama 的启动日志

当你启动 Ollama 时,它通常会输出日志信息,其中包含服务运行的端点。例如:

ollama run sqlcoder:70b-alpha-q8_0
  • 1

启动命令执行后,观察终端输出,寻找类似以下的信息:

Running on http://localhost:5000
  • 1

这将告诉你 Ollama 服务运行的端点。

2. 查看配置文件

检查 Ollama 的配置文件(如果有),其中可能包含端点和端口配置信息。配置文件通常位于安装目录或 /etc/ollama 等常见目录中。

3. 使用命令行工具

可以使用命令行工具如 netstatlsof 来查看正在监听的端口。例如:

netstat -tuln | grep LISTEN
  • 1

lsof -iTCP -sTCP:LISTEN -P -n
  • 1

这些命令会列出所有正在监听的端口,你可以找到 Ollama 服务运行的端口。

4. 查看文档或帮助

查阅 Ollama 的官方文档或帮助命令,通常会提供关于 API 端点的信息。例如:

ollama --help
  • 1

示例

假设通过启动日志你发现 Ollama 在端口 5000 运行,你可以将端点设置为 http://localhost:5000。如果具体的 API 端点路径未知,可以通过以下方式进行尝试:

  1. 查看默认端点路径:常见的 API 路径如 /api, /predict, /v1/predict 等。
  2. 尝试基本路径:假设为 http://localhost:5000/api/v1/predict 或类似路径。

完整的 FastAPI 示例代码

一旦确定了实际的 API 端点,可以使用以下示例代码来调用本地 Ollama 模型:

from fastapi import FastAPI, HTTPException
import requests

app = FastAPI()

# 替换为实际的本地 Ollama API 端点
OLLAMA_LOCAL_URL = "http://localhost:5000/api/v1/predict"

@app.get("/")
def read_root():
    return {"message": "Welcome to the FastAPI and Ollama integration!"}

@app.post("/ollama")
def call_ollama(payload: dict):
    response = requests.post(OLLAMA_LOCAL_URL, json=payload)
    
    if response.status_code != 200:
        raise HTTPException(status_code=response.status_code, detail=response.text)
    
    return response.json()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

确认 API 端点

假如你不确定具体的路径,可以使用以下代码来尝试不同的路径:

from fastapi import FastAPI, HTTPException
import requests

app = FastAPI()

BASE_URL = "http://localhost:5000"

@app.get("/")
def read_root():
    return {"message": "Welcome to the FastAPI and Ollama integration!"}

@app.post("/ollama")
def call_ollama(payload: dict):
    possible_endpoints = ["/api/v1/predict", "/predict", "/api"]
    for endpoint in possible_endpoints:
        try:
            response = requests.post(f"{BASE_URL}{endpoint}", json=payload)
            if response.status_code == 200:
                return response.json()
        except requests.exceptions.RequestException:
            continue
    raise HTTPException(status_code=404, detail="Ollama endpoint not found.")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

使用这些方法,你可以确定本地 Ollama API 端点,并通过 FastAPI 调用它。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/768427
推荐阅读
相关标签
  

闽ICP备14008679号