ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Xinference 10 分钟搭建指南:从单篇文献摘要到 50 篇批量处理

Xinference 10 分钟搭建指南:从单篇文献摘要到 50 篇批量处理 Xinference 10 分钟搭建指南从单篇文献摘要到 50 篇批量处理【免费下载链接】inferenceSwap GPT for any LLM by changing a single line of code. Xinference lets you run open-source, speech, and multimodal models on cloud, on-prem, or your laptop — all through one unified, production-ready inference API.项目地址: https://gitcode.com/GitHub_Trending/in/inference周五下班前桌上堆着 40 篇 PDF明天要交文献综述初稿。用 Xinference 一行命令拉起本地推理服务把 PDF 文本喂给模型自动产出结构化摘要50 篇文献可以批量跑完不用盯着。照下面做完你手上会有三样东西一个跑在 9997 端口的本地推理服务OpenAI 兼容 API现有代码几乎零改动接入、一个能读文献做摘要的模型、一个批量处理脚本。首次启动含模型下载约 5 分钟视网速之后权重本地缓存秒级拉起单篇摘要从人工半小时压到几十秒出稿。Xinference 替你做了什么一句话说清它把下载模型、选推理引擎、起服务、暴露 API这四件事收进一条xinference launch命令。模型是 pytorch 还是 GGUF 格式、该用 vLLM 还是 llama.cpp不用你查兼容表启动前用xinference engine查一下即可。阶段 A5 分钟跑通第一条摘要先装依赖、起服务两条命令# 安装框架[all] 带上全部推理后端依赖 pip install xinference[all] # 启动本地集群默认 9997 端口 xinference-local --host 0.0.0.0 --port 9997浏览器打开http://127.0.0.1:9997就是管理界面/docs路径能看全部 API 文档。界面里可以直接点选模型启动用 Python 客户端拉一个最小的 Qwen2.5 0.5B 跑通链路首次会自动从 HuggingFace 下载权重from xinference.client import RESTfulClient client RESTfulClient(http://127.0.0.1:9997) model_uid client.launch_model( model_nameqwen2.5-instruct, model_enginevllm, model_formatpytorch, size_in_billions0_5, # 先跑通GPU 够再换更大参数 ) model client.get_model(model_uid) print(model.chat(messages[{role: user, content: 把这段话总结成三句话...}]))能打印出回答链路就通了。但 0.5B 做专业文献摘要是心有余力不足接下来要会选引擎和参数。阶段 B选对引擎与量化让它真正能干活的启动前先用engine子命令查目标模型支持哪些引擎组合避免拉起来报错再试# 查询 qwen2.5-instruct 在 vllm 引擎下的可用参数组合 xinference engine -e http://127.0.0.1:9997 \ --model-name qwen2.5-instruct --model-engine vllm不同硬件选引擎的速查引擎适用场景安装方式vllmLinux CUDA吞吐优先pip install xinference[vllm]llama.cpp无 GPU 的笔记本GGUF 量化模型pip install xinference[llama_cpp]transformersCPU 兜底几乎支持所有模型pip install xinference[transformers]MLXApple Silicon性能最好pip install xinference[mlx]这步别跳过下载慢就在启动服务时加环境变量XINFERENCE_MODEL_SRCmodelscope切换源权重默认缓存在~/.xinference可用XINFERENCE_HOME改目录第二次启动不再下载。GPU 机器上给 vLLM 显存占用留点余量引擎专属参数直接跟在命令后面透传# 官方文档同款启动命令--gpu_memory_utilization 会透传给 vLLM xinference launch --model-engine vllm -n qwen2.5-instruct \ -s 0_5 -f pytorch --gpu_memory_utilization 0.9数据接入侧Xinference 暴露的是 OpenAI 兼容接口现有 OpenAI 代码换个 base_url 就能用。用 pypdf 抽文本、按 IMRaD 结构出摘要import pypdf from openai import OpenAI llm OpenAI(base_urlhttp://127.0.0.1:9997/v1, api_keynot used) text \n.join(p.extract_text() for p in pypdf.PdfReader(paper.pdf).pages[:10]) # 只取前 10 页 resp llm.chat.completions.create( modelmodel_uid, messages[{role: user, content: 按 IMRaD 结构(目的/方法/结果/结论)总结\n text}], ) print(resp.choices[0].message.content)单篇跑通只是起点50 篇才是真需求。阶段 C批量、并行与长期运行vllm/sglang 引擎自带连续批处理continuous batching并发请求会自动攒批50 篇并发提交比串行快得多机制详见 连续批处理文档。同模型加--replica 2可多副本并行分流启动时带--metrics-exporter-port 9090暴露 Prometheus 指标接入监控面板。跑完记得xinference terminate --model-uid qwen2.5-instruct释放显存。批量脚本本体很短目录里丢 PDF跑完每篇旁边多一份.summary.mdimport glob from openai import OpenAI llm OpenAI(base_urlhttp://127.0.0.1:9997/v1, api_keynot used) for path in glob.glob(./papers/*.pdf): # PDF 统一放这个目录 text load_pdf_text(path) # pypdf 抽文本前面已定义思路 resp llm.chat.completions.create( modelmodel_uid, messages[{role: user, content: summarize_prompt text}], ) with open(path.replace(.pdf, .summary.md), w) as f: f.write(resp.choices[0].message.content)模型依赖打架时还有个顺手工具Xinference 3.0 支持按模型隔离虚拟环境启动时传enable_virtual_env即可界面里可以直接管理各模型环境。进阶方向要 RAG 检索再拉一个嵌入模型client.launch_model(model_namebge-base-en-v1.5, model_typeembedding)同一套 OpenAI 兼容 API 走/v1/embeddings要单机扛不住用xinference-supervisorxinference-worker组多机集群见 分布式推理指南不想装 Python 环境Docker 直接跑官方镜像见 Docker 部署文档。装框架、起服务、接 OpenAI 接口、配个批量脚本文献摘要流水线就完整了。模型目录与全部参数详见 官方文档。【免费下载链接】inferenceSwap GPT for any LLM by changing a single line of code. Xinference lets you run open-source, speech, and multimodal models on cloud, on-prem, or your laptop — all through one unified, production-ready inference API.项目地址: https://gitcode.com/GitHub_Trending/in/inference创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表