langchain-extract简介
langchain-extract是一个开源项目,提供了一个简单的Web服务器,可以使用大型语言模型(LLM)从文本和文件中提取结构化信息。该项目基于FastAPI、LangChain和PostgreSQL构建,旨在成为开发人员构建自己的信息提取应用程序的起点。
主要功能
- 提供REST API的FastAPI Web服务器
- OpenAPI文档
- 使用JSON Schema定义要提取的内容
- 使用示例来提高提取结果的质量
- 在数据库中创建和保存提取器和示例
- 从文本和/或二进制文件中提取信息
- LangServe端点,可与LangChain RemoteRunnable集成
快速开始
- 克隆项目仓库:
git clone https://github.com/langchain-ai/langchain-extract.git
- 配置环境变量:
在项目根目录创建.local.env
文件,添加以下内容:
OPENAI_API_KEY=your_openai_api_key
- 使用docker-compose启动服务:
docker-compose up -d
- 访问UI界面:
打开浏览器访问 http://localhost:3000
示例API使用
- 创建提取器:
curl -X 'POST' \
'http://localhost:8000/extractors' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H "x-key: ${USER_ID}" \
-d '{
"name": "Personal Information",
"description": "Use to extract personal information",
"schema": {
"type": "object",
"title": "Person",
"required": [
"name",
"age"
],
"properties": {
"age": {
"type": "integer",
"title": "Age"
},
"name": {
"type": "string",
"title": "Name"
}
}
},
"instruction": "Use information about the person from the given user input."
}'
- 使用提取器提取信息:
curl -s -X 'POST' \
'http://localhost:8000/extract' \
-H 'accept: application/json' \
-H 'Content-Type: multipart/form-data' \
-H "x-key: ${USER_ID}" \
-F 'extractor_id=e07f389f-3577-4e94-bd88-6b201d1b10b9' \
-F 'text=my name is chester and i am 20 years old. My name is eugene and I am 1 year older than chester.' \
-F 'mode=entire_document' \
-F 'file=' | jq .
相关资源
langchain-extract为开发人员提供了一个强大的起点,用于构建自定义的信息提取应用。通过结合LLM的能力和灵活的API,它可以帮助解决各种文本分析和数据提取的需求。欢迎探索并为这个开源项目做出贡献!