我想使用 falcon 40b 指令模型创建本地法学硕士,并将其与 lanchain 结合起来,这样我就可以给它一个 pdf 或一些可供学习的资源,这样我就可以查询它,向它提问,从中学习,并最终能够获得见解来自 Excel 工作表的 pdf 报告。
目前,我只想使用 langchain 加载 pdf 并使用 falcon-40b-instruct 模型作为代理。
我想构建一个 llm,在那里我可以使用 langchain 让它与我自己的数据交互。
这是我迄今为止的尝试:
from langchain_community.llms import HuggingFaceHub
llm = HuggingFaceHub(
repo_id=model_name,
task="text-generation",
model_kwargs={
"max_new_tokens": 512,
"top_k": 30,
"temperature": 0.1,
"repetition_penalty": 1.03
},
huggingfacehub_api_token="hf_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
)
我达到了以下阶段:
from langchain_community.chat_models.huggingface import ChatHuggingFace
llm = ChatHuggingFace(llm=llm)
但我收到此错误:
HfHubHTTPError:401客户端错误:未经授权的网址
我这样做是为了能够运行以下命令:
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
retriever=vector_db.as_retriever()
)
我错过了什么,有没有办法能够像做猎鹰模型一样完全本地化并将其传递给 ChatHuggingFace?
HfHubHTTPError: 401 Client Error: Unauthorized for url
的消息表示您无权从HuggingFace > https://huggingface.co/inference-endpoints访问
endpoint
服务。
当你想在本地运行一切时,这里有一个例子
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
# model_id = "tiiuae/falcon-7b-instruct" # this model is too large to run on Nvidia 4090 with 16G ram
model_id = "gpt2"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
pipeline = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
max_new_tokens=200,
)
from langchain_community.llms.huggingface_pipeline import HuggingFacePipeline
llm = HuggingFacePipeline(pipeline=pipeline)
from langchain.prompts import PromptTemplate
template = """Question: {question}
Answer: Let's think step by step."""
prompt = PromptTemplate.from_template(template)
chain = prompt | llm
question = "Tell me about Italy"
print(chain.invoke({"question": question}))