将 llama-index 与本地托管的开源 LLM 结合使用

use*_*463 5 python-3.x llama-index large-language-model llama

我使用下面的 llama-index 代码从保存的文本语料库创建索引对象。然后,我加载保存的索引对象并查询它以生成响应。我正在使用 openai apikey,因此我可以使用 chatgpt 模型来获得 LLM。我想知道是否可以使用相同的代码或修改版本来使用开源 LLM,例如我已在本地计算机上下载模型权重的 llama-7b-chat。有谁知道这是否可行,您能建议我如何更新下面的代码才能使用本地托管的开源LLM吗?

代码:

# creating index from corpus

from config import api_key, old_api_key, personal_api_key

import os

os.environ['OPENAI_API_KEY'] = old_api_key


# Load you data into 'Documents' a custom type by LlamaIndex
# from typing_extensions import Protocol
from llama_index import SimpleDirectoryReader

documents = SimpleDirectoryReader('./data').load_data()


from llama_index import GPTVectorStoreIndex

index = GPTVectorStoreIndex.from_documents(documents)

# save storage context

storage_context_dict=index.storage_context.to_dict()

import json

# Serialize data into file:
json.dump( storage_context_dict, open( "general_attributes_storage_context_dict.json", 'w' ) )

# load saved context

import os

# plus
os.environ['OPENAI_API_KEY'] = old_api_key


# using previously saved index
import json

saved_context=json.load( open( "general_attributes_storage_context_dict.json" ) )

from llama_index import StorageContext, load_index_from_storage

# rebuild storage context

storage_context=StorageContext.from_dict(saved_context)    

stored_index=load_index_from_storage(storage_context)


query_engine = stored_index.as_query_engine()
response = query_engine.query("some question")
print(response)
Run Code Online (Sandbox Code Playgroud)

小智 2

from llama_index import SimpleDirectoryReader, ServiceContext, VectorStoreIndex
from llama_index import StorageContext, load_index_from_storage

llm = ('load local llm')

service_context = ServiceContext.from_defaults(llm=llm)


documents = SimpleDirectoryReader('./data').load_data()
index = VectorStoreIndex.from_documents(documents, service_context=service_context)
index.storage_context.persist("data_index")
context = StorageContext.from_defaults(persist_dir='data_index')

stored_index = load_index_from_storage(context, service_context=service_context)

query_engine = stored_index.as_query_engine()
response = query_engine.query("some question")
print(response)
Run Code Online (Sandbox Code Playgroud)