我每次都会得到同样的错误。我试过很多解决办法,但我不能让它工作。
我使用的是新版本的llama_index v=0.6.35。
我总是得到以下错误:
**
错误:必须提供节点或index_struct之一。
**
from llama_index.indices.loading import load_index_from_storage
from llama_index import (
GPTVectorStoreIndex,
SimpleDirectoryReader,
LLMPredictor,
ServiceContext,
StorageContext,
VectorStoreIndex,
)
from langchain import OpenAI
import gradio as gr
import os
import openai
import json
os.environ["OPENAI_API_KEY"] = "--APIKEY--"
openai.api_key = "--APIKEY--"
def construct_index(directory_path):
num_outputs = 512
llm_predictor = LLMPredictor(
llm=OpenAI(
temperature=0.7, model_name="text-davinci-003", max_tokens=num_outputs
)
)
service_context = ServiceContext.from_defaults(llm_predictor=llm_predictor)
docs = SimpleDirectoryReader(directory_path).load_data()
index = GPTVectorStoreIndex.from_documents(docs, service_context=service_context)
index.storage_context.persist(persist_dir="index")
return index
def chatbot(input_text):
print(input_text)
storage_context = StorageContext(
vector_store="index/vector_store.json",
index_store="index/index_store.json",
graph_store="index/graph_store.json",
docstore="index/docstore.json",
)
print("I have passed the storage_context")
try:
index = GPTVectorStoreIndex(storage_context=storage_context)
index.load()
print("I have passed the index")
response = index.query(input_text, response_mode="compact")
return response.response
except Exception as e:
print(f"Error: {e}")
return None
iface = gr.Interface(
fn=chatbot,
inputs=gr.inputs.Textbox(lines=7, label="Enter your text"),
outputs=gr.outputs.Textbox(label="Response"),
title="Custom-trained AI Chatbot",
)
index = construct_index("docs")
iface.launch(share=False)
字符串
我不能解决这个问题。我看到很多帖子只是谈论它。
这是我第一次做这样的项目:
我从这篇文章中获得了教程:https://medium.com/@sohaibshaheen/train-chatgpt-with-custom-data-and-create-your-own-chat-bot-using-macos-fb78c2f9646d
任何帮助真的很感激。
1条答案
按热度按时间8hhllhi21#
在try块中,我看到你已经将
storage_context
直接传递给GPTVectorStoreIndex
构造函数,这将导致此错误,相反,你必须将其传递给GPTVectorStoreIndex
对象的from_documents
方法,如下所示。字符串