Skip to main content
Open on GitHub

香蕉

Banana 提供了AI模型的无服务器GPU推理, 一个CI/CD构建管道和一个简单的Python框架(Potassium)来服务您的模型。

本页面介绍了如何在LangChain中使用Banana生态系统。

安装与设置

  • 安装Python包 banana-dev:
pip install banana-dev
  • Banana.dev 仪表板获取一个Banana api密钥,并将其设置为环境变量(BANANA_API_KEY
  • 从模型的详细信息页面获取模型的密钥和URL slug。

定义你的香蕉模板

您需要为您的Banana应用设置一个Github仓库。您可以使用本指南在5分钟内开始。

或者,对于一个现成的LLM示例,你可以查看Banana的CodeLlama-7B-Instruct-GPTQ GitHub仓库。只需将其fork并在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)

这个例子来自CodeLlama-7B-Instruct-GPTQ中的app.py文件。

LLM

from langchain_community.llms import Banana
API Reference:Banana

查看一个使用示例


这个页面有帮助吗?