Jay*_*Jay 9 python llama-index
OpenAI 的 GPT 嵌入模型用于所有 LlamaIndex 示例,尽管与 T5 和句子转换器模型相比,它们似乎是最昂贵且性能最差的嵌入模型(请参阅下面的比较)。
如何使用all-roberta-large-v1作为嵌入模型,并结合 OpenAI 的 GPT3 作为“响应生成器”?我什至不确定是否可以使用一种模型来创建/检索嵌入令牌,并使用另一种模型来根据检索到的嵌入生成响应。
以下是我正在寻找的示例:
documents = SimpleDirectoryReader('data').load_data()
# Use Roberta or any other open-source model to generate embeddings
index = ???????.from_documents(documents)
# Use GPT3 here
query_engine = index.as_query_engine()
response = query_engine.query("What did the author do growing up?")
print(response)
Run Code Online (Sandbox Code Playgroud)
service_context
您可以使用本地模型或 HuggingFace 中的模型在 a 中进行设置:
from langchain.embeddings.huggingface import HuggingFaceEmbeddings
from llama_index import LangchainEmbedding, ServiceContext
embed_model = LangchainEmbedding(
HuggingFaceEmbeddings(model_name="sentence-transformers/all-mpnet-base-v2")
)
service_context = ServiceContext.from_defaults(embed_model=embed_model)
Run Code Online (Sandbox Code Playgroud)
然后,您可以传递此 service_context,或全局设置它:
from llama_index import set_global_service_context
set_global_service_context(service_context)
Run Code Online (Sandbox Code Playgroud)