首页 > 后端开发 > Python教程 > 使用 LangChain 和 Python 生成人工智能的综合初学者指南 - 3

使用 LangChain 和 Python 生成人工智能的综合初学者指南 - 3

Mary-Kate Olsen
发布: 2024-12-30 01:11:18
原创
1041 人浏览过

Comprehensive Beginner

生成式人工智能使系统能够根据数据和提示创建文本、图像、代码或其他形式的内容。 LangChain 是一个框架,通过编排工作流程、管理提示以及启用内存和工具集成等高级功能,简化了生成式 AI 模型的使用。

本指南介绍了使用 LangChainPython 开始生成式 AI 所需的关键概念和工具。


1.什么是浪链?

LangChain 是一个基于 Python 的框架,用于使用 OpenAI 的 GPT 或 Hugging Face 模型等大型语言模型 (LLM) 构建应用程序。它有帮助:

  • 管理提示:创建可重复使用的结构化提示。
  • 链式工作流程:将多个LLM调用合并到一个工作流程中。
  • 使用工具:使 AI 模型能够与 API、数据库等交互。
  • 添加记忆:允许模型记住过去的交互。

2.设置您的环境

a) 安装所需的库

首先,安装LangChain和相关库:

pip install langchain openai python-dotenv streamlit
登录后复制
登录后复制

b) 设置您的 OpenAI API 密钥

  1. 注册 OpenAI 帐户并获取您的 API 密钥:OpenAI API。
  2. 在项目目录中创建一个 .env 文件并添加 API 密钥:
   OPENAI_API_KEY=your_api_key_here
登录后复制
登录后复制
  1. 使用 dotenv 在 Python 脚本中加载 API 密钥:
   from dotenv import load_dotenv
   import os

   load_dotenv()
   openai_api_key = os.getenv("OPENAI_API_KEY")
登录后复制
登录后复制

3. LangChain的关键概念

a) 提示

提示引导人工智能生成所需的输出。 LangChain允许您使用PromptTemplate系统地构建提示。

from langchain.prompts import PromptTemplate

# Define a template
template = "You are an AI that summarizes text. Summarize the following: {text}"
prompt = PromptTemplate(input_variables=["text"], template=template)

# Generate a prompt with dynamic input
user_text = "Artificial Intelligence is a field of study that focuses on creating machines capable of intelligent behavior."
formatted_prompt = prompt.format(text=user_text)
print(formatted_prompt)
登录后复制
登录后复制

b) 语言模型

LangChain 与 OpenAI 的 GPT 或 Hugging Face 模型等法学硕士集成。使用 OpenAI GPT 的 ChatOpenAI。

from langchain.chat_models import ChatOpenAI

# Initialize the model
chat = ChatOpenAI(temperature=0.7, openai_api_key=openai_api_key)

# Generate a response
response = chat.predict("What is Generative AI?")
print(response)
登录后复制
登录后复制

c) 链条

链将多个步骤或任务组合到一个工作流程中。例如,一条链可能:

  1. 总结文档。
  2. 根据摘要生成问题。
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate

# Create a prompt and chain
template = "Summarize the following text: {text}"
prompt = PromptTemplate(input_variables=["text"], template=template)
chain = LLMChain(llm=chat, prompt=prompt)

# Execute the chain
result = chain.run("Generative AI refers to AI systems capable of creating text, images, or other outputs.")
print(result)
登录后复制
登录后复制

d) 记忆

内存使模型能够保留多次交互的上下文。这对于聊天机器人很有用。

from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory

# Initialize memory and the conversation chain
memory = ConversationBufferMemory()
conversation = ConversationChain(llm=chat, memory=memory)

# Have a conversation
print(conversation.run("Hi, who are you?"))
print(conversation.run("What did I just ask you?"))
登录后复制
登录后复制

4.示例应用

a) 文本生成

使用提示生成创意响应或内容。

from langchain.chat_models import ChatOpenAI
from langchain.prompts import PromptTemplate

chat = ChatOpenAI(temperature=0.9, openai_api_key=openai_api_key)
prompt = PromptTemplate(input_variables=["topic"], template="Write a poem about {topic}.")
chain = LLMChain(llm=chat, prompt=prompt)

# Generate a poem
result = chain.run("technology")
print(result)
登录后复制

b) 总结

高效总结文档或文本。

pip install langchain openai python-dotenv streamlit
登录后复制
登录后复制

c) 聊天机器人

构建一个具有记忆功能的交互式聊天机器人。

   OPENAI_API_KEY=your_api_key_here
登录后复制
登录后复制

5.高级功能

a) 工具

使模型能够访问网络搜索或数据库等外部工具。

   from dotenv import load_dotenv
   import os

   load_dotenv()
   openai_api_key = os.getenv("OPENAI_API_KEY")
登录后复制
登录后复制

b) 定制链

通过组合多个任务来创建自定义工作流程。

from langchain.prompts import PromptTemplate

# Define a template
template = "You are an AI that summarizes text. Summarize the following: {text}"
prompt = PromptTemplate(input_variables=["text"], template=template)

# Generate a prompt with dynamic input
user_text = "Artificial Intelligence is a field of study that focuses on creating machines capable of intelligent behavior."
formatted_prompt = prompt.format(text=user_text)
print(formatted_prompt)
登录后复制
登录后复制

6.使用 Streamlit 进行部署

使用 Streamlit 为您的生成式 AI 模型构建一个简单的 Web 应用程序。

安装 Streamlit:

from langchain.chat_models import ChatOpenAI

# Initialize the model
chat = ChatOpenAI(temperature=0.7, openai_api_key=openai_api_key)

# Generate a response
response = chat.predict("What is Generative AI?")
print(response)
登录后复制
登录后复制

简单的应用程序:

from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate

# Create a prompt and chain
template = "Summarize the following text: {text}"
prompt = PromptTemplate(input_variables=["text"], template=template)
chain = LLMChain(llm=chat, prompt=prompt)

# Execute the chain
result = chain.run("Generative AI refers to AI systems capable of creating text, images, or other outputs.")
print(result)
登录后复制
登录后复制

运行应用程序:

from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory

# Initialize memory and the conversation chain
memory = ConversationBufferMemory()
conversation = ConversationChain(llm=chat, memory=memory)

# Have a conversation
print(conversation.run("Hi, who are you?"))
print(conversation.run("What did I just ask you?"))
登录后复制
登录后复制

7.生成式 AI 开发人员的关键概念

a) 微调模型

学习在自定义数据集上微调 GPT 或稳定扩散等模型。

b) 及时工程

掌握如何制作有效的提示以获得所需的输出。

c) 多模态人工智能

使用结合文本、图像和其他模式的模型(例如 OpenAI 的 DALL·E 或 CLIP)。

d) 扩展和部署

使用云服务或 Docker 等工具将模型部署到生产环境。


8.资源

  • LangChain文档:LangChain文档
  • OpenAI API:OpenAI 文档
  • 抱脸模特:抱脸

通过遵循本指南,您将获得使用 Python 和 LangChain 构建生成式 AI 应用程序所需的基础知识。开始实验、构建工作流程并深入探索令人兴奋的 AI 世界!

以上是使用 LangChain 和 Python 生成人工智能的综合初学者指南 - 3的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板