🚀 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