Skip to content

Ihorog/workflow-

Repository files navigation

ChatGPT Integration

Опис

Цей проект дозволяє інтегрувати OpenAI GPT у GitHub Actions для автоматизації запитів.

Як використовувати

  1. Додайте свій API-ключ OpenAI у Secrets (OPENAI_API_KEY).
  2. Запустіть workflow через вкладку Actions.
  3. Використовуйте файл bot.py для взаємодії з GPT.

Налаштування

  • Встановіть залежності: pip install -r requirements.txt.
  • Встановіть змінну оточення GITHUB_TOKEN зі своїм GitHub Personal Access Token.

Стан проекту

Проект налаштований для інтеграції OpenAI GPT у GitHub Actions для автоматизації запитів. Репозиторій містить кілька робочих процесів GitHub Actions, включаючи github-actions-demo.yml, .github/workflows/main.yml та chatgpt.yml. Скрипт bot.py взаємодіє з GitHub API для переліку, створення та видалення файлів у репозиторії. Залежності для проекту вказані у файлі requirements.txt, який включає пакет openai. Проект налаштований для роботи на ubuntu-latest і використовує Python 3.8.

Поточні робочі процеси

  • github-actions-demo.yml: Демонстрація можливостей GitHub Actions.
  • .github/workflows/main.yml: Основний робочий процес для управління застарілими проблемами та запитами на отримання.
  • chatgpt.yml: Робочий процес для запуску скрипту ChatGPT.

Детальні інструкції

  1. Встановлення залежностей: Виконайте команду pip install -r requirements.txt для встановлення всіх необхідних пакетів.
  2. Налаштування API-ключа: Додайте свій API-ключ OpenAI у Secrets (OPENAI_API_KEY) вашого репозиторію.
  3. Запуск workflow: Перейдіть на вкладку Actions у вашому репозиторії та запустіть необхідний workflow.
  4. Використання скрипту: Використовуйте файл bot.py для взаємодії з GPT. Скрипт дозволяє перераховувати, створювати та видаляти файли у вашому репозиторії.
  5. Запуск CLI: Для інтерактивного режиму виконайте python -m bot run-cli або python bot.py --cli.

FAQ

  1. Як додати API-ключ у Secrets?

    • Перейдіть на вкладку Settings вашого репозиторію.
    • Виберіть Secrets у меню зліва.
    • Натисніть кнопку "New repository secret" та додайте ваш API-ключ з іменем OPENAI_API_KEY.
  2. Як запустити workflow вручну?

    • Перейдіть на вкладку Actions у вашому репозиторії.
    • Виберіть необхідний workflow зі списку.
    • Натисніть кнопку "Run workflow" та виберіть гілку, на якій ви хочете запустити workflow.

Приклади коду

import requests
import os

# GitHub API details
GITHUB_API = "https://api.github.com"
REPO = "Ihorog/2.0"
TOKEN = os.getenv("GITHUB_TOKEN")

headers = {
    "Authorization": f"Bearer {TOKEN}",
    "Accept": "application/vnd.github.v3+json"
}

def list_files():
    url = f"{GITHUB_API}/repos/{REPO}/contents"
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        return [item["name"] for item in response.json()]
    return response.json()

def create_file(file_path, content):
    url = f"{GITHUB_API}/repos/{REPO}/contents/{file_path}"
    data = {
        "message": f"Add {file_path}",
        "content": content.encode("base64").decode()
    }
    response = requests.put(url, json=data, headers=headers)
    return response.json()

def delete_file(file_path, sha):
    url = f"{GITHUB_API}/repos/{REPO}/contents/{file_path}"
    data = {
        "message": f"Delete {file_path}",
        "sha": sha
    }
    response = requests.delete(url, json=data, headers=headers)
    return response.json()

if __name__ == "__main__":
    print("Welcome to GitHub Chat Integration!")
    while True:
        command = input("Enter a command (list files, create file, delete file, exit): ").strip().lower()
        if command == "list files":
            files = list_files()
            print("Files in repository:", files)
        elif command.startswith("create file"):
            _, file_name = command.split(" ", 2)
            content = input("Enter file content: ")
            result = create_file(file_name, content)
            print("File created:", result)
        elif command.startswith("delete file"):
            _, file_name = command.split(" ", 2)
            sha = input("Enter file SHA: ")
            result = delete_file(file_name, sha)
            print("File deleted:", result)
        elif command == "exit":
            print("Goodbye!")
            break

Приклад запуску CLI

python -m bot run-cli
# або
python bot.py --cli

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages