在本文中,我们将介绍如何使用Gradient Embeddings与LlamaIndex进行集成,并展示一个详细的示例代码。此示例展示了如何安装必要的包、设置授权、加载数据、配置嵌入模型以及查询索引。
安装必要的包
首先,我们需要安装llama-index
和gradientai
包。
%pip install llama-index --quiet
%pip install gradientai --quiet
设置授权
在使用Gradient Embeddings之前,我们需要获取授权令牌和工作区ID。这些可以从Gradient UI或通过gradient env
命令获取。
import os
os.environ["GRADIENT_ACCESS_TOKEN"] = "{GRADIENT_ACCESS_TOKEN}" # 替换为您的GRADIENT_ACCESS_TOKEN
os.environ["GRADIENT_WORKSPACE_ID"] = "{GRADIENT_WORKSPACE_ID}" # 替换为您的GRADIENT_WORKSPACE_ID
初始化基础模型
接下来,我们将初始化一个基础模型。在这里,我们使用了一个基础模型llama2-7b-chat
。
from llama_index.llms.gradient import GradientBaseModelLLM
llm = GradientBaseModelLLM(
base_model_slug="llama2-7b-chat",
max_tokens=400,
)
下载数据
我们需要下载并准备一些数据来进行测试。
!mkdir -p 'data/paul_graham/'
!wget 'https://raw.githubusercontent.com/run-llama/llama_index/main/docs/docs/examples/data/paul_graham/paul_graham_essay.txt' -O 'data/paul_graham/paul_graham_essay.txt'
加载文档
使用SimpleDirectoryReader
加载文档。
from llama_index.core import SimpleDirectoryReader
documents = SimpleDirectoryReader("./data/paul_graham").load_data()
print(f"Loaded {len(documents)} document(s).")
配置Gradient嵌入模型
配置Gradient嵌入模型并设置模型参数。
from llama_index.embeddings.gradient import GradientEmbedding
from llama_index.core import Settings
embed_model = GradientEmbedding(
gradient_access_token=os.environ["GRADIENT_ACCESS_TOKEN"],
gradient_workspace_id=os.environ["GRADIENT_WORKSPACE_ID"],
gradient_model_slug="bge-large",
)
Settings.embed_model = embed_model
Settings.llm = llm
Settings.chunk_size = 1024
设置和查询索引
创建向量存储索引并执行查询。
from llama_index.core import VectorStoreIndex
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
response = query_engine.query(
"What did the author do after his time at Y Combinator?"
)
print(response)
//中转API
可能遇到的错误
- 授权失败:请确保您已正确设置了
GRADIENT_ACCESS_TOKEN
和GRADIENT_WORKSPACE_ID
。 - 网络问题:下载数据时可能会遇到网络问题,请检查网络连接。
- 包安装错误:确保使用最新版本的
llama-index
和gradientai
包。
如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!
参考资料
希望这篇文章对你有帮助!如果有任何问题或建议,欢迎在评论区留言。