仅供参考:我正在尝试根据Dan Shipper https://www.lennysnewsletter.com/p/i-built-a-lenny-chatbot-using-gpt给出的说明构建一个聊天机器人。我正在尝试使用名为gpt_index和langchain的自定义库来使用OpenAI API创建基于GPT-3的搜索索引。我已经成功安装了这些库,并拥有以下代码。顺便说一句,我正在使用Google Colab作为环境。
from gpt_index import SimpleDirectoryReader, GPTListIndex, readers, GPTSimpleVectorIndex, LLMPredictor, PromptHelper
from langchain import OpenAI
import sys
import os
from IPython.display import Markdown, display
def construct_index(directory_path):
...
llm_predictor = LLMPredictor(llm=OpenAI(temperature=0, model_name="text-davinci-003", max_tokens=num_outputs))
prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)
documents = SimpleDirectoryReader(directory_path).load_data()
index = GPTSimpleVectorIndex(
documents, llm_predictor=llm_predictor, prompt_helper=prompt_helper
)
index.save_to_disk('index.json')
return index
def ask_lenny():
index = GPTSimpleVectorIndex.load_from_disk('index.json')
while True:
query = input("What do you want to ask Lenny? ")
response = index.query(query, response_mode="compact")
display(Markdown(f"Lenny Bot says: <b>{response.response}</b>"))
当我用我的文档的路径调用construct_index函数时,我得到以下错误:TypeError: __init__() got an unexpected keyword argument 'llm_predictor'
似乎GPTSimpleVectorIndex
类的预期参数和代码中提供的参数之间不匹配。不幸的是,我找不到这些自定义库的任何文档或示例。
谁能帮助我了解如何正确初始化GPTSimpleVectorIndex类并解决此错误?任何关于使用这些库的指导都将不胜感激。
谢谢大家!
我在Google Colab中运行这个,看到了错误。
2条答案
按热度按时间pxiryf3j1#
我能够使用来自这个论坛的关于UseServiceContext的提示,并且在GPT4的帮助下
我们使用ServiceContext类解决了这个问题,而不是直接将LLMPredictor和PromptHelper作为参数传递给GPTSimpleVectorIndex构造函数:代码
enter code here
代码yx2lnoni2#
我尝试使用ServiceContext,但收到导入错误:无法从“gpt_index”导入名称“ServiceContext”,不确定我做错了什么。