Anyscale
Anyscale 是一个完全托管的 Ray 平台,您可以在上面构建、部署和管理可扩展的 AI 和 Python 应用程序。
这个示例演示了如何使用 LangChain 与 Anyscale
service 进行交互。
它将发送请求到 Anyscale 服务端点,该端点是 ANYSCALE_SERVICE_URL
和 ANYSCALE_SERVICE_ROUTE
连接在一起的,使用在 ANYSCALE_SERVICE_TOKEN
中定义的令牌。
import os
os.environ["ANYSCALE_SERVICE_URL"] = ANYSCALE_SERVICE_URL
os.environ["ANYSCALE_SERVICE_ROUTE"] = ANYSCALE_SERVICE_ROUTE
os.environ["ANYSCALE_SERVICE_TOKEN"] = ANYSCALE_SERVICE_TOKEN
from langchain.llms import Anyscale
from langchain import PromptTemplate, LLMChain
template = """问题:{question}
回答:让我们一步一步地思考。"""
prompt = PromptTemplate(template=template, input_variables=["question"])
llm = Anyscale()
llm_chain = LLMChain(prompt=prompt, llm=llm)
question = "乔治·华盛顿是什么时候当选总统的?"
llm_chain.run(question)
使用 Ray,我们可以在没有异步实现的情况下分发查询。这不仅适用于 Anyscale LLM 模型,还适用于任何其他没有实现 _acall
或 _agenerate
的 Langchain LLM 模型。
prompt_list = [
"乔治·华盛顿是什么时候当选总统的?",
"解释核裂变和核聚变的区别。",
"给我推荐5本科幻小说。",
"解释 Spark 和 Ray 的区别。",
"提供一些有趣的假期想法。",
"讲个笑话。",
"2+2等于多少?",
"用五岁孩子的语言解释什么是机器学习。",
"解释什么是人工智能。",
]
import ray
@ray.remote
def send_query(llm, prompt):
resp = llm(prompt)
return resp
futures = [send_query.remote(llm, prompt) for prompt in prompt_list]
results = ray.get(futures)