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
- OpenAI Tools 完全支持
- OpenAI JSON Mode 支持
- support data viewer
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| langprompt-0.1.1.tar.gz | 123.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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