python-3.x 必须提供节点或index_struct之一

new9mtju  于 2023-11-20  发布在  Python
关注(0)|答案(1)|浏览(113)

我每次都会得到同样的错误。我试过很多解决办法,但我不能让它工作。
我使用的是新版本的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
任何帮助真的很感激。

8hhllhi2

8hhllhi21#

在try块中,我看到你已经将storage_context直接传递给GPTVectorStoreIndex构造函数,这将导致此错误,相反,你必须将其传递给GPTVectorStoreIndex对象的from_documents方法,如下所示。

GPTVectorStoreIndex.from_documents(storage_context=context)

字符串

相关问题