Skip to main content

LangChainKit makes it easier to work with Qwen3 models via vLLM, and simplifies the process of prompting LLMs to return structured outputs using LangChain and Langfuse.

Project description

LangChainKit

LangChainKit makes it easier to work with Qwen3 models via vLLM, and simplifies the process of prompting LLMs to return structured outputs using LangChain and LangFuse.


🚀 Features

  • 🔧 Simplified Qwen3 + vLLM integration
    Automatically configure enable_thinking and other complex settings for Qwen3 models when using vLLM.

  • 🧠 Structured Output via LangChain
    Easily prompt the LLM to generate structured outputs, including batch prompting support, with minimal setup.

  • 📊 LangFuse Integration
    Track and evaluate LLM performance using LangFuse, without writing boilerplate code.


Installation

pip install langchainkit

Quick Start

Basic Usage

from dotenv import load_dotenv

load_dotenv() # load .env file

from langchainkit import LocalLLM

llm = LocalLLM.qwen3_14b_awq_think()
res= llm.invoke('hello')
print(res.content) # Hello! How can I assist you today? 😊

Structured Output

from langchainkit import prompt_parsing
from pydantic import BaseModel

class Response(BaseModel):
    answer: str
    confidence: float

result = prompt_parsing(
    model=Response,
    failed_model=Response(answer="no_answer", confidence=0.0),
    query="What is the capital of France?",
    llm=llm
)
print(result.answer)  # "Paris"
print(result.confidence)  # 1.0

result = prompt_parsing(
    model=Response,
    failed_model=Response(answer="no_answer", confidence=0.0),
    query=["What is the capital of France?",
           "What is the capital of Germany?",
           "What is the capital of Italy?"],
    llm=llm
)
for each in result:
    print(each.answer)
    print(each.confidence)
# Paris
# 0.95
# Berlin
# 0.95
# Rome
# 1.0

Configuration

Set up your environment variables in .env file:

LOCAL_VLLM_BASE_URL=http://172.20.14.28:8000/v1
LOCAL_VLLM_API_KEY=your vLLM api key
LANGFUSE_SECRET_KEY=your langfuse secret key
LANGFUSE_PUBLIC_KEY=your langfuse public key
LANGFUSE_HOST=your langfuse host

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • LangChain for the core framework
  • vLLM for high-throughput LLM inference
  • Langfuse for observability and monitoring

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchainkit-0.1.2.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langchainkit-0.1.2-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file langchainkit-0.1.2.tar.gz.

File metadata

  • Download URL: langchainkit-0.1.2.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for langchainkit-0.1.2.tar.gz
Algorithm Hash digest
SHA256 20fea218c2dc1217ee1a864d7412ebd3bfb71b0f86b7b1e6c233f16c9aeab784
MD5 23c84734c258423a6f30621a89f1138b
BLAKE2b-256 937ca2525c6829481850ff8f5aa485e0f6ac3dd3247ea6fb07a5ed12f9e031c7

See more details on using hashes here.

File details

Details for the file langchainkit-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: langchainkit-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for langchainkit-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 090dbb7e42bca3771a42bb6d2ed7d612e163e8efeb4a673b408569fc1a7330ec
MD5 4ce7b645551815f31c951819f4723535
BLAKE2b-256 c40e65c2771d04efe26cd90f6b59d294472fde642397bfb580e6a155505e8674

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page