Langchain LLM
Get Started
Install
pip install langchain_llm==0.1.19
Inference Usage
HuggingFace Inference
Completion Usage
from langchain_llm import HuggingFaceLLM
llm = HuggingFaceLLM(
model_name="qwen-7b-chat",
model_path="/data/checkpoints/Qwen-7B-Chat",
load_model_kwargs={"device_map": "auto"},
)
# invoke method
prompt = "<|im_start|>user\n你是谁?<|im_end|>\n<|im_start|>assistant\n"
print(llm.invoke(prompt, stop=["<|im_end|>"]))
# Token Streaming
for chunk in llm.stream(prompt, stop=["<|im_end|>"]):
print(chunk, end="", flush=True)
# openai usage
print(llm.call_as_openai(prompt, stop=["<|im_end|>"]))
# Streaming
for chunk in llm.call_as_openai(prompt, stop=["<|im_end|>"], stream=True):
print(chunk.choices[0].text, end="", flush=True)
Chat Completion Usage
from langchain_llm import ChatHuggingFace
chat_llm = ChatHuggingFace(llm=llm)
# invoke method
query = "你是谁?"
print(chat_llm.invoke(query))
# Token Streaming
for chunk in chat_llm.stream(query):
print(chunk.content, end="", flush=True)
# openai usage
messages = [
{"role": "user", "content": query}
]
print(chat_llm.call_as_openai(messages))
# Streaming
for chunk in chat_llm.call_as_openai(messages, stream=True):
print(chunk.choices[0].delta.content or "", end="", flush=True)
VLLM Inference
Completion Usage
from langchain_llm import VLLM
llm = VLLM(
model_name="qwen",
model="/data/checkpoints/Qwen-7B-Chat",
trust_remote_code=True,
)
# invoke method
prompt = "<|im_start|>user\n你是谁?<|im_end|>\n<|im_start|>assistant\n"
print(llm.invoke(prompt, stop=["<|im_end|>"]))
# openai usage
print(llm.call_as_openai(prompt, stop=["<|im_end|>"]))
Chat Completion Usage
from langchain_llm import ChatVLLM
chat_llm = ChatVLLM(llm=llm)
# invoke method
query = "你是谁?"
print(chat_llm.invoke(query))
# openai usage
messages = [
{"role": "user", "content": query}
]
print(chat_llm.call_as_openai(messages))
Custom Chat template
from langchain_llm import BaseTemplate, ChatHuggingFace
class CustomTemplate(BaseTemplate):
@property
def template(self) -> str:
return (
"{% for message in messages %}"
"{{ '<|im_start|>' + message['role'] + '\\n' + message['content'] + '<|im_end|>' + '\\n' }}"
"{% endfor %}"
"{% if add_generation_prompt %}"
"{{ '<|im_start|>assistant\\n' }}"
"{% endif %}"
)
chat_llm = ChatHuggingFace(
llm=llm,
prompt_adapter=CustomTemplate()
)
Load Model Kwargs
-
model_name_or_path: model name or path. -
use_fast_tokenizer: default false. -
device_map: "auto"、"cuda:0" etc. -
dtype: "half", "bfloat16", "float32". -
load_in_8bit: Load model in 8 bit. -
load_in_4bit: Load model in 4 bit. -
rope_scaling: Which scaling strategy should be adopted for the RoPE embeddings. Literal["linear", "dynamic"]. -
flash_attn: Enable FlashAttention-2.
Merge Lora model
from langchain_llm import apply_lora
apply_lora("base_model_path", "lora_path", "target_model_path")
Metadata
Release files for langchain-llm 0.4.15
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| langchain_llm-0.4.15.tar.gz | 30.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| langchain_llm-0.4.15-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 69.0 kB
Release files / langchain_llm-0.4.15.tar.gz
| Download URL | langchain_llm-0.4.15.tar.gz |
|---|---|
| Size | 30.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7afa83011f1b0a486c2a52838b81dcfe0c207d59e28bd677e9bee61346421290
|
|
BLAKE2b-256 checksum How to use checksums |
8c2f1f0082d992536658497eb032ed0e9106ec6efdd2972fb3d74e5589eda64f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.7.1 CPython/3.10.10 Windows/10
|
Release files / langchain_llm-0.4.15-py3-none-any.whl
| Download URL | langchain_llm-0.4.15-py3-none-any.whl |
|---|---|
| Size | 38.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3e4227ed357673b2ba05d84724e1155269b0388e08a43f1f23f9cf24b017bc58
|
|
BLAKE2b-256 checksum How to use checksums |
dc0847658a83f639ea69b6ea58e6056e6bf1bf433ab5a07687caf6cbb369a812
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.7.1 CPython/3.10.10 Windows/10
|