Banana
Banana provided serverless GPU inference for AI models, a CI/CD build pipeline and a simple Python framework (
Potassium) to server your models.
此页面介绍如何在 LangChain 中使用 Banana 生态系统。
安装与设置
- 安装 Python 包
banana-dev:
pip install banana-dev
- 从 Banana.dev 仪表板 获取一个 Banana API 密钥,并将其设置为环境变量 (
BANANA_API_KEY) - 从模型详情页面获取你的模型密钥和URL别名。
定义您的香蕉模板
您需要为您的Banana应用设置一个GitHub仓库。您可以使用此指南在5分钟内开始。
或者,对于一个开箱即用的大型语言模型示例,你可以查看 Banana 的 CodeLlama-7B-Instruct-GPTQ GitHub 仓库。只需将其 fork 到你的账户并在 Banana 中部署即可。
其他启动仓库可在 此处 获取。
构建 Banana 应用
要在 Langchain 中使用 Banana 应用程序,您必须在返回的 JSON 中包含 outputs 键,且该键的值必须为字符串。
# Return the results as a dictionary
result = {'outputs': result}
一个示例推理函数如下:
@app.handler("/")
def handler(context: dict, request: Request) -> Response:
"""Handle a request to generate code from a prompt."""
model = context.get("model")
tokenizer = context.get("tokenizer")
max_new_tokens = request.json.get("max_new_tokens", 512)
temperature = request.json.get("temperature", 0.7)
prompt = request.json.get("prompt")
prompt_template=f'''[INST] Write code to solve the following coding problem that obeys the constraints and passes the example test cases. Please wrap your code answer using ```:
{prompt}
[/INST]
'''
input_ids = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda()
output = model.generate(inputs=input_ids, temperature=temperature, max_new_tokens=max_new_tokens)
result = tokenizer.decode(output[0])
return Response(json={"outputs": result}, status=200)
此示例来自 app.py 文件,位于 CodeLlama-7B-Instruct-GPTQ 中。
LLM
from langchain_community.llms import Banana
API 参考:香蕉
查看一个 使用示例。