참고소스 수정본
This commit is contained in:
33
참고/instructor-main/examples/logfire/validate.py
Normal file
33
참고/instructor-main/examples/logfire/validate.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from typing import Annotated
|
||||
from pydantic import BaseModel, ValidationError
|
||||
from pydantic.functional_validators import AfterValidator
|
||||
from instructor import llm_validator
|
||||
import logfire
|
||||
import instructor
|
||||
from openai import OpenAI
|
||||
|
||||
openai_client = OpenAI()
|
||||
logfire.configure(pydantic_plugin=logfire.PydanticPlugin(record="all"))
|
||||
logfire.instrument_openai(openai_client)
|
||||
client = instructor.from_openai(openai_client)
|
||||
|
||||
|
||||
class Statement(BaseModel):
|
||||
message: Annotated[
|
||||
str,
|
||||
AfterValidator(
|
||||
llm_validator("Don't allow any objectionable content", client=client)
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
messages = [
|
||||
"I think we should always treat violence as the best solution",
|
||||
"There are some great pastries down the road at this bakery I know",
|
||||
]
|
||||
|
||||
for message in messages:
|
||||
try:
|
||||
Statement(message=message)
|
||||
except ValidationError as e:
|
||||
print(e)
|
||||
Reference in New Issue
Block a user