LangChain 常见任务自动化示例

LangChain 常见任务自动化示例

目录

  1. 数据链接
  2. API 调用
  3. 文档处理
  4. 多轮对话
  5. 任务调度

1. 数据链接

在使用 LangChain 进行数据链接时,我们可以通过多种方法将不同的数据源连接起来。以下是一个示例,展示如何使用 LangChain 连接到 SQLite 数据库并获取数据。

1
2
3
4
5
6
7
8
9
10
11
12
13
from langchain import chains
from langchain.sql_database import SQLDatabase
from langchain.sql_database import SQLDatabaseChain

# 连接到 SQLite 数据库
db = SQLDatabase.from_uri("sqlite:///my_database.db")

# 创建一个 SQLDatabaseChain
db_chain = SQLDatabaseChain(llm, database=db)

# 执行 SQL 查询
result = db_chain.run("SELECT * FROM users WHERE age > 30")
print(result)

注意事项

  • 确保您已安装 SQLite 数据库并且数据库文件路径有效。
  • llm 是您选择的语言模型实例,可以是 OpenAI 等模型。

2. API 调用

LangChain 允许您轻松调用外部 API。以下是一个示例,展示如何使用 LangChain 调用天气 API 获取天气信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
import requests

def get_weather(city):
api_key = 'YOUR_API_KEY'
url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric"

response = requests.get(url)
data = response.json()
return f"{data['name']} 的天气为 {data['main']['temp']}°C"

# 调用天气获取函数
weather = get_weather("Beijing")
print(weather)

注意事项

  • 确保您已将 YOUR_API_KEY 替换为实际的 API 密钥。
  • 调用外部 API 时,请注意处理网络错误和异常。

3. 文档处理

使用 LangChain 进行文档处理时,可以提取文本、分析结构或将数据转换为其他格式。以下是一个提取 PDF 文档文本的示例:

1
2
3
4
5
6
7
8
9
from langchain.document_loaders import PyPDFLoader

# 加载 PDF 文档
loader = PyPDFLoader("example.pdf")
documents = loader.load()

# 输出提取的文本
for doc in documents:
print(doc.page_content)

注意事项

  • 安装所需的库,例如 PyPDF2pdfplumber
  • 确保 PDF 文件路径有效。

4. 多轮对话

LangChain 支持多轮对话,允许在用户与系统之间进行深入的交流。以下是创建一个简单多轮对话的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from langchain import LLMChain
from langchain.chat_models import ChatOpenAI
from langchain.prompts import ChatPromptTemplate

# 创建聊天模型
llm = ChatOpenAI(model_name="gpt-3.5-turbo")

# 定义多轮对话的提示模板
prompt_template = ChatPromptTemplate(
messages=[
{"role": "system", "content": "你是一位友好的助手。"},
{"role": "user", "content": "我想了解机器学习。"}
]
)

chain = LLMChain(llm=llm, prompt=prompt_template)

# 运行对话
response = chain.run()
print(response)

注意事项

  • 使用聊天模型,如 gpt-3.5-turbo,需要有效的 API 密钥。
  • 建议根据需求自定义提示模板,以引导对话方向。

5. 任务调度

LangChain 还可以实现任务调度,自动执行某些操作。以下是一个使用定时任务调度发送电子邮件的示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
import schedule
import time

def send_email():
# 这里是发送电子邮件的逻辑
print("发送电子邮件...")

# 每天中午 12 点发送邮件
schedule.every().day.at("12:00").do(send_email)

while True:
schedule.run_pending()
time.sleep(1)

注意事项

  • 使用 schedule 库进行简单的定时任务调度。
  • 请确保邮件发送逻辑实现正确,例如使用 smtplib 发送电子邮件。

以上示例展示了 LangChain 可以执行的一些常见任务自动化操作。您可以根据自己的需求,进一步扩展和自定义这些示例。

LangChain 常见任务自动化示例

https://zglg.work/langchain-tutorial/14/

作者

AI教程网

发布于

2024-08-07

更新于

2024-08-10

许可协议