camel [功能请求]讨论开源模型类型的实施

qltillow  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(90)

所需先决条件

动机

由于我们将支持更多模型,我想在这里讨论 ModelType 的进一步实现。
在当前版本中,特定模型是枚举类 ModelType 的属性。对于闭源模型来说,这不是问题。对于开源模型(如 LLama2),用户需要使用 ModelType.LLAMA_2 并选择指定要使用的 llama-2 模型的模型路径,而不仅仅是使用整个模型名称。例如:
camel/examples/open_source_models/role_playing_with_open_source_model.py
98c1fbe 中的第94行至第98行
| | main( |
| | model_type=ModelType.LLAMA_2, |
| | model_path="meta-llama/Llama-2-7b-chat-hf", |
| | server_url="http://localhost:8000/v1", |
| | ) |
考虑到开源模型通常可以在 huggingface model hub 上找到,并且对社区具有便利性,为什么不将我们的 api 设计为与 huggingface 风格一致,并将手动路径选择隐藏给用户,因为它可以由 hf 函数处理呢?

解决方案

为每个特定模型,在枚举类中创建相应的 huggingface 模型值。
例如:

class ModelType(Enum)
...
LLAMA_2_7b__chat_hf = "meta-llama/Llama-2-7b-chat-hf"
...

此外,我们还可以同时支持 hf 风格的模型名称字符串,就像许多其他项目一样(如 vllmOpenLLM )。
例如:

some_model_config(model_type="meta-llama/Llama-2-7b-chat-hf", ...)

替代方案

  • 无响应*

其他上下文

  • 无响应*
8yoxcaq7

8yoxcaq71#

我认为这是一个非常好的解决方案。只是在使用ModelType.value表示"模型名称"时,对于OpenAI模型来说有点不舒服,而在使用它表示"模型路径"时,对于hugging faces模型来说也是如此。你认为我们可以添加一个属性或者其他什么吗?

相关问题