Auto-GPT adalah alat AI open-source yang memanfaatkan API GPT-4 atau GPT-3.5 dari OpenAI untuk mencapai tujuan yang ditentukan pengguna yang diekspresikan dalam bahasa alami. Ini melakukan ini dengan membedah tugas utama menjadi komponen yang lebih kecil dan secara mandiri memanfaatkan berbagai sumber daya dalam proses siklik.
Dalam panduan ini, kami akan mengeksplorasi berbagai fitur autogpt dan menguraikan praktik dan tip terbaik untuk memanfaatkan autogpt untuk pengkodean.
git clone https://github.com/significant-gravitas/auto-gpt.git di terminal Anda atau dengan mengklik tombol "kode" pada halaman repositori dan mengunduh file zip.autogpt --version . Anda akan melihat nomor versi yang ditampilkan di terminal.Anda juga dapat menggunakan lingkungan virtual untuk mengandung pemasangan autogpt, dan untuk memastikan Anda tidak mengalami kesalahan saat menginstal dependensi atau menjalankan autogpt.
Pastikan untuk memperbarui '.env' dengan konfigurasi Anda sendiri dan kunci API Anda sendiri. File tersebut berisi setiap API yang mungkin Anda butuhkan. Anda dapat membuat beberapa jika Anda tidak akan menggunakannya seperti untuk pembuatan gambar namun pastikan Anda memiliki:
Kunci API OpenAI - Kunci ini diperlukan untuk menggunakan API OpenAI yang autogpt dibangun di atas. Anda bisa mendapatkan kunci API dengan mendaftar untuk program API OpenAI:
Github_api_key - Kunci ini diperlukan untuk mengotorisasi akses Anda ke Github API. Anda bisa mendapatkan kunci ini dengan mengikuti langkah -langkah di situs web GitHub.
GitHub_username Anda
Anda dapat menambahkan semua API di sini. '.env' adalah penjelasan diri setelah Anda mendapatkan kunci ini, Anda perlu mengedit file .env di repositori dan menambahkan tombol API yang tercantum di atas.
Perhatikan juga di bawah ini:
Anda perlu mengedit file .env di repositori dan menambahkan tombol API yang tercantum di atas. Ini karena tombol API adalah informasi sensitif yang tidak boleh dimodelkan ke dalam aplikasi.
Anda juga perlu menambahkan prompt Anda sendiri ke file prompts.json untuk membuat autogpt lebih berguna untuk kasus penggunaan khusus Anda. Prompt yang disediakan dalam repositori adalah petunjuk umum yang mungkin tidak berlaku untuk proyek Anda. Dengan menambahkan petunjuk Anda sendiri, Anda dapat melatih Autogpt untuk menghasilkan tanggapan yang disesuaikan dengan kasing khusus Anda.
Untuk meminta autogpt, gunakan perintah python -m autogpt di terminal Anda. Pastikan Anda berada di jalan yang benar. Jika tidak, atur dengan 'jalur CD'
Untuk hasil terbaik, pastikan petunjuk Anda spesifik dan terdefinisi dengan baik. Ini akan memberi Autogpt pemahaman yang jelas tentang apa yang Anda coba capai dan bantu menghasilkan respons yang lebih akurat.
Saat meninjau tanggapan model, perlu diingat bahwa autogpt adalah model bahasa dan bukan manusia. Dengan demikian, dapat menghasilkan respons yang tidak sepenuhnya akurat atau cocok untuk kasus penggunaan Anda. Terserah Anda untuk meninjau tanggapan dan membuat modifikasi yang diperlukan.
Cara lain untuk menggunakan Autogpt adalah dengan mengintegrasikannya ke dalam kode Anda. Anda dapat melihat perintah di folder yang dikloning dan menggunakannya untuk menghasilkan respons secara terprogram. Ini bisa berguna jika Anda ingin menghasilkan tanggapan dalam konteks tertentu.
Berikut adalah beberapa cara terbaik untuk menggunakan autogpt untuk rekayasa cepat:
Dekorator @command digunakan untuk menentukan perintah khusus. Dibutuhkan tiga argumen:
name : Nama perintah.description : Deskripsi singkat dari perintah tersebut.params : String yang mewakili parameter yang diharapkan untuk perintah. Berikut adalah contoh menggunakan dekorator @command untuk menentukan perintah khusus yang disebut execute_python_file :
@ command ( "execute_python_file" , "Execute Python File" , '"filename": "<filename>"' )
def execute_python_file ( filename : str ) -> str :
# Implementation of the command Untuk menjalankan perintah shell, Anda dapat menggunakan modul subprocess . Berikut adalah dua metode untuk menjalankan perintah shell:
subprocess.run() :Metode ini menjalankan perintah dan menunggu untuk menyelesaikannya. Ini mengembalikan output (stdout dan stderr) dari perintah.
result = subprocess . run ( command_line , capture_output = True , shell = True )
output = f"STDOUT: n { result . stdout } n STDERR: n { result . stderr } " subprocess.Popen() :Metode ini meluncurkan perintah sebagai proses terpisah dan segera kembali. Ini bisa berguna untuk menjalankan perintah non-blocking.
process = subprocess . Popen (
command_line , shell = True , stdout = subprocess . DEVNULL , stderr = subprocess . DEVNULL
)
return f"Subprocess started with PID:' { str ( process . pid ) } '" Untuk membuat perintah khusus yang mengeksekusi perintah shell, Anda dapat menggunakan dekorator @command bersama dengan metode subprocess :
@ command ( "execute_shell" , "Execute Shell Command" , '"command_line": "<command_line>"' )
def execute_shell ( command_line : str ) -> str :
result = subprocess . run ( command_line , capture_output = True , shell = True )
output = f"STDOUT: n { result . stdout } n STDERR: n { result . stderr } "
return output Modul analyze_code dirancang untuk menganalisis cuplikan kode yang diberikan dan memberikan saran untuk perbaikan. Ini menggunakan dekorator @command untuk menentukan perintah khusus yang disebut analyze_code . Fungsi mengambil string yang berisi kode yang akan dianalisis dan mengembalikan daftar saran.
Berikut penjelasan yang disederhanakan dari kode:
analyze_code dengan dekorator @command : @ command ( "analyze_code" , "Analyze Code" , '"code": "<full_code_string>"' )
def analyze_code ( code : str ) -> list [ str ]: function_string = "def analyze_code(code: str) -> list[str]:"
args = [ code ]
description_string = (
"Analyzes the given code and returns a list of suggestions for improvements."
) return call_ai_function ( function_string , args , description_string ) Fungsi improve_code dirancang untuk meningkatkan cuplikan kode yang diberikan berdasarkan daftar saran yang disediakan. Ia menggunakan dekorator @command untuk menentukan perintah khusus yang disebut improve_code . Fungsi ini mengambil daftar saran dan string yang berisi kode yang akan ditingkatkan, dan mengembalikan string kode baru dengan perbaikan yang disarankan yang diterapkan.
Berikut penjelasan yang disederhanakan dari kode:
improve_code dengan dekorator @command : @ command ( "improve_code" , "Get Improved Code" , '"suggestions": "<list_of_suggestions>", "code": "<full_code_string>"' )
def improve_code ( suggestions : list [ str ], code : str ) -> str : function_string = "def generate_improved_code(suggestions: list[str], code: str) -> str:"
args = [ json . dumps ( suggestions ), code ]
description_string = (
"Improves the provided code based on the suggestions"
" provided, making no other changes."
) return call_ai_function ( function_string , args , description_string ) Untuk menggunakan fungsi improve_code , lulus daftar saran dan string yang berisi cuplikan kode yang ingin Anda tingkatkan:
suggestions = [
"Replace the print statement with a return statement." ,
"Add type hints to the function."
]
code_to_improve = '''
def some_function():
print("Hello, World!")
'''
improved_code = improve_code ( suggestions , code_to_improve )
print ( improved_code ) Fungsi improve_code kemudian akan memanggil fungsi AI, yang pada gilirannya menggunakan API OpenAI untuk menerapkan perbaikan yang disarankan pada kode dan menghasilkan versi kode baru yang ditingkatkan. Perhatikan bahwa kualitas peningkatan tergantung pada pemahaman model bahasa tentang saran dan kemampuannya untuk menerapkannya dengan benar.
prompt = "Generate documentation for the function 'Function name'"
generator = response = openai.Completion.create(
engine=engine,
prompt=prompt,
max_tokens=150,
n=1,
stop=None,
temperature=1.2,
presence_penalty=0.5,
frequency_penalty=0.5,
)
Gunakan fungsi improve_code untuk debugging, Anda dapat mengikuti langkah -langkah di bawah ini:
Identifikasi masalah atau bug dalam kode Anda. Anda dapat melakukan ini secara manual, atau Anda dapat menggunakan alat seperti linter, penganalisa statis, atau debugger untuk membantu menentukan masalah.
Buat daftar saran berdasarkan masalah yang diidentifikasi. Setiap saran harus menjelaskan cara memperbaiki masalah atau bug tertentu dalam kode.
Hubungi fungsi improve_code , melewati daftar saran dan cuplikan kode dengan masalah sebagai argumen:
suggestions = [
"Fix the IndexError by using a conditional statement." ,
"Handle the ZeroDivisionError exception."
]
buggy_code = '''
def buggy_function(a, b):
result = a / b
return result
def another_buggy_function(lst):
return lst[0]
'''
improved_code = improve_code ( suggestions , buggy_code )
print ( improved_code )improve_code . Pastikan perbaikan yang dihasilkan AI selaras dengan saran Anda dan memperbaiki masalah yang diidentifikasi dengan benar. Pastikan kode yang ditingkatkan berfungsi seperti yang diharapkan. - Choose the search function: `google_search` for DuckDuckGo or `google_official_search` for the official Google API.
- Call the chosen function with your search query:
```python
query = "example search query"
num_results = 5
# Perform the search using DuckDuckGo
search_results = google_search(query, num_results)
print(search_results)
# Or, perform the search using the official Google API
# search_results = google_official_search(query, num_results)
# print(search_results)
Fungsi mengembalikan daftar URL hasil pencarian yang cocok dengan kueri yang diberikan. Pastikan Anda memiliki API Google yang disimpan di Secrets.json
Hubungi fungsi browse_website dengan URL situs web yang ingin Anda gosok dan pertanyaan yang terkait dengan konten yang Anda cari:
url = "https://example.com"
question = "What is the main purpose of the website?"
answer_and_links = browse_website ( url , question )
print ( answer_and_links ) Fungsi browse_website menggunakan scrape_text_with_selenium untuk mengikis konten teks situs web dan scrape_links_with_selenium untuk mengekstrak tautan.
list_files dengan direktori yang ingin Anda cari: directory = "path/to/directory"
all_files = list_files ( directory ) search_criteria = "example"
matching_files = [ file for file in all_files if search_criteria in file ]
print ( matching_files ) Dalam contoh ini, matching_files akan berisi daftar semua file di direktori yang ditentukan (dan subdirektori) yang memiliki string search_criteria dalam nama mereka. Ubah kondisi penyaringan sesuai kebutuhan untuk mencocokkan persyaratan pencarian spesifik Anda.
Autogpt memiliki fungsi clone_repository yang memungkinkan Anda mengkloning repositori git dari URL yang diberikan ke direktori lokal di mesin Anda. Untuk meminta untuk input dan mengkloning repositori git menggunakan fungsi clone_repository , ikuti langkah -langkah ini:
repo_url = "repository URL"
clone_path = "the path to clone the repository"clone_repository dengan URL dan Path yang disediakan: result = clone_repository ( repo_url , clone_path ) Kode ini memanggil fungsi clone_repository , yang mengkloning repositori menggunakan kredensial otentikasi GitHub yang disediakan dari objek Config .
Gunakan Autogpt untuk menghasilkan komentar deskriptif untuk kode Anda secara otomatis. Ini dapat membantu membuat kode Anda lebih mudah dibaca dan lebih mudah dipahami, terutama untuk anggota tim yang mungkin tidak terbiasa dengan basis kode.
Gunakan Autogpt untuk menghasilkan kode boilerplate untuk proyek Anda. Misalnya, Anda dapat menggunakan Autogpt untuk menghasilkan kode untuk mengatur pencatatan, membuat file konfigurasi, atau menginisialisasi database.
Gunakan Autogpt untuk menghasilkan kasus uji untuk kode Anda. Ini dapat membantu memastikan bahwa kode Anda berfungsi seperti yang diharapkan dan bahwa setiap perubahan yang Anda lakukan pada kode tidak memperkenalkan bug baru.
Gunakan Autogpt untuk menghasilkan dokumentasi untuk proyek Anda. Autogpt dapat menghasilkan dokumentasi API, panduan pengguna, dan jenis dokumentasi lainnya secara otomatis, menghemat waktu dan upaya Anda.
Autogpt adalah alat yang ampuh yang dapat membantu Anda dalam pengkodean dan rekayasa cepat. Ini dapat menghasilkan cuplikan kode, memeriksa sintaks kode, meningkatkan kode, menghasilkan kasus uji, menghasilkan dokumentasi dan menjalankan file python. Dengan menggunakan Autogpt, Anda dapat menghemat waktu dan meningkatkan produktivitas.