开源项目最佳实践:Attachments
attachments 项目地址: https://gitcode.com/gh_mirrors/attachm/attachments
项目介绍
Attachments 是一个开源项目,旨在为大型语言模型(LLM)提供一个通用的文件转换工具。它可以轻松地将任何文件转换为模型所需的文本和图像格式。通过简单地在 Python 代码中添加两行代码,Attachments 就能将文件转化为图像和文本,为语言模型提供上下文。
项目快速启动
在开始使用 Attachments 前,首先需要通过 pip 进行安装:
pip install attachments
以下是一个快速启动的示例代码,展示了如何使用 Attachments 处理文件:
from attachments import Attachments
# 创建 Attachments 对象
ctx = Attachments("path/to/file.pdf")
# 获取处理后的文本
llm_ready_text = str(ctx)
# 获取处理后的图像列表
llm_ready_images = ctx.images
应用案例和最佳实践
文件处理
Attachments 可以处理多种文件类型,包括但不限于 PDF、PPTX、DOCX、CSV 和 JSON。以下是一个处理不同文件类型的例子:
from attachments import Attachments
from attachments.data import get_sample_path
# 处理不同类型的文件
pdf_path = get_sample_path("sample.pdf")
docx_path = get_sample_path("test_document.docx")
csv_path = get_sample_path("test.csv")
json_path = get_sample_path("sample.json")
ctx = Attachments(pdf_path, docx_path, csv_path, json_path)
# 打印处理结果
print(f"Processed {len(ctx)} files: PDF, Word doc, CSV data, and JSON")
高级使用
Attachments 还支持使用 DSL (Domain Specific Language) 进行高级操作,例如选择特定的幻灯片或页面:
a = Attachments("path/to/pptx[3-5]")
print(a)
与模型集成
Attachments 可以与 OpenAI、Anthropic 等模型集成,以下是发送处理后的内容到 OpenAI 的一个例子:
from openai import OpenAI
from attachments import Attachments
pdf = Attachments("path/to/pptx[3-5]")
client = OpenAI()
resp = client.chat.completions.create(
model="gpt-4.1-nano",
messages=pdf.openai_chat("Analyse the following document:")
)
print(resp.choices[0].message.content)
典型生态项目
目前,围绕 Attachments 的生态系统正在不断发展。以下是一些典型的生态项目:
- dspy: 一个允许用户使用 Attachments 与 DSPy 集成的模块。
- Playwright: 用于 CSS 选择器高亮和屏幕截图的浏览器自动化库。
这些项目共同扩展了 Attachments 的功能,使其能够更好地服务于更广泛的应用场景。
attachments 项目地址: https://gitcode.com/gh_mirrors/attachm/attachments
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考