Weavel, automated prompt engineering and observability for LLM applications
Project description
Installation
pip install weavel
Documentation
You can find our full documentation here.
How to use
Option 1: Using OpenAI wrapper
from weavel import WeavelOpenAI as OpenAI
openai = OpenAI()
response = openai.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "user", "content": "Hello, world!"}
],
headers={
"generation_name": "hello",
}
)
Option 2: Logging inputs/outputs of LLM calls
from weavel import Weavel
from openai import OpenAI
from pydantic import BaseModel
openai = OpenAI()
# initialize Weavel
weavel = Weavel()
class Answer(BaseModel):
reasoning: str
answer: str
question = "What is x if x + 2 = 4?"
response = openai.beta.chat.completions.parse(
model="gpt-4o-2024-08-06",
messages=[
{"role": "system", "content": "You are a math teacher."},
{"role": "user", "content": question}
],
response_format=Answer
).choices[0].message.parsed
# log the generation
weavel.generation(
name="solve-math", # optional
inputs={"question": question},
outputs=response.model_dump()
)
Option 3 (Advanced Usage): OTEL-compatible trace logging
from weavel import Weavel
weavel = Weavel()
session = weavel.session(user_id = "UNIQUE_USER_ID")
session.message(
role="user",
content="Nice to meet you!"
)
session.track(
name="Main Page Viewed"
)
trace = session.trace(
name="retrieval_module"
)
trace.log(
name="google_search"
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
weavel-1.11.0.tar.gz
(28.0 kB
view details)
Built Distribution
weavel-1.11.0-py3-none-any.whl
(32.7 kB
view details)
File details
Details for the file weavel-1.11.0.tar.gz
.
File metadata
- Download URL: weavel-1.11.0.tar.gz
- Upload date:
- Size: 28.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d9373506a3486ffe54f5ece5813f19a1c37bd7297a7d2e10803da6852a8483c |
|
MD5 | efd959b7f82bd617a4a9d9d87e30ac50 |
|
BLAKE2b-256 | d6dcc9da0be2ab39a74fc7e95d9c6520ff18c48eb21a4d59d45afd5e702b29d1 |
File details
Details for the file weavel-1.11.0-py3-none-any.whl
.
File metadata
- Download URL: weavel-1.11.0-py3-none-any.whl
- Upload date:
- Size: 32.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a048c28136e0f3bd65de264097c955c76180c2fd072fb662dd1a21f64514b54d |
|
MD5 | 7b024d1a6e0c89acd3d25b378789e7ab |
|
BLAKE2b-256 | d95677881b451e9ad509c1645eb294cb406df95c554e7a154096ad65984710dc |