所需先决条件
- 我已在 Issue Tracker 和 Discussions 中搜索,但尚未报告。如果有,请在那里加1或评论。
- 请首先在 Discussion 中提问。
动机
由于我们将支持更多模型,我想在这里讨论 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 风格的模型名称字符串,就像许多其他项目一样(如 vllm 、 OpenLLM )。
例如:
some_model_config(model_type="meta-llama/Llama-2-7b-chat-hf", ...)
替代方案
- 无响应*
其他上下文
- 无响应*
1条答案
按热度按时间8yoxcaq71#
我认为这是一个非常好的解决方案。只是在使用
ModelType.value
表示"模型名称"时,对于OpenAI模型来说有点不舒服,而在使用它表示"模型路径"时,对于hugging faces模型来说也是如此。你认为我们可以添加一个属性或者其他什么吗?