File size: 1,119 Bytes
0bc9599
 
 
 
02735c0
0bc9599
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from flask import Flask, render_template, request, jsonify
from duckduckgo_search import DDGS
import os
app = Flask(__name__)
app.secret_key = os.getenv("API_KEY")

STORY_PROMPT = os.getenv("PROMPT")

@app.route('/')
def home():
    return render_template('index.html')

@app.route('/generate', methods=['POST'])
def generate_story():
    topic = request.json.get('topic', '')
    previous_chapter = request.json.get('previous_chapter', '')
    chapter_number = request.json.get('chapter_number', 1)
    
    if not topic:
        return jsonify({'error': 'Topic is required'}), 400
    
    try:
        prompt = STORY_PROMPT.replace('{$TOPIC}', topic)
        prompt = prompt.replace('{$PREVIOUS_CHAPTER}', previous_chapter if previous_chapter else '')
        
        with DDGS() as ddgs:
            response = ddgs.chat(prompt, model='claude-3-haiku')
        
        return jsonify({
            'story': response,
            'chapter_number': chapter_number
        })
    except Exception as e:
        return jsonify({'error': str(e)}), 500

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=7860)