728x90
3주차는 도전해 보고 싶어서 혼자 만들어 봤다.
크레딧은 소중하기에 배포는 하지 않았다.
Github : https://github.com/verdantjuly/item_advertiser
app.py
import streamlit as st
from ai_image import ai_image
from ai_text import ai_text
st.title("제품 홍보 포스터 생성기")
st.subheader("당신의 제품을 홍보하고 포스터로 만들어드립니다.",divider="rainbow")
item = st.chat_input("어떤 제품을 홍보해 드릴까요?")
if item:
with st.spinner("생성 중입니다"):
image = ai_image(item)
text = ai_text(item)
with st.chat_message("ai"):
st.image(image)
st.text(text)
ai_image.py
import os
from openai import OpenAI
def ai_image(prompt):
os.environ["OPENAI_API_KEY"] = "API-KEY"
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"),
)
response = client.images.generate(
model="dall-e-3",
prompt=f"{prompt}의 홍보 포스터",
size="1024x1024",
quality="standard",
n=1,
)
image_url = response.data[0].url
return image_url
ai_text.py
import os
from openai import OpenAI
def ai_text(prompt):
os.environ["OPENAI_API_KEY"] = "API-KEY"
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"),
)
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": f"{prompt}를 홍보하는 문구를 100자 이내로 적어 줘",
}
],
model="gpt-4o",
)
result = chat_completion.choices[0].message.content
return result
'학습 내용 정리 > AI' 카테고리의 다른 글
AI가 처음이어도 쉽게 배우는 생성형 AI 2주차 (0) | 2024.07.22 |
---|---|
AI가 처음이어도 쉽게 배우는 생성형 AI 1주차 (2) | 2024.07.20 |
streamlit을 활용한 웹 서비스 개발 2주차 (0) | 2024.07.19 |
streamlit을 활용한 웹 서비스 개발 1주차 (2) | 2024.07.19 |