PydanticAI
Pydantic作為Python基礎類庫,提供了強大的數(shù)據(jù)驗證和序列化功能,基本上成為了AI應用項目開發(fā)中處理數(shù)據(jù)驗證的標配。Pydantic的類型聲明設計很優(yōu)雅,只需定義數(shù)據(jù)模型,Pydantic 就能自動完成數(shù)據(jù)驗證和類型轉(zhuǎn)換。這極大地簡化了代碼,提升了可讀性和可維護性。
Pydantic是諸如 OpenAI、LangChain、LlamaIndex 等項目的核心組件,幾乎每一個 Python 中的代理框架和 LLM庫都在使用 Pydantic。FastAPI也是基于Pydantic。
Pydantic 團隊推出了一個全新的、基于 Pydantic 的AI代理框架PydanticAI,專門用來簡化AI應用開發(fā)的復雜度,重點解決了AI代理(Agent)開發(fā)中的各種痛點,將 FastAPI 的那種創(chuàng)建和符合自然的感覺帶到生成式人工智能應用開發(fā)中。
PydanticAI 的優(yōu)點包括:
? 與 Pydantic Logfire 集成:無縫集成 Pydantic Logfire,用于實時調(diào)試、性能監(jiān)控以及對你的 LLM 驅(qū)動應用的行為跟蹤。
? 類型安全:設計上盡可能讓你的類型檢查強大且富有信息性,大幅減少運行時錯誤。
? 原生Python 開發(fā)體驗:利用 Python 熟悉的控制流和代理組合來構(gòu)建你的 AI 驅(qū)動項目,讓你可以輕松應用在任何其他(非 AI)項目中使用的標準 Python 最佳實踐。
? 結(jié)構(gòu)化響應處理:借助 Pydantic 的力量驗證和結(jié)構(gòu)化模型輸出,確保每次運行的響應保持一致。
? 工程化支持:提供可選的依賴注入系統(tǒng),為你的代理系統(tǒng)提示、工具和結(jié)果驗證器提供數(shù)據(jù)和服務。這在測試和基于評估的迭代開發(fā)中非常有用,特別適合企業(yè)級應用開發(fā)。
? 流式響應:能夠持續(xù)流式傳輸 LLM 輸出,并立即進行驗證,確??焖偾覝蚀_的結(jié)果。
? 圖支持:Pydantic Graph 提供了一種強大的方式,通過類型提示定義圖,這在標準控制流可能退化為意大利面條代碼的復雜應用中非常有用。
簡單示例
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIModel
# 定義一個代理
model = OpenAIModel('gpt-4o')
agent = Agent(
model=model,
# 提示詞
system_prompt='Be concise, reply with one sentence.',
)
result = agent.run_sync('Where does "hello world" come from?')
print(result.data)
使用deepseek模型
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIModel
model = OpenAIModel(
'deepseek-chat',
base_url='https://api.deepseek.com',
api_key='your-deepseek-api-key',
)
agent = Agent(model)
騰訊云DeepSeek 系列模型限時免費到2025年2月25日,可以參考https://cloud.tencent.com/document/product/1772/115969申請好替換base_url和api_key參數(shù)即可。
參考鏈接
https://github.com/pydantic/pydantic-ai
https://ai.pydantic.dev/examples/bank-support/#example-code