Skip to main content

香蕉 (Banana)

This page covers how to use the Banana ecosystem within LangChain. It is broken into two parts: installation and setup, and then references to specific Banana wrappers.

安装和设置 (Installation and Setup)

  • 使用 pip install banana-dev 进行安装
  • 获取一个 Banana API 密钥,并将其设置为环境变量 (BANANA_API_KEY)

定义你的 Banana 模板 (Define your Banana Template)

如果你想使用一个可用的语言模型模板,你可以在这里找到一个。 这个模板使用了 Writer 的 Palmyra-Base 模型。 你可以在这里查看一个 Banana 仓库的示例。

构建 Banana 应用 (Build the Banana app)

Banana 应用必须在返回的 JSON 中包含 "output" 键。 有一个固定的响应结构。

# 将结果作为字典返回
result = {'output': result}

一个示例的推理函数如下:

def inference(model_inputs:dict) -> dict:
global model
global tokenizer

# 解析参数
prompt = model_inputs.get('prompt', None)
if prompt == None:
return {'message': "未提供提示"}

# 运行模型
input_ids = tokenizer.encode(prompt, return_tensors='pt').cuda()
output = model.generate(
input_ids,
max_length=100,
do_sample=True,
top_k=50,
top_p=0.95,
num_return_sequences=1,
temperature=0.9,
early_stopping=True,
no_repeat_ngram_size=3,
num_beams=5,
length_penalty=1.5,
repetition_penalty=1.5,
bad_words_ids=[[tokenizer.encode(' ', add_prefix_space=True)[0]]]
)

result = tokenizer.decode(output[0], skip_special_tokens=True)
# 将结果作为字典返回
result = {'output': result}
return result

你可以在这里找到一个完整的 Banana 应用示例。

包装器 (Wrappers)

LLM

存在一个 Banana LLM 包装器,你可以使用以下代码访问:

from langchain.llms import Banana

你需要提供一个位于仪表板中的模型密钥:

llm = Banana(model_key="YOUR_MODEL_KEY")