mirror of
https://github.com/The-Art-of-Hacking/h4cker.git
synced 2024-12-22 12:56:09 +00:00
51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
|
'''
|
||
|
A simple test to use AI (OpenAI API) to generate an article based on a list of ideas.
|
||
|
You can do this a lot better using LangChain. However, this is a simple example to demonstrate how to use the OpenAI API.
|
||
|
Author: Omar Santos, os@cisco.com, @santosomar
|
||
|
'''
|
||
|
|
||
|
# Import the required libraries
|
||
|
# Install all the required libraries using pip install openai python-dotenv
|
||
|
from dotenv import load_dotenv
|
||
|
import openai
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
# Load the .env file
|
||
|
load_dotenv()
|
||
|
|
||
|
# Get the API key from the environment variable
|
||
|
openai.api_key = os.getenv('OPENAI_API_KEY')
|
||
|
|
||
|
# Read the ideas from a file (ideas.txt)
|
||
|
with open('ideas.txt', 'r') as file:
|
||
|
lines = file.readlines()
|
||
|
|
||
|
# Read lines one by one
|
||
|
for line in lines:
|
||
|
# Create a filename
|
||
|
filename = line.strip().replace(' ', '_') + '.md'
|
||
|
idea = line.strip()
|
||
|
|
||
|
# Create a path to save the files in a specific directory
|
||
|
filepath = os.path.join('data', filename)
|
||
|
|
||
|
# Prepare the prompt
|
||
|
prompt = [{"role": "user", "content": f"Create an article about {idea}."}]
|
||
|
# Generate the AI response using the GPT-3.5 model (16k)
|
||
|
# https://beta.openai.com/docs/api-reference/create-completion
|
||
|
response = openai.ChatCompletion.create(
|
||
|
model="gpt-3.5-turbo-16k",
|
||
|
messages=prompt,
|
||
|
max_tokens=15000
|
||
|
)
|
||
|
|
||
|
# print the AI response
|
||
|
final_response = response.choices[0].message.content
|
||
|
|
||
|
print(final_response)
|
||
|
|
||
|
# Create a new markdown file and write the article
|
||
|
with open(filepath, 'w') as md_file:
|
||
|
md_file.write(final_response)
|