Не удается отправить запрос через FastAPI в Python (не удалось подключиться к порту LocalHost 8000 после 0 мс: не удалосPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Не удается отправить запрос через FastAPI в Python (не удалось подключиться к порту LocalHost 8000 после 0 мс: не удалос

Сообщение Гость »

Я разработал детектирование спама для своего примера, но я не могу отправить какой -либо запрос через почтальон
Вот tement.txt file

Код: Выделить всё

fastapi
uvicorn[standard]
transformers
torch
Вот мой файл python , показанный ниже

Код: Выделить всё

from fastapi import FastAPI, HTTPException
from pydantic import BaseModel, Field
from transformers import pipeline

class ClassifyRequest(BaseModel):
text: str = Field(..., example="")
lang: str = Field(
"en",
pattern=r"^(en|tr|de|fr|es|it|pt|ru|ar|zh|ja|ko|hi|bn|ur|fa|th|vi|id|ms|nl|sv|no|da|fi|pl|cs|sk|hu|ro|bg|hr|sr|sl|et|lv|lt|el|he|uk|be|ky|uz|km|my|tg|az|hy|ga|cy|is|mk|bs|sq|mn|ne|pa|gl|la)$",
description="ISO language code",
example="tr"
)

class ClassifyResponse(BaseModel):
label: str
score: float

app = FastAPI(title="Spam & Abuse Detector")

classifier = pipeline(
"zero-shot-classification",
model="joeddav/xlm-roberta-large-xnli"
)

CANDIDATE_LABELS = ["spam", "adult_content", "drugs", "non_spam"]

@app.post("/classify", response_model=ClassifyResponse)
def classify(req: ClassifyRequest):
res = classifier(
sequences=req.text,
candidate_labels=CANDIDATE_LABELS
)
best_idx = res["scores"].index(max(res["scores"]))
label = res["labels"][best_idx]
score = res["scores"][best_idx]
return ClassifyResponse(label=label, score=score)
вот dockerfile

Код: Выделить всё

FROM python:3.10-slim

WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY app ./app

EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload", "--log-level", "info"]
< /code>
Когда я запускаю эти команды, показанные ниже < /p>
docker build -t spam-detector .
docker run -p 8000:8000 spam-detector
< /code>
Я получил эту консольную вывод < /p>
INFO:     Will watch for changes in these directories: ['/app']
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [1] using WatchFiles
< /code>
Когда я отправляю запрос через Postman < /p>
curl -X POST http://127.0.0.1:8000/classify \
-H "Content-Type: application/json" \
-d '{"text":"bla bla","lang":"en"}'
Я получаю «не удалось подключиться к порту локального хоста 8000 после 0 мс: не удалось подключиться к серверу»
Как я могу решить проблему?

Подробнее здесь: https://stackoverflow.com/questions/796 ... -localhost
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»