


Tutorial ini menunjukkan membina penyemak permintaan tarik AI sedia pengeluaran menggunakan amalan terbaik LLMOps. Aplikasi akhir, boleh diakses di sini, menerima URL PR awam dan mengembalikan ulasan yang dijana AI.
Gambaran Keseluruhan Aplikasi
Tutorial ini merangkumi:
- Pembangunan Kod: Mendapatkan semula PR berbeza daripada GitHub dan memanfaatkan LiteLLM untuk interaksi LLM.
- Kebolehcerap: Melaksanakan Agenta untuk pemantauan dan penyahpepijatan aplikasi.
- Kejuruteraan Segera: Mengulang pada gesaan dan pemilihan model menggunakan taman permainan Agenta.
- Penilaian LLM: Menggunakan LLM-sebagai-hakim untuk penilaian segera dan model.
- Pengerahan: Menggunakan aplikasi sebagai API dan mencipta UI mudah dengan v0.dev.
Logik Teras
Aliran kerja pembantu AI adalah mudah: diberikan URL PR, ia mendapatkan semula perbezaan daripada GitHub dan menyerahkannya kepada LLM untuk semakan.
Perbezaan GitHub diakses melalui:
<code>https://patch-diff.githubusercontent.com/raw/{owner}/{repo}/pull/{pr_number}.diff</code>
Fungsi Python ini mengambil perbezaan:
def get_pr_diff(pr_url): # ... (Code remains the same) return response.text
LiteLLM memudahkan interaksi LLM, menawarkan antara muka yang konsisten merentas pelbagai pembekal.
prompt_system = """ You are an expert Python developer performing a file-by-file review of a pull request. You have access to the full diff of the file to understand the overall context and structure. However, focus on reviewing only the specific hunk provided. """ prompt_user = """ Here is the diff for the file: {diff} Please provide a critique of the changes made in this file. """ def generate_critique(pr_url: str): diff = get_pr_diff(pr_url) response = litellm.completion( model=config.model, messages=[ {"content": config.system_prompt, "role": "system"}, {"content": config.user_prompt.format(diff=diff), "role": "user"}, ], ) return response.choices[0].message.content
Melaksanakan Kebolehmerhatian dengan Agenta
Agenta meningkatkan kebolehmerhatian, menjejak input, output dan aliran data untuk penyahpepijatan yang lebih mudah.
Mulakan Agenta dan konfigurasikan panggilan balik LiteLLM:
import agenta as ag ag.init() litellm.callbacks = [ag.callbacks.litellm_handler()]
Fungsi instrumen dengan penghias Agenta:
@ag.instrument() def generate_critique(pr_url: str): # ... (Code remains the same) return response.choices[0].message.content
Tetapkan AGENTA_API_KEY
pembolehubah persekitaran (diperolehi daripada Agenta) dan secara pilihan AGENTA_HOST
untuk pengehosan sendiri.
Mencipta Taman Permainan LLM
Ciri aliran kerja tersuai Agenta menyediakan taman permainan seperti IDE untuk pembangunan berulang. Coretan kod berikut menunjukkan konfigurasi dan penyepaduan dengan Agenta:
from pydantic import BaseModel, Field from typing import Annotated import agenta as ag import litellm from agenta.sdk.assets import supported_llm_models # ... (previous code) class Config(BaseModel): system_prompt: str = prompt_system user_prompt: str = prompt_user model: Annotated[str, ag.MultipleChoice(choices=supported_llm_models)] = Field(default="gpt-3.5-turbo") @ag.route("/", config_schema=Config) @ag.instrument() def generate_critique(pr_url:str): diff = get_pr_diff(pr_url) config = ag.ConfigManager.get_from_route(schema=Config) response = litellm.completion( model=config.model, messages=[ {"content": config.system_prompt, "role": "system"}, {"content": config.user_prompt.format(diff=diff), "role": "user"}, ], ) return response.choices[0].message.content
Melayan dan Menilai dengan Agenta
- Jalankan
agenta init
menyatakan nama apl dan kunci API. - Lari
agenta variant serve app.py
.
Ini menjadikan aplikasi boleh diakses melalui taman permainan Agenta untuk ujian hujung ke hujung. LLM-sebagai-hakim digunakan untuk penilaian. Gesaan penilai ialah:
<code>You are an evaluator grading the quality of a PR review. CRITERIA: ... (criteria remain the same) ANSWER ONLY THE SCORE. DO NOT USE MARKDOWN. DO NOT PROVIDE ANYTHING OTHER THAN THE NUMBER</code>
Gesaan pengguna untuk penilai:
<code>https://patch-diff.githubusercontent.com/raw/{owner}/{repo}/pull/{pr_number}.diff</code>
Pengerahan dan Frontend
Pengerahan dilakukan melalui UI Agenta:
- Navigasi ke halaman gambaran keseluruhan.
- Klik tiga titik di sebelah varian yang dipilih.
- Pilih "Kerahkan ke Pengeluaran".
Halaman hadapan v0.dev telah digunakan untuk penciptaan UI yang pantas.
Langkah dan Kesimpulan Seterusnya
Peningkatan masa hadapan termasuk penghalusan segera, menggabungkan konteks kod penuh dan mengendalikan perbezaan yang besar. Tutorial ini berjaya menunjukkan membina, menilai dan menggunakan penyemak permintaan tarik AI sedia pengeluaran menggunakan Agenta dan LiteLLM.
Atas ialah kandungan terperinci Bina pembantu semakan kod AI dengan vev, litellm dan Agenta. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Arraysinpython, terutamanya yang, arecrucialinscientificificputingputingfortheirefficiencyandversatility.1) mereka yang digunakan untuk

Anda boleh menguruskan versi python yang berbeza dengan menggunakan Pyenv, Venv dan Anaconda. 1) Gunakan pyenv untuk menguruskan pelbagai versi python: Pasang pyenv, tetapkan versi global dan tempatan. 2) Gunakan VENV untuk mewujudkan persekitaran maya untuk mengasingkan kebergantungan projek. 3) Gunakan Anaconda untuk menguruskan versi python dalam projek sains data anda. 4) Simpan sistem python untuk tugas peringkat sistem. Melalui alat dan strategi ini, anda dapat menguruskan versi Python yang berbeza untuk memastikan projek yang lancar.

Numpyarrayshaveseveraladvantagesoverstanderardpythonarrays: 1) thearemuchfasterduetoc-assedimplementation, 2) thearemorememory-efficient, antyedlargedataSets, and3) theyofferoptimized, vectorizedfuncionsformathhematicalicalicalicialisation

Kesan homogenitas tatasusunan pada prestasi adalah dwi: 1) homogenitas membolehkan pengkompil untuk mengoptimumkan akses memori dan meningkatkan prestasi; 2) tetapi mengehadkan kepelbagaian jenis, yang boleh menyebabkan ketidakcekapan. Singkatnya, memilih struktur data yang betul adalah penting.

ToCraftExecutablePythonscripts, ikutiTheseBestPractics: 1) addAshebangline (#!/Usr/bin/envpython3) tomakethescriptexecutable.2) setpermissionswithchmod xyour_script.py.3)

Numpyarraysarebetterfornumericationsoperationsandmulti-dimensialdata, whiletheArrayModuleissuitiableforbasic, ingatan-efisienArrays.1) numpyexcelsinperformanceandfunctionalityforlargedatasetsandcomplexoperations.2) thearrayModeMoremoremory-efficientModeMoremoremoremory-efficientModeMoremoremoremory-efficenceismemoremoremoremoremoremoremoremory-efficenceismemoremoremoremoremorem

NumpyarraysareBetterforheavynumericalcomputing, whilethearraymoduleismoresuitifFormemory-constrainedprojectswithsimpledatypes.1) numpyarraysofferversativilityandperformanceForlargedATAsetSandcomplexoperations.2)

ctypesallowscreatingandmanipulatingc-stylearraysinpython.1) usectypestointerwithclibrariesforperformance.2) createec-stylearraysfornumericalcomputations.3) Passarraystocfuntionsforficientsoperations.however, becautiousofmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmemmem


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft
