大家好,今天我们来聊聊一个让开发者心跳加速的项目——AntSK PyAPI!这是一款基于FastAPI和FlagEmbedding的高性能文本嵌入向量生成与文档重排序API。简而言之,它能让你的文本变得聪明,有条理,甚至还能深入了解你心中真正想要的信息。话不多说,让我们一起进入这个AI的奇幻世界吧!
项目地址:https://github.com/xuzeyu91/AntSK-PyApi
AntSK PyAPI不仅打开了一个高性能的文本处理新世界,而且为用户提供了相当多的功能特性:
多模型支持:想要发掘多种嵌入模型的奥秘?AntSK PyAPI为你提供了FlagEmbedding系列中的所有embedding和rerank模型,基本上你想要的,它都能满足。
高性能:通过智能缓存机制,AntSK PyAPI避免了重复加载模型的麻烦,让你可以迅速响应任何请求,非常适合高并发场景。
灵活配置:是否厌倦了繁琐的配置步骤?AntSK支持环境变量和配置文件的灵活设置,让你轻松上手。
完整监控:提供健康检查、模型列表、配置查看等监控功能,让你时刻掌控API的运行状态。
容器化支持:不想依赖复杂的环境配置?AntSK PyAPI支持完整的Docker和Docker Compose,迅速部署不再是梦想。
完善的错误处理:全球异常处理与输入验证,让你的服务更加健壮无忧。
标准API接口:与OpenAI API格式兼容,快速上手。
使用AntSK PyAPI,启动服务非常简单!插上耳机,准备好一壶热咖啡,我们开始动手:
打开命令行,输入:
pip install -r requirements.txt
三种方式供你选择:
方法一:用Python脚本启动(简洁推荐):
python start.py
方法二:使用批处理文件(Windows用户的福音):
start.bat
方法三:直接使用uvicorn(本地开发者们的首选):
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
启动后,你可以在以下地址访问各类信息:
API文档: http://localhost:8000/docs
健康检查: http://localhost:8000/health
模型列表: http://localhost:8000/models
想知道如何使用AntSK PyAPI的核心功能?这就来了解生成嵌入向量与文档重排序的API接口文档吧!
通过POST请求生成文本的语义向量表示,支持所有FlagEmbedding embedding模型。
请求示例:
{
"model": "BAAI/bge-large-zh-v1.5",
"input": ["你好世界", "人工智能技术"]
}
这个 “embedding” 过程就像为你的文本穿上了隐形的铠甲,让它们拥有了深层的语义理解能力!
响应格式:
{
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [0.1, 0.2, 0.3, ...]
}
],
"object": "list",
"model": "BAAI/bge-large-zh-v1.5",
"usage": {
"prompt_tokens": 12,
"total_tokens": 12
}
}
你是否曾在一堆信息中迷失?AntSK PyAPI的文档重排序功能能根据查询相关性对文档进行重新排序,展现给你“干货”!
请求示例:
{
"model": "BAAI/bge-reranker-v2-m3",
"query": "什么是人工智能?",
"documents": [
"人工智能是计算机科学的一个分支",
"今天天气很好",
"机器学习是人工智能的子领域",
"深度学习属于机器学习范畴"
],
"top_n": 3,
"return_documents": true
}
参数意义完全不复杂:你只需提供查询、待排序的文档列表,AntSK会将最相关的结果准确呈现给你。
为了让你能够随心所欲地控制你的API,AntSK PyAPI提供了多种配置选择:
环境变量 | 默认值 | 说明 |
---|---|---|
MODEL_STORAGE_PATH | D:\git\AntSK\model | 模型存储路径 |
API_HOST | 0.0.0.0 | API服务监听地址 |
API_PORT | 8000 | API服务端口 |
LOG_LEVEL | INFO | 日志级别(DEBUG/INFO等选项) |
USE_FP16 | true | 是否使用FP16精度(节省内存) |
想要更改这些值,它们就像魔法咒语一样,随意调整即可!
你也可以直接在 config.py
文件中进行修改,例如:
# 模型存储路径
MODEL_STORAGE_PATH = r"D:\your\model\path"
# API服务配置
API_HOST = "127.0.0.1"
API_PORT = 8080
# 启用FP16精度
DEFAULT_USE_FP16 = True
Embedding模型推荐:
中文场景:BAAI/bge-large-zh-v1.5
(性能最佳)或 BAAI/bge-base-zh-v1.5
(平衡选择)
英文场景:BAAI/bge-large-en-v1.5
多语言场景:BAAI/bge-m3
Rerank模型推荐:
通用场景:BAAI/bge-reranker-v2-m3
中文优化:BAAI/bge-reranker-base
高精度需求:BAAI/bge-reranker-large
内存优化:通过启用FP16精度,可以显著减少内存占用。
并发处理:AntSK API支持并发请求,自动缓存模型,确保你能高效处理大量请求。
对于那些希望通过Docker快速部署API的朋友,下面是一些步骤来帮助你:
docker build -t antsk-py-api:latest .
docker run -d \
--name antsk-py-api \
-p 8000:8000 \
-v ./models:/app/models \
-e MODEL_STORAGE_PATH=/app/models \
-e API_HOST=0.0.0.0 \
-e API_PORT=8000 \
-e LOG_LEVEL=INFO \
-e USE_FP16=true \
antsk-py-api:latest
这样就能将AntSK服务放入你的Docker容器中,开箱即用。随着服务的启动,所有的API接口都将随之出现,你只需访问http://localhost:8000/docs即可。
AntSK PyAPI是一个开源项目,欢迎大家积极参与建设!无论是提交Issue还是做出贡献,都是让这个项目变得更加出色的好机会。
今天,我们深入了解了AntSK PyAPI,从功能到使用,甚至到部署,覆盖了你需要掌握的一切。无论你是AI小白还是资深开发者,AntSK都能为你提供便捷、高效的文本嵌入与重排序功能,让你在AI的旅途中无畏前行。
感谢阅读,期待你的探索与实践!想要更多技巧和经验,请继续关注我的公众号!以后的日子里,我们一起在AI的浩瀚宇宙中,共同发掘更多精彩吧!