模态框
Modal云平台提供了便捷的按需访问,允许从本地计算机上的Python脚本使用无服务器云计算。
使用modal
来运行您自己的自定义LLM模型,而不是依赖LLM API。
本示例介绍了如何使用LangChain与modal
HTTPS web endpoint进行交互。
使用LangChain进行问答 是另一个展示如何与Modal
一起使用LangChain的示例。在该示例中,Modal端到端地运行LangChain应用程序,并使用OpenAI作为其LLM API。
%pip install --upgrade --quiet modal
# Register an account with Modal and get a new token.
!modal token new
Launching login page in your browser window...
If this is not showing up, please copy this URL into your web browser manually:
https://modal.com/token-flow/tf-Dzm3Y01234mqmm1234Vcu3
langchain.llms.modal.Modal
集成类要求您部署一个具有符合以下JSON接口的Web端点的Modal应用程序:
- LLM提示被接受为键
"prompt"
下的str
值 - LLM 响应以
str
值的形式返回,键为"prompt"
示例请求 JSON:
{
"prompt": "Identify yourself, bot!",
"extra": "args are allowed",
}
示例响应 JSON:
{
"prompt": "This is the LLM speaking",
}
一个满足此接口的示例“虚拟”模态网页端点函数将是
...
...
class Request(BaseModel):
prompt: str
@stub.function()
@modal.web_endpoint(method="POST")
def web(request: Request):
_ = request # ignore input
return {"prompt": "hello world"}
- 请参阅Modal的web endpoints指南,了解设置满足此接口的端点的基本知识。
- 请参阅Modal的'使用AutoGPTQ运行Falcon-40B'开源LLM示例,作为您自定义LLM的起点!
一旦你部署了一个Modal网络端点,你可以将其URL传递到langchain.llms.modal.Modal
LLM类中。这个类随后可以作为你链中的一个构建块。
from langchain.chains import LLMChain
from langchain_community.llms import Modal
from langchain_core.prompts import PromptTemplate
template = """Question: {question}
Answer: Let's think step by step."""
prompt = PromptTemplate.from_template(template)
endpoint_url = "https://ecorp--custom-llm-endpoint.modal.run" # REPLACE ME with your deployed Modal web endpoint's URL
llm = Modal(endpoint_url=endpoint_url)
llm_chain = LLMChain(prompt=prompt, llm=llm)
question = "What NFL team won the Super Bowl in the year Justin Beiber was born?"
llm_chain.run(question)
相关
- LLM 概念指南
- LLM how-to guides