AIGC宇宙 AIGC宇宙

几个开发大模型应用常用的 Python 库

一、应用层开发1. FastAPIFastAPI是构建API的优选。 顾名思义,它快速、简单,并能与Pydantic完美集成,实现无缝数据验证。

几个开发大模型应用常用的 Python 库

一、应用层开发

1. FastAPI

FastAPI是构建API的优选。顾名思义,它快速、简单,并能与Pydantic完美集成,实现无缝数据验证。

复制
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
    name: str
    price: float

@app.post("/items/")
async def create_item(item: Item):
    return {"name": item.name, "price": item.price}

2. Jinja

Jinja是一个模板引擎,用于创建动态提示,它简单而强大,在管理复杂的提示逻辑方面起着关键作用。

复制
from jinja2 import Template


template = Template("Hello {{ name }}!")
print(template.render(name="Raj"))

二、任务调度

有时候系统需要处理繁重的工作,Celery库可以帮助跨多个线程或机器分配任务。即使在要求苛刻的操作中,也能保持应用程序的响应速度。

复制
from celery import Celery

app = Celery('tasks', broker='redis://localhost:6379/0')

@app.task
def add(x, y):
    return x + y

三、数据管理

数据是AI的基础,目前比较常用的两种数据库:PostgreSQL和MongoDB,分别对应着结构化和非结构化数据。

1. 连接

一般使用psycopg2管理Postgre SQL,使用PyMongo管理MongoDB。 

复制
import psycopg2

conn = psycopg2.connect(
    dbname="example", user="user", password="password", host="localhost")
cursor = conn.cursor()
cursor.execute("SELECT * FROM table")
rows = cursor.fetchall()
print(rows)

2. 简化数据操作

SQLAlchemy可以实现Python API管理数据库操作,相比SQL,这更干净,更高效。

复制
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

Base = declarative_base()

class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)

engine = create_engine('sqlite:///example.db')
Base.metadata.create_all(engine)

四、API集成

将AI大模型集成到应用程序是最重要的步骤,实际上我们的应用就像是LLM的客户端,OpenAI、Anthropic和Google API 这些库都是AI应用集成常用的。

复制
import openai

openai.api_key = "your-api-key"
response = openai.Completion.create(
    engine="text-davinci-003",
    prompt="Write a Python function to add two numbers.",
    max_tokens=100
)
print(response.choices[0].text.strip())

五、数据处理

1. 结构化

如果应用想从LLM中得到可靠的结构化输出,那么Instructor库是一个很好的选择。它可与各种模型配合使用,并且提供了高级数据验证功能。

复制
from instructor import Instructor

instructor = Instructor(api_key="your-api-key")
response = instructor.get_response(prompt="What is the capital of France?", model="text-davinci-003")
print(response)

2. LangChain和LlamaIndex:

这些框架简化了使用大型语言模型的工作。在一些场景下它们可以容简化提示管理和嵌入之类的复杂任务,使其易于入门。

复制
from langchain.chains import LLMChain
from langchain.llms import OpenAI

llm = OpenAI(temperature=0.7)
chain = LLMChain(llm=llm)
response = chain.run("What is 2 + 2?")
print(response)

3. 向量数据库

许多AI应用程序,例如RAG,依赖于存储上下文,以便于后续进行检索。

往往会使用到向量数据库存储向量以及执行相似性搜索,例如:Pinecone、Weaviate和PGVector。

复制
import pinecone

pinecone.init(api_key="your-api-key", environment="us-west1-gcp")
index = pinecone.Index("example-index")
index.upsert([("id1", [0.1, 0.2, 0.3])])
result = index.query([0.1, 0.2, 0.3], top_k=1)
print(result)

4. DSPy

DSPy有助于自动优化提示,在微调AI响应时节省大量时间以及猜测。

复制
from dsp import PromptOptimizer

optimizer = PromptOptimizer()
optimized_prompt = optimizer.optimize("Write a poem about space.")
print(optimized_prompt)

5. PyMuPDF和PyPDF2

如果AI应用需要从PDF或文档中提取数据,这些库是靠谱的选择。

复制
import fitz

doc = fitz.open("example.pdf")
for page in doc:
    print(page.get_text())

6. Pydantic

人工智能项目经常需要处理混乱、不可预测的数据,Pydantic优雅地可以清理、组织数据。

复制
from pydantic import BaseModel

class User(BaseModel):
    name: str
    age: int
    email: str

user = User(name="rose", age=30, email="[email protected]")
print(user.dict())

六、跟踪观察

大模型应用的开发不是一触而就,开发只是第一步,在开发完之后还需要持续监控它的执行状况并对其优化。

Langsmith和Langsmith,这两个平台适合用于跟踪LLM调用情况,包括延迟、成本和输出等关键数据。

复制
from langfuse import LangFuse

langfuse = LangFuse(api_key="your-api-key")
langfuse.log_interaction(prompt="What is 5 + 5?", response="10", latency=0.3)

以上这些Python库可以用于构建可靠、可扩展和高效的AI应用程序。

相关资讯

DeepSeek-R1 登顶 Hugging Face:以10000 赞力压 150 万个模型

今日凌晨,全球最大开源平台之一 Hugging Face 的首席执行官 Clement Delangue 在社交平台发文宣布,DeepSeek-R1在 Hugging Face 上获得了超过10000个赞,成为该平台近150万个模型中最受欢迎的大模型。 这一里程碑式的成就标志着 DeepSeek-R1在全球 AI 社区中的广泛认可与影响力。 DeepSeek-R1的崛起速度令人瞩目。
2/24/2025 9:30:00 AM
AI在线

腾讯云上线DeepSeek全系API接口并打通联网搜索

腾讯云宣布完成对深度求索(DeepSeek)大模型的深度整合——正式上线DeepSeek-R1和V3原版模型的API接口,并创新性接入自研大模型知识引擎,同步开放联网搜索能力。 凭借腾讯云在推理并发和生成速率等方面的优化,用户可以获得更加稳定、安全、低门槛的使用体验。 开发者只需在云上简单三步即可实现API接口调用,并通过大模型知识引擎提供的文档解析、拆分、embedding、多轮改写等能力,灵活构建专属的AI服务。
2/8/2025 2:09:00 PM
AI在线

微信搜索接入DeepSeek大模型 称AI不会使用朋友圈聊天等信息

近日,微信宣布其搜索功能接入 DeepSeek-R1模型,目前处于灰度测试阶段。 部分用户在微信搜索框选择 AI 搜索时,可体验到 DeepSeek-R1提供的深度思考功能。 微信方面表示,引入大模型旨在提升搜索的智能化和精准度,更好地理解用户搜索意图,分析处理复杂查询。
2/19/2025 11:18:00 AM
AI在线
testab