Python bindings for llama.cpp
llama-cpp-python基本信息
llama-cpp-python介绍
默认情况下,from_pretrained
将下载模型到huggingface缓存目录,然后您可以使用huggingface-cli
工具来管理已安装的模型文件。
高级API还提供了一个简单的聊天完成接口。
聊天完成需要模型知道如何将消息格式化为单个提示。Llama
类使用预注册的聊天格式(例如chatml
,llama-2
,gemma
等)或通过提供自定义聊天处理程序对象来完成此操作。
模型将使用以下优先顺序将消息格式化为单个提示:
- 如果提供了
chat_handler
,则使用它 - 如果提供了
chat_format
,则使用它 - 使用
gguf
模型元数据中的tokenizer.chat_template
(对于大多数新模型应该有效,旧模型可能没有此功能) - 否则,回退到
llama-2
聊天格式
设置verbose=True
以查看所选的聊天格式。
聊天完成可通过Llama
类的create_chat_completion
方法进行。
要与OpenAI API v1兼容,可以使用create_chat_completion_openai_v1
方法,该方法将返回pydantic模型而不是字典。
可以使用create_chat_completion
方法的response_format
参数将聊天响应限制为仅有效的JSON或特定的JSON模式。
要将响应进一步限制为特定的JSON模式,请将模式添加到response_format
参数的schema
属性中。
高级API支持OpenAI兼容的函数和工具调用。这可以通过functionary
预训练模型的聊天格式或通用的chatml-function-calling
聊天格式实现。
llama-cpp-python
支持llava1.5系列多模型,允许语言模型从文本和图像中读取信息。
首先,您需要下载可用的多模型之一的GGUF格式:
然后,您需要使用自定义的聊天处理程序来加载clip模型并处理聊天消息和图像。
可以使用LlamaPromptLookupDecoding
类来支持推测解码。
要生成文本嵌入,请使用create_embedding
方法。
要调整Llama模型的上下文窗口,请根据您的要求进行调整。{"title": "使用Llama-cpp-python构建OpenAI兼容的Web服务器和Docker镜像", "summary": "Llama-cpp-python是一个Python库,可以与Llama.cpp兼容的模型一起使用。它提供了一个Web服务器,可以作为OpenAI API的替代品,并支持Docker镜像。该库还提供了低级API,可以直接使用C API提供的功能。详细的文档和开发指南也可用。"}