🚀 localにembedding modelを構築
parent
af83120832
commit
3cbbda489b
@ -0,0 +1,8 @@
|
|||||||
|
FROM python:3.10-slim
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY embedding_api.py .
|
||||||
|
|
||||||
|
RUN pip install fastapi uvicorn sentence-transformers
|
||||||
|
|
||||||
|
CMD ["uvicorn", "embedding_api:app", "--host", "0.0.0.0", "--port", "8001"]
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
from fastapi import FastAPI
|
||||||
|
from pydantic import BaseModel
|
||||||
|
from typing import List
|
||||||
|
from sentence_transformers import SentenceTransformer
|
||||||
|
|
||||||
|
app = FastAPI()
|
||||||
|
model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")
|
||||||
|
|
||||||
|
class EmbeddingRequest(BaseModel):
|
||||||
|
input: List[str]
|
||||||
|
|
||||||
|
@app.post("/v1/embeddings")
|
||||||
|
async def embed(request: EmbeddingRequest):
|
||||||
|
embeddings = model.encode(request.input).tolist()
|
||||||
|
return {
|
||||||
|
"data": [{"embedding": emb, "index": i} for i, emb in enumerate(embeddings)],
|
||||||
|
"model": "sentence-transformers/all-MiniLM-L6-v2",
|
||||||
|
"object": "list"
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue