LlamaEdge
LlamaEdge 允许您与 GGUF 格式的 LLM 本地和通过聊天服务进行交互。
-
LlamaEdgeChatService
为开发者提供了一个与 OpenAI API 兼容的服务,以便通过 HTTP 请求与 LLM 进行交互。 -
LlamaEdgeChatLocal
使开发者能够与 LLM 本地进行交互(即将推出)。
LlamaEdgeChatService
和 LlamaEdgeChatLocal
都运行在由 WasmEdge 运行时 驱动的基础设施上,该运行时为 LLM 推理任务提供了一个轻量级且可移植的 WebAssembly 容器环境。
通过 API 服务聊天
LlamaEdgeChatService
在 llama-api-server
上运行。按照 llama-api-server 快速入门 中的步骤,您可以托管您自己的 API 服务,以便您可以与任何您喜欢的模型在任何设备上进行交互,只要互联网可用。
from langchain_community.chat_models.llama_edge import LlamaEdgeChatService
from langchain_core.messages import HumanMessage, SystemMessage
以非流式模式与 LLM 聊天
# service url
service_url = "https://b008-54-186-154-209.ngrok-free.app"
# create wasm-chat service instance
chat = LlamaEdgeChatService(service_url=service_url)
# create message sequence
system_message = SystemMessage(content="You are an AI assistant")
user_message = HumanMessage(content="What is the capital of France?")
messages = [system_message, user_message]
# chat with wasm-chat service
response = chat.invoke(messages)
print(f"[Bot] {response.content}")
[Bot] Hello! The capital of France is Paris.
以流式模式与 LLM 聊天
# service url
service_url = "https://b008-54-186-154-209.ngrok-free.app"
# create wasm-chat service instance
chat = LlamaEdgeChatService(service_url=service_url, streaming=True)
# create message sequence
system_message = SystemMessage(content="You are an AI assistant")
user_message = HumanMessage(content="What is the capital of Norway?")
messages = [
system_message,
user_message,
]
output = ""
for chunk in chat.stream(messages):
# print(chunk.content, end="", flush=True)
output += chunk.content
print(f"[Bot] {output}")
[Bot] Hello! I'm happy to help you with your question. The capital of Norway is Oslo.