Skip to main content

Weavel, automated prompt engineering and observability for LLM applications

Project description

Weavel Python SDK

Prompt Optimization & Evaluation for LLM Applications

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


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)

Uploaded Source

Built Distribution

weavel-1.11.0-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

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

Hashes for weavel-1.11.0.tar.gz
Algorithm Hash digest
SHA256 3d9373506a3486ffe54f5ece5813f19a1c37bd7297a7d2e10803da6852a8483c
MD5 efd959b7f82bd617a4a9d9d87e30ac50
BLAKE2b-256 d6dcc9da0be2ab39a74fc7e95d9c6520ff18c48eb21a4d59d45afd5e702b29d1

See more details on using hashes here.

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

Hashes for weavel-1.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a048c28136e0f3bd65de264097c955c76180c2fd072fb662dd1a21f64514b54d
MD5 7b024d1a6e0c89acd3d25b378789e7ab
BLAKE2b-256 d95677881b451e9ad509c1645eb294cb406df95c554e7a154096ad65984710dc

See more details on using hashes here.

Supported by

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