二、API接口
1、概述
除了使用LLM模型的Web界面进行操作外,Xinference还提供了API接口,通过调用API接口来使用LLM模型。
在API文档中,存在大量API接口,不仅有LLM模型的接口,还有其他模型(如Embedding)的接口,并且这些接口都是兼容OpenAI API的接口。
通过访问
http://localhost:9997/docs
来查看API文档。
2、对话接口
使用Curl工具调用对话接口
curl -X 'POST' \
'http://localhost:9997/v1/chat/completions' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model": "chatglm3",
"messages": [
{
"role": "user",
"content": "你好啊"
}
]
}'
{"id":"chat73f8c754-4898-11ef-89f6-000c2981d002","object":"chat.completion","created":1721700508,"model":"chatglm3","choices":[{"index":0,"message":{"role":"assistant","content":"你好👋!我是人工智能助手 ChatGLM3-6B,很高兴见到你,欢迎问我任何问题。"},"finish_reason":"stop"}],"usage":{"prompt_tokens":-1,"completion_tokens":-1,"total_tokens":-1}}root@master:~#
3、模型列表
使用Curl工具调用获取模型列表
curl -X 'GET' \
'http://localhost:9997/v1/models' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
{"object":"list","data":[{"id":"chatglm3","object":"model","created":0,"owned_by":"xinference","model_type":"LLM","address":"0.0.0.0:38145","accelerators":["0"],"model_name":"chatglm3","model_lang":["en","zh"],"model_ability":["chat","tools"],"model_description":"ChatGLM3 is the third generation of ChatGLM, still open-source and trained on Chinese and English data.","model_format":"pytorch","model_size_in_billions":6,"model_family":"chatglm3","quantization":"4-bit","model_hub":"modelscope","revision":"v1.0.2","context_length":8192,"replica":1}]}
4、嵌入模型
使用Curl工具调用嵌入模型接口
curl -X 'POST' \
'http://localhost:9997/v1/embeddings' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model": "嵌入模型名称、UID",
"input": "你好啊"
}'
5、Rerank模型
使用Curl工具调用Rerank模型接口
curl -X 'POST' \
'http://localhost:9997/v1/rerank' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model": "bge-reranker-base",
"query": "你是谁?",
"documents": [
"你是一名乐于助人的AI助手。",
"你的名字叫'rerank'"
]
}'
6、使用Xinference SDK
安装Xinference的Python SDK,使用以下命令安装最少依赖。注意: 版本必须和Xinference服务的版本保持匹配。
pip install xinference-client==${SERVER_VERSION}
from xinference.client import RESTfulClient
client = RESTfulClient("http://127.0.0.1:9997")
# 注意:my-llm是参数`--model-uid`指定的值
model = client.get_model("my-llm")
print(model.chat(
prompt="你好啊",
system_prompt="你是一个乐于助人的AI助手。",
chat_history=[]
))
7、使用OpenAI SDK
Xinference提供了与OpenAI兼容的API,所以可以将Xinference运行的模型当成OpenAI的本地替代。
from openai import OpenAI
client = OpenAI(base_url="http://127.0.0.1:9997/v1", api_key="")
response = client.chat.completions.create(
model="my-llm",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is the largest animal?"}
]
)
print(response)
如何学习大模型?
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
5. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方优快云官方认证二维码,免费领取【
保证100%免费
】
如有侵权,请联系删除