litserve添加了更友好的多endpoint支持
对于多endpoint 的支持还是很必要的,以前官方也讨论过,新的已经支持了个更加友好的多endpoint 支持
参考玩法
- app.py
from transformers import pipeline
import litserve as ls
class SentimentAnalysisAPI(ls.LitAPI):
def setup(self, device):
self.model = pipeline("sentiment-analysis", model="stevhliu/my_awesome_model", device=device)
def decode_request(self, request: dict):
return request["text"]
def predict(self, text):
return self.model(text)[0]
class TextGenerationAPI(ls.LitAPI):
def setup(self, device):
self.generator = pipeline("text-generation", model="gpt2", device=device)
def decode_request(self, request: dict):
return request["prompt"]
def predict(self, prompt):
return self.generator(prompt)[0]["generated_text"]
if __name__ == "__main__":
sentiment_api = SentimentAnalysisAPI(api_path="/classify-text")
chat_api = TextGenerationAPI(api_path="/v1/chat/completions")
server = ls.LitServer([sentiment_api, chat_api])
server.run(port=8000)
说明
新版本多endpoint 比较符合fastapi 的模式,对于多服务endpoint 的需要推荐使用
参考资料
https://github.com/Lightning-AI/LitServe/pull/513
https://lightning.ai/docs/litserve/features/multiple-endpoints
浙公网安备 33010602011771号