公众号的用例执行失败 (基于langchain手工测试用例生成)

贴代码,截图里看不见你的完整源代码。代码里是调用了FAISS,你截图里用的chroma。所以感觉不一致。

def llama_ana():
    '''llama分析'''
    # 加载本地数据
    loader = GenericLoader.from_filesystem('/Users/app/PycharmProjects/sk/bModels', glob="**/*",
                                           suffixes=[".py"],
                                           parser=LanguageParser(language=Language.PYTHON, parser_threshold=500))
    docs = loader.load()
    print(len(docs))
    # 开始分组
    python_splitter = RecursiveCharacterTextSplitter.from_language(
        language=Language.PYTHON,
        chunk_size=2000, chunk_overlap=200
    )
    all_splits = python_splitter.split_documents(docs)
    print(all_splits)
    print(len(all_splits))
#   存储向量
    tlocal_model = "/Users/app/models/llama.cpp/models/llama-2-7b-chat.Q4_0.gguf"
    llm = ChatLlamaCpp(
        temperature=0.5,
        model_path=tlocal_model,
        n_ctx=100,
        max_tokens=320,
        n_threads=multiprocessing.cpu_count() - 1,
        repeat_penalty=1.5,
        top_p=0.5,
        verbose=True,
    )
    print("llm success")
    l = LlamaCppEmbeddings(model_path=tlocal_model)
    print("LlamaCppEmbeddings success")
    vectorstore = Chroma.from_documents(documents=all_splits, embedding=l)
    # vectorstore = FAISS.from_documents(documents=all_splits, embedding=l)
    retriever = RetrievalQA.from_chain_type(llm, retriever=vectorstore, verbose=True)
    print("开始找错误")
    retrieved_docs = retriever("请找出代码的异常错误?")
    print(retrieved_docs)

    # retriever = vectorstore.as_retriever(search_type="similarity")
    # retrieved_docs = retriever.invoke("请找出代码的异常错误?")
    # print(retrieved_docs)

chroma 和 faiss 报的都是同样的错误

你的 llama-cpp-python 是什么版本的呢?

0.2.82

降个版本试试,改成 0.2.47

降了版本 依旧不行 ,报了一个新的错误

你是不是把普通的模型和嵌入模型混到一起了,嵌入模型是独立的模型,你得用正确的嵌入模型。

什么样属于 嵌入的模型呢