Skip to main content

LangPrompt

LangPrompt is a Python library for creating chat prompts with template support.

Some code come from https://github.com/cfahlgren1/observers,https://github.com/Mirascope/mirascope

Installation

pip install langprompt

Usage

from pydantic import BaseModel
from langprompt import TextOutputParser, Prompt
from langprompt.llms.openai import OpenAI
from langprompt.cache import SQLiteCache
from langprompt.store import DuckDBStore


class Input(BaseModel):
    text: str
    language: str = "Chinese"

prompt = Prompt[Input]("""
<|system|>
You are a professional translator. Please accurately translate the text while maintaining its original meaning and style.
<|end|>

<|user|>
Translate the following text into {{language}}: {{text}}
<|end|>
""")

if __name__ == "__main__":

    parser = TextOutputParser()
    provider = OpenAI(model="gpt-4o-mini", cache=SQLiteCache(), store=DuckDBStore(), query_per_second=0.2)
    inputs = [
        Input(text="Hello, how are you?", language="Chinese"),
        Input(text="Hello, how are you?", language="English"),
        Input(text="Hello, how are you?", language="Chinese"),
    ]

    messages = [prompt.parse(input) for input in inputs]
    responses = provider.batch(messages, batch_size=2, enable_retry=True)

    # 处理结果
    for i, response in enumerate(responses):
        print(f"\n--- Result {i+1} ---")
        print(f"Original: {inputs[i].text}")
        result = parser.parse(response)
        print(f"Translated: {result}")

执行结果:

--- Result 1 ---
Original: Hello, how are you?
Translated: 你好,你好吗?
Cache Key: None

--- Result 2 ---
Original: Hello, how are you?
Translated: Hello, how are you?
Cache Key: None

--- Result 3 ---
Original: Hello, how are you?
Translated: 你好,你好吗?
Cache Key: 5693a0a16dff61866ca18feef969719cc78979a5f44cd412fef1add7bdcaaa42

Todo

  1. OpenAI Tools 完全支持
  2. OpenAI JSON Mode 支持
  3. support data viewer
  4. add to langeval/ragas/distilabel distilabel support qianfan、llm cache

Metadata

Release files for langprompt 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for langprompt 0.1.1
File Size Uploaded
langprompt-0.1.1.tar.gz 123.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for langprompt 0.1.1
File Interpreter ABI Platform
langprompt-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 150.2 kB

Release files / langprompt-0.1.1.tar.gz

Download URL langprompt-0.1.1.tar.gz
Size 123.9 kB
Tags Source
SHA-256 checksum
How to use checksums
048ec92c3feaca2a7dc7f04f8fc7172deb433470e4ff7aa91532510bc95fdfce
BLAKE2b-256 checksum
How to use checksums
f3be637a00f8d7ae84f2a7a2fd3b80973385cae483f27d920bd4f1832a50c914
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 16, 2025.

Transparency log

Release files / langprompt-0.1.1-py3-none-any.whl

Download URL langprompt-0.1.1-py3-none-any.whl
Size 26.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dddeb906cfece436eeff200c12d5a63adc76d290b2cf13bc0db226e2009ed921
BLAKE2b-256 checksum
How to use checksums
243f7b68c69a389fecd607b2948399d283fe56e0364be3e7e3a500f4482942aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 16, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page