OpenAI Dall-E 是 OpenAI 开发的文本到图像模型,使用深度学习方法根据称为”提示词”的自然语言描述生成数字图像。本 notebook 展示了如何从 OpenAI LLM 合成的提示词生成图像。图像使用
Dall-E 生成,它与 LLM 使用相同的 OpenAI API 密钥。
Copy
pip install -qU opencv-python scikit-image langchain-community
Copy
import os
from langchain_openai import OpenAI
os.environ["OPENAI_API_KEY"] = "insertapikey"
作为链运行
Copy
from langchain_classic.chains import LLMChain
from langchain_community.utilities.dalle_image_generator import DallEAPIWrapper
from langchain_core.prompts import PromptTemplate
from langchain_openai import OpenAI
llm = OpenAI(temperature=0.9)
prompt = PromptTemplate(
input_variables=["image_desc"],
template="Generate a detailed prompt to generate an image based on the following description: {image_desc}",
)
chain = LLMChain(llm=llm, prompt=prompt)
Copy
image_url = DallEAPIWrapper().run(chain.run("halloween night at a haunted museum"))
Copy
image_url
Copy
# You can click on the link above to display the image
try:
import google.colab
IN_COLAB = True
except ImportError:
IN_COLAB = False
if IN_COLAB:
from google.colab.patches import cv2_imshow # for image display
from skimage import io
image = io.imread(image_url)
cv2_imshow(image)
else:
import cv2
from skimage import io
image = io.imread(image_url)
cv2.imshow("image", image)
cv2.waitKey(0) # wait for a keyboard input
cv2.destroyAllWindows()
作为工具配合智能体运行
Copy
from langchain_community.tools.openai_dalle_image_generation import (
OpenAIDALLEImageGenerationTool,
)
from langchain_community.utilities.dalle_image_generator import DallEAPIWrapper
from langchain_openai import ChatOpenAI
from langchain.agents import create_agent
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
api_wrapper = DallEAPIWrapper()
dalle_tool = OpenAIDALLEImageGenerationTool(api_wrapper=api_wrapper)
tools = [dalle_tool]
agent = create_agent(llm, tools, debug=True)
# User prompt
prompt = "Create an image of a halloween night at a haunted museum"
messages = [
# "role": "user" Indicates message is coming from user
# "content": prompt is where the user's input is placed
{"role": "user", "content": prompt}
]
# Sending the message to be processed and adjusted by ChatGPT, after which is sent through DALL-E
response = agent.invoke({"messages": messages})
print(response)
连接这些文档 到 Claude、VSCode 等,通过 MCP 获取实时答案。

