Skip to main content

Amazon API Gateway

Amazon API Gateway 是一项完全托管的服务,使开发人员能够轻松创建、发布、维护、监控和保护任何规模的 API。API 充当应用程序访问后端服务中的数据、业务逻辑或功能的“前门”。使用 API Gateway,您可以创建支持实时双向通信应用程序的 RESTful API 和 WebSocket API。API Gateway 支持容器化和无服务器工作负载,以及 Web 应用程序。

API Gateway 处理接受和处理多达数十万个并发 API 调用所涉及的所有任务,包括流量管理、CORS 支持、授权和访问控制、限流、监控和 API 版本管理。API Gateway 没有最低费用或启动成本。您只需支付接收的 API 调用和传输的数据量,并且通过 API Gateway 分层定价模型,您可以随着 API 使用量的扩展而降低成本。

LLM (语言模型)

查看使用示例

from langchain.llms import AmazonAPIGateway

api_url = "https://<api_gateway_id>.execute-api.<region>.amazonaws.com/LATEST/HF"
llm = AmazonAPIGateway(api_url=api_url)

# 这些是来自 Amazon SageMaker JumpStart 的 Falcon 40B Instruct Deployed 的示例参数
parameters = {
"max_new_tokens": 100,
"num_return_sequences": 1,
"top_k": 50,
"top_p": 0.95,
"do_sample": False,
"return_full_text": True,
"temperature": 0.2,
}

prompt = "what day comes after Friday?"
llm.model_kwargs = parameters
llm(prompt)
>>> 'what day comes after Friday?\nSaturday'

Agent (代理)

from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.llms import AmazonAPIGateway

api_url = "https://<api_gateway_id>.execute-api.<region>.amazonaws.com/LATEST/HF"
llm = AmazonAPIGateway(api_url=api_url)

parameters = {
"max_new_tokens": 50,
"num_return_sequences": 1,
"top_k": 250,
"top_p": 0.25,
"do_sample": False,
"temperature": 0.1,
}

llm.model_kwargs = parameters

# 接下来,让我们加载一些要使用的工具。请注意,`llm-math` 工具使用了一个 LLM,所以我们需要传递进去。
tools = load_tools(["python_repl", "llm-math"], llm=llm)

# 最后,让我们使用工具、语言模型和要使用的代理类型初始化一个代理。
agent = initialize_agent(
tools,
llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True,
)

# 现在让我们来测试一下!
agent.run("""
Write a Python script that prints "Hello, world!"
""")

>>> 'Hello, world!'