GitHub Action commited on
Commit
cac17e0
ยท
1 Parent(s): 5ff08cd

๐Ÿš€ Auto-deploy from GitHub Actions 2025-06-10 12:56:37 UTC

Browse files

โœ… Features updated:
- FastAPI Debug Toolbar (Latest)
- Content-Lengthๅ•้กŒไฟฎๆญฃๆธˆใฟ
- Laravel้ขจUI with streaming response
- SQLAlchemy query monitoring
- Real-time performance tracking

๐Ÿค– Deployed via GitHub Actions

Files changed (5) hide show
  1. Dockerfile +11 -35
  2. README.md +1 -30
  3. app.py +34 -33
  4. codespaces_debug.py +182 -2
  5. requirements.txt +8 -66
Dockerfile CHANGED
@@ -1,45 +1,21 @@
1
- # Use Python 3.11 as base image
2
  FROM python:3.11-slim
3
 
4
- # Set working directory
5
- WORKDIR /app
6
 
7
- # Set environment variables
8
- ENV PYTHONUNBUFFERED=1
9
- ENV PYTHONDONTWRITEBYTECODE=1
10
-
11
- # Install system dependencies
12
  RUN apt-get update && apt-get install -y \
13
  gcc \
14
- g++ \
15
- curl \
16
- git \
17
- jq \
18
  && rm -rf /var/lib/apt/lists/*
19
 
20
- # Copy requirements first for better caching
21
- COPY requirements.txt .
22
-
23
- # Install Python dependencies
24
- RUN pip install --no-cache-dir --upgrade pip && \
25
- pip install --no-cache-dir gradio==4.29.0 && \
26
- pip install --no-cache-dir google-cloud-storage google-auth google-auth-oauthlib google-auth-httplib2 && \
27
- pip install --no-cache-dir -r requirements.txt
28
-
29
- # Copy the application code
30
- COPY . .
31
-
32
- # Create directories for gradio cache and temp files
33
- RUN mkdir -p /app/gradio_cached_examples && \
34
- mkdir -p /app/cache && \
35
- chmod -R 755 /app
36
 
37
- # Expose port
38
- EXPOSE 7860
39
 
40
- # Health check
41
- HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \
42
- CMD curl -f http://localhost:7860/health || exit 1
43
 
44
- # Run the application
45
- CMD ["python", "app.py"]
 
 
1
  FROM python:3.11-slim
2
 
3
+ WORKDIR /code
 
4
 
5
+ # ใ‚ทใ‚นใƒ†ใƒ ใฎไพๅญ˜้–ขไฟ‚ใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซ
 
 
 
 
6
  RUN apt-get update && apt-get install -y \
7
  gcc \
 
 
 
 
8
  && rm -rf /var/lib/apt/lists/*
9
 
10
+ # Pythonใฎไพๅญ˜้–ขไฟ‚ใ‚’ใ‚ณใƒ”ใƒผใ—ใฆใ‚คใƒณใ‚นใƒˆใƒผใƒซ
11
+ COPY ./requirements.txt /code/requirements.txt
12
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
 
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
+ # ใ‚ขใƒ—ใƒชใ‚ฑใƒผใ‚ทใƒงใƒณใ‚ณใƒผใƒ‰ใ‚’ใ‚ณใƒ”ใƒผ
15
+ COPY . /code/
16
 
17
+ # ใƒใƒผใƒˆ8004ใ‚’ๅ…ฌ้–‹
18
+ EXPOSE 8004
 
19
 
20
+ # ใ‚ขใƒ—ใƒชใ‚ฑใƒผใ‚ทใƒงใƒณใ‚’่ตทๅ‹•
21
+ CMD ["python", "app.py"]
README.md CHANGED
@@ -39,33 +39,4 @@ app_port: 8004
39
 
40
  ## ๐Ÿ“ก ๆœ€็ต‚ๆ›ดๆ–ฐ
41
 
42
- Last deployed: 2025-06-08 13:50:00 UTC
43
-
44
- ## ๐Ÿ› ๏ธ GitHub Actions่จญๅฎšๆ‰‹้ †
45
-
46
- 1. **GitHubใƒชใƒใ‚ธใƒˆใƒชใ‚’ไฝœๆˆ**
47
- ```
48
- ใƒชใƒใ‚ธใƒˆใƒชๅ: fastapi_django_main_live
49
- ๅ…ฌ้–‹่จญๅฎš: Public
50
- ่ชฌๆ˜Ž: FastAPI Debug Toolbar with auto-deployment
51
- ```
52
-
53
- 2. **HF_TOKENใ‚ทใƒผใ‚ฏใƒฌใƒƒใƒˆใ‚’่จญๅฎš**
54
- - GitHubใƒชใƒใ‚ธใƒˆใƒช โ†’ Settings โ†’ Secrets and variables โ†’ Actions
55
- - New repository secret ใง `HF_TOKEN` ใ‚’่ฟฝๅŠ 
56
- - Hugging Face token ใ‚’ๅ€คใจใ—ใฆ่จญๅฎš
57
-
58
- 3. **่‡ชๅ‹•ใƒ‡ใƒ—ใƒญใ‚คใฎๅฎŸ่กŒ**
59
- - mainใƒ–ใƒฉใƒณใƒใซใƒ—ใƒƒใ‚ทใƒฅใ™ใ‚‹ใจ่‡ชๅ‹•ใƒ‡ใƒ—ใƒญใ‚ค้–‹ๅง‹
60
- - Actions ใ‚ฟใƒ–ใง้€ฒ่กŒ็Šถๆณใ‚’็ขบ่ช
61
-
62
- ## ๐Ÿ“Š ใƒ‡ใƒใƒƒใ‚ฐใƒ„ใƒผใƒซใƒใƒผๆฉŸ่ƒฝ
63
-
64
- - โœ… Laravel-style UI with gradients
65
- - โœ… SQLAlchemy query monitoring
66
- - โœ… Real-time performance tracking
67
- - โœ… Streaming response (Content-Length fixed)
68
- - โœ… Interactive toolbar (click to expand)
69
- - โœ… Request/Response analysis
70
- - โœ… Database query profiling
71
- - โœ… Memory and CPU usage tracking
 
39
 
40
  ## ๐Ÿ“ก ๆœ€็ต‚ๆ›ดๆ–ฐ
41
 
42
+ Last deployed: $(date -u '+%Y-%m-%d %H:%M:%S UTC')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app.py CHANGED
@@ -1,37 +1,38 @@
1
- import gradio as gr
 
 
 
 
2
  import os
3
- import shutil
4
- from fastapi import FastAPI
5
- from fastapi import Request
6
- from fastapi.templating import Jinja2Templates
7
- from fastapi.staticfiles import StaticFiles
8
- import requests
9
- import uvicorn
10
- from groq import Groq
11
 
12
- from fastapi import FastAPI, HTTPException, Header
13
- from pydantic import BaseModel
14
- from typing import Any, Coroutine, List
15
-
16
- from starlette.middleware.cors import CORSMiddleware
17
- from sse_starlette.sse import EventSourceResponse
18
-
19
- from groq import AsyncGroq, AsyncStream, Groq
20
- from groq.lib.chat_completion_chunk import ChatCompletionChunk
21
- from groq.resources import Models
22
- from groq.types import ModelList
23
- from groq.types.chat.completion_create_params import Message
24
-
25
- import async_timeout
26
- import asyncio
27
- from interpreter import interpreter
28
- import os
29
-
30
- GENERATION_TIMEOUT_SEC = 60
31
- import os
32
-
33
- from llamafactory.webui.interface import create_ui
 
 
 
34
 
35
  if __name__ == "__main__":
36
- uvicorn.run("mysite.asgi:app", host="0.0.0.0", port=7860)
37
- # uvicorn.run("mysite.asgi:app", host="0.0.0.0", port=7860, reload=True)
 
 
1
+ #!/usr/bin/env python3
2
+ """
3
+ Hugging Face Spaces FastAPI Debug Toolbar
4
+ GitHub Actions่‡ชๅ‹•ใƒ‡ใƒ—ใƒญใ‚ค็‰ˆ
5
+ """
6
  import os
7
+ import sys
 
 
 
 
 
 
 
8
 
9
+ # codespaces_debug.py ใ‹ใ‚‰ app ใ‚’ใ‚คใƒณใƒใƒผใƒˆ
10
+ try:
11
+ from codespaces_debug import app
12
+ print("โœ… FastAPI Debug Toolbar loaded successfully")
13
+ except ImportError as e:
14
+ print(f"โŒ Failed to import codespaces_debug: {e}")
15
+ # ใƒ•ใ‚ฉใƒผใƒซใƒใƒƒใ‚ฏ็”จใฎ็ฐกๅ˜ใชFastAPIใ‚ขใƒ—ใƒช
16
+ from fastapi import FastAPI
17
+ from fastapi.responses import HTMLResponse
18
+
19
+ app = FastAPI(title="FastAPI Debug Toolbar - Error")
20
+
21
+ @app.get("/")
22
+ async def error_page():
23
+ return HTMLResponse("""
24
+ <!DOCTYPE html>
25
+ <html>
26
+ <head><title>Debug Toolbar Error</title></head>
27
+ <body>
28
+ <h1>โŒ Error Loading Debug Toolbar</h1>
29
+ <p>Failed to load codespaces_debug.py</p>
30
+ <p>Check the logs for more details.</p>
31
+ </body>
32
+ </html>
33
+ """)
34
 
35
  if __name__ == "__main__":
36
+ import uvicorn
37
+ port = int(os.environ.get("PORT", 8004))
38
+ uvicorn.run(app, host="0.0.0.0", port=port)
codespaces_debug.py CHANGED
@@ -1,6 +1,6 @@
1
  """
2
  ๅฎŒๅ…จๅ‹•ไฝœ็‰ˆ FastAPI Debug Toolbar - ไฟฎๆญฃ็‰ˆ
3
- StreamingResponseๅฏพๅฟœใƒใƒผใ‚ธใƒงใƒณ
4
  """
5
  from fastapi import FastAPI, Request
6
  from fastapi.responses import HTMLResponse, Response
@@ -11,7 +11,14 @@ import asyncio
11
  from datetime import datetime
12
  from starlette.types import Message
13
 
14
- app = FastAPI(title="FastAPI Debug Toolbar", description="Laravel้ขจใƒ‡ใƒใƒƒใ‚ฐใƒใƒผ")
 
 
 
 
 
 
 
15
 
16
  # CORS่จญๅฎš
17
  app.add_middleware(
@@ -249,6 +256,7 @@ async def home():
249
  <a href="/api/users" class="button">๐Ÿ‘ฅ Users API</a>
250
  <a href="/debug/dashboard" class="button">๐Ÿ“Š Debug Dashboard</a>
251
  <a href="/debug/clear" class="button">๐Ÿ—‘๏ธ Clear Debug Data</a>
 
252
  </div>
253
  </div>
254
  </div>
@@ -473,6 +481,178 @@ async def clear_debug_data():
473
  debug_data["queries"].clear()
474
  return {"message": "Debug data cleared", "status": "success"}
475
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
476
  if __name__ == "__main__":
477
  import uvicorn
478
  uvicorn.run(app, host="0.0.0.0", port=8003)
 
1
  """
2
  ๅฎŒๅ…จๅ‹•ไฝœ็‰ˆ FastAPI Debug Toolbar - ไฟฎๆญฃ็‰ˆ
3
+ StreamingResponseๅฏพๅฟœใƒใƒผใ‚ธใƒงใƒณ + Hugging Face ใƒชใƒใ‚ธใƒˆใƒชๅ–ๅพ—ๆฉŸ่ƒฝ
4
  """
5
  from fastapi import FastAPI, Request
6
  from fastapi.responses import HTMLResponse, Response
 
11
  from datetime import datetime
12
  from starlette.types import Message
13
 
14
+ # Hugging Face ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใ‚’ใ‚คใƒณใƒใƒผใƒˆ
15
+ try:
16
+ from huggingface_client import HuggingFaceRepoClient
17
+ HF_CLIENT_AVAILABLE = True
18
+ except ImportError:
19
+ HF_CLIENT_AVAILABLE = False
20
+
21
+ app = FastAPI(title="FastAPI Debug Toolbar", description="Laravel้ขจใƒ‡ใƒใƒƒใ‚ฐใƒใƒผ + Hugging Face้€ฃๆบ")
22
 
23
  # CORS่จญๅฎš
24
  app.add_middleware(
 
256
  <a href="/api/users" class="button">๐Ÿ‘ฅ Users API</a>
257
  <a href="/debug/dashboard" class="button">๐Ÿ“Š Debug Dashboard</a>
258
  <a href="/debug/clear" class="button">๐Ÿ—‘๏ธ Clear Debug Data</a>
259
+ <a href="/huggingface" class="button">๐Ÿค— HF Repository</a>
260
  </div>
261
  </div>
262
  </div>
 
481
  debug_data["queries"].clear()
482
  return {"message": "Debug data cleared", "status": "success"}
483
 
484
+ @app.get("/huggingface", response_class=HTMLResponse)
485
+ async def huggingface_repo_viewer():
486
+ """Hugging Face ใƒชใƒใ‚ธใƒˆใƒชๆƒ…ๅ ฑ่กจ็คบใƒšใƒผใ‚ธ"""
487
+ if not HF_CLIENT_AVAILABLE:
488
+ return """
489
+ <html><body>
490
+ <h1>โŒ Hugging Face Client not available</h1>
491
+ <p>huggingface_client.py ใŒ่ฆ‹ใคใ‹ใ‚Šใพใ›ใ‚“</p>
492
+ </body></html>
493
+ """
494
+
495
+ mock_query("SELECT * FROM hf_repos", 0.03)
496
+
497
+ client = HuggingFaceRepoClient()
498
+ repo_id = "kenken999/fastapi_django_main_live"
499
+
500
+ # ใƒชใƒใ‚ธใƒˆใƒชๆƒ…ๅ ฑๅ–ๅพ—
501
+ repo_info = client.get_repo_info(repo_id, "space")
502
+ files = client.list_files(repo_id, "space")
503
+ commits = client.get_commit_history(repo_id, "space")
504
+
505
+ return f"""
506
+ <!DOCTYPE html>
507
+ <html>
508
+ <head>
509
+ <title>Hugging Face Repository Viewer</title>
510
+ <meta charset="utf-8">
511
+ <style>
512
+ body {{
513
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
514
+ margin: 0;
515
+ padding: 20px;
516
+ background: linear-gradient(135deg, #ff7e5f 0%, #feb47b 100%);
517
+ min-height: 100vh;
518
+ color: #333;
519
+ }}
520
+ .container {{
521
+ max-width: 1200px;
522
+ margin: 0 auto;
523
+ background: white;
524
+ border-radius: 12px;
525
+ box-shadow: 0 10px 30px rgba(0,0,0,0.2);
526
+ overflow: hidden;
527
+ }}
528
+ .header {{
529
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
530
+ color: white;
531
+ padding: 30px;
532
+ text-align: center;
533
+ }}
534
+ .header h1 {{ margin: 0; font-size: 2.5em; font-weight: 300; }}
535
+ .nav {{
536
+ background: #f8f9fa;
537
+ padding: 15px 30px;
538
+ border-bottom: 1px solid #eee;
539
+ }}
540
+ .nav a {{
541
+ color: #667eea;
542
+ text-decoration: none;
543
+ margin-right: 20px;
544
+ font-weight: 500;
545
+ transition: color 0.2s;
546
+ }}
547
+ .nav a:hover {{ color: #764ba2; }}
548
+ .content {{ padding: 30px; }}
549
+ .grid {{ display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }}
550
+ .card {{
551
+ background: #f8f9fa;
552
+ padding: 25px;
553
+ border-radius: 8px;
554
+ border-left: 4px solid #667eea;
555
+ }}
556
+ .card h3 {{ margin-top: 0; color: #667eea; }}
557
+ .info-grid {{ display: grid; grid-template-columns: auto 1fr; gap: 10px; }}
558
+ .info-label {{ font-weight: bold; color: #666; }}
559
+ .file-list {{ max-height: 300px; overflow-y: auto; }}
560
+ .file-item {{
561
+ background: white;
562
+ margin: 5px 0;
563
+ padding: 8px 12px;
564
+ border-radius: 4px;
565
+ border-left: 3px solid #28a745;
566
+ font-family: monospace;
567
+ font-size: 0.9em;
568
+ }}
569
+ .commit-item {{
570
+ background: white;
571
+ margin: 8px 0;
572
+ padding: 12px;
573
+ border-radius: 4px;
574
+ border-left: 3px solid #ffc107;
575
+ }}
576
+ .commit-title {{ font-weight: bold; color: #333; }}
577
+ .commit-date {{ color: #666; font-size: 0.9em; }}
578
+ </style>
579
+ </head>
580
+ <body>
581
+ <div class="container">
582
+ <div class="header">
583
+ <h1>๐Ÿค— Hugging Face Repository Viewer</h1>
584
+ <p>Repository: {repo_id}</p>
585
+ </div>
586
+
587
+ <div class="nav">
588
+ <a href="/">๐Ÿ  Home</a>
589
+ <a href="/api/users">๐Ÿ‘ฅ Users</a>
590
+ <a href="/debug/dashboard">๐Ÿ”ง Debug</a>
591
+ <a href="/huggingface">๐Ÿค— HF Repository</a>
592
+ </div>
593
+
594
+ <div class="content">
595
+ <div class="grid">
596
+ <div class="card">
597
+ <h3>๐Ÿ“‹ Repository Info</h3>
598
+ <div class="info-grid">
599
+ <div class="info-label">Author:</div>
600
+ <div>{repo_info.get('author', 'N/A')}</div>
601
+ <div class="info-label">Created:</div>
602
+ <div>{repo_info.get('created_at', 'N/A')[:10] if repo_info.get('created_at') != 'N/A' else 'N/A'}</div>
603
+ <div class="info-label">Modified:</div>
604
+ <div>{repo_info.get('last_modified', 'N/A')[:10] if repo_info.get('last_modified') != 'N/A' else 'N/A'}</div>
605
+ <div class="info-label">Downloads:</div>
606
+ <div>{repo_info.get('downloads', 0)}</div>
607
+ <div class="info-label">Likes:</div>
608
+ <div>{repo_info.get('likes', 0)}</div>
609
+ <div class="info-label">Files:</div>
610
+ <div>{len(files)}</div>
611
+ </div>
612
+ </div>
613
+
614
+ <div class="card">
615
+ <h3>๐Ÿ“ Files ({len(files)})</h3>
616
+ <div class="file-list">
617
+ {''.join([f'<div class="file-item">๐Ÿ“„ {file}</div>' for file in files[:20]])}
618
+ {f'<div style="text-align: center; margin-top: 10px; color: #666;">... and {len(files) - 20} more files</div>' if len(files) > 20 else ''}
619
+ </div>
620
+ </div>
621
+ </div>
622
+
623
+ <div class="card" style="margin-top: 30px;">
624
+ <h3>๐Ÿ“œ Recent Commits</h3>
625
+ {''.join([f'''
626
+ <div class="commit-item">
627
+ <div class="commit-title">{commit['title']}</div>
628
+ <div class="commit-date">{commit['date'][:10] if commit['date'] != 'N/A' else 'N/A'} by {commit['author']}</div>
629
+ </div>
630
+ ''' for commit in commits[:5]])}
631
+ </div>
632
+ </div>
633
+ </div>
634
+ </body>
635
+ </html>
636
+ """
637
+
638
+ @app.get("/huggingface/file/{file_path:path}")
639
+ async def view_hf_file(file_path: str):
640
+ """Hugging Face ใƒชใƒใ‚ธใƒˆใƒชใฎ็‰นๅฎšใƒ•ใ‚กใ‚คใƒซๅ†…ๅฎนใ‚’่กจ็คบ"""
641
+ if not HF_CLIENT_AVAILABLE:
642
+ return {"error": "Hugging Face Client not available"}
643
+
644
+ client = HuggingFaceRepoClient()
645
+ repo_id = "kenken999/fastapi_django_main_live"
646
+
647
+ content = client.read_file_content(repo_id, file_path, "space")
648
+
649
+ return {
650
+ "repo_id": repo_id,
651
+ "file_path": file_path,
652
+ "content": content,
653
+ "timestamp": datetime.now().isoformat()
654
+ }
655
+
656
  if __name__ == "__main__":
657
  import uvicorn
658
  uvicorn.run(app, host="0.0.0.0", port=8003)
requirements.txt CHANGED
@@ -1,66 +1,8 @@
1
- -i https://pypi.org/simple
2
- gradio==4.31.5
3
- open-interpreter
4
- jinja2
5
- annotated-types==0.6.0; python_version >= '3.8'
6
- anyio==4.3.0; python_version >= '3.8'
7
- async-timeout==4.0.3; python_version >= '3.7'
8
- certifi==2024.2.2; python_version >= '3.6'
9
- click==8.1.7; python_version >= '3.7'
10
- distro==1.9.0; python_version >= '3.6'
11
- fastapi==0.110.0; python_version >= '3.8'
12
- groq==0.4.1; python_version >= '3.7'
13
- h11==0.14.0; python_version >= '3.7'
14
- httpcore==1.0.4; python_version >= '3.8'
15
- httpx==0.27.0; python_version >= '3.8'
16
- idna==3.6; python_version >= '3.5'
17
- pydantic==2.6.2; python_version >= '3.8'
18
- pydantic-core==2.16.3; python_version >= '3.8'
19
- sniffio==1.3.1; python_version >= '3.7'
20
- sse-starlette==2.0.0; python_version >= '3.8'
21
- starlette==0.36.3; python_version >= '3.8'
22
- typing-extensions==4.10.0; python_version >= '3.8'
23
- uvicorn==0.27.1; python_version >= '3.8'
24
- duckdb
25
- annotated-types==0.6.0 ; python_version >= "3.10" and python_version < "4.0"
26
- anyio==4.3.0 ; python_version >= "3.10" and python_version < "4.0"
27
- asgiref==3.8.1 ; python_version >= "3.10" and python_version < "4.0"
28
- click==8.1.7 ; python_version >= "3.10" and python_version < "4.0"
29
- colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows"
30
- django==5.0.4 ; python_version >= "3.10" and python_version < "4.0"
31
- exceptiongroup==1.2.0 ; python_version >= "3.10" and python_version < "3.11"
32
- h11==0.14.0 ; python_version >= "3.10" and python_version < "4.0"
33
- idna ; python_version >= "3.10" and python_version < "4.0"
34
- #psycopg2==2.9.9 ; python_version >= "3.10" and python_version < "4.0"
35
- pydantic-core==2.16.3 ; python_version >= "3.10" and python_version < "4.0"
36
- #pydantic==2.6.4 ; python_version >= "3.10" and python_version < "4.0"
37
- sniffio==1.3.1 ; python_version >= "3.10" and python_version < "4.0"
38
- sqlparse==0.5.0 ; python_version >= "3.10" and python_version < "4.0"
39
- starlette ; python_version >= "3.10" and python_version < "4.0"
40
- typing-extensions ; python_version >= "3.10" and python_version < "4.0"
41
- tzdata==2024.1 ; python_version >= "3.10" and python_version < "4.0" and sys_platform == "win32"
42
- uvloop==0.19.0 ; python_version >= "3.10" and python_version < "4.0" and sys_platform != "win32"
43
- whitenoise==6.6.0 ; python_version >= "3.10" and python_version < "4.0"
44
- llamafactory
45
- #gradio==4.31.5
46
- aiofiles
47
- diffusers
48
- psycopg2-binary
49
- accelerate
50
- #git+https://github.com/huggingface/diffusers@9dc8444
51
- #gradio==3.23.0
52
- huggingface-hub
53
- imageio[ffmpeg]
54
- torch
55
- torchvision
56
- transformers>=4.41.2
57
- langchain
58
- langchain_groq
59
- sqlalchemy
60
- sentence-transformers
61
- google-auth
62
- google-auth-oauthlib
63
- google-auth-httplib2
64
- google-api-python-client
65
- line-bot-sdk
66
- gradio_client
 
1
+ fastapi==0.109.2
2
+ uvicorn[standard]==0.24.0
3
+ starlette==0.36.3
4
+ sqlalchemy==1.4.48
5
+ python-multipart==0.0.6
6
+ jinja2==3.1.2
7
+ python-jose[cryptography]==3.3.0
8
+ passlib[bcrypt]==1.7.4