亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Rumah pembangunan bahagian belakang Tutorial Python Mengoptimumkan GPT-mini OpenAI untuk Mengesan Teks Dijana AI Menggunakan DSPy

Mengoptimumkan GPT-mini OpenAI untuk Mengesan Teks Dijana AI Menggunakan DSPy

Nov 24, 2024 am 06:46 AM

Mengesan teks yang dijana AI telah menjadi topik hangat, dengan penyelidik dan pengamal membahaskan kebolehlaksanaan dan implikasi etikanya. Apabila model berkembang dengan lebih canggih, membezakan antara teks tulisan manusia dan teks yang dijana AI menjadi satu cabaran yang menarik dan keperluan kritikal.

Dalam siaran ini, kami akan meneroka cara memanfaatkan keupayaan pengoptimuman DSPy untuk memperhalusi GPT-4o-mini OpenAI untuk tugas ini menggunakan set data menarik sebanyak 1.39 juta sampel teks. Pada akhirnya, anda akan tahu cara untuk melaksanakan, menilai dan mengoptimumkan pengesan teks AI asas menggunakan DSPy—tiada kejuruteraan segera manual diperlukan.


Pemuatan Set Data

Mula-mula, mari muatkan set data, yang mengandungi sampel teks yang dilabelkan sebagai sama ada tulisan manusia atau AI yang dijana daripada pelbagai sumber manusia dan LLM. Untuk bermula, pastikan anda telah memasang Python 3, bersama-sama dengan pustaka set data DSPy dan muka peluk:

pip install dspy datasets

Saiz set data adalah lebih kurang 2GB, jadi bergantung pada kelajuan internet anda, langkah ini mungkin mengambil masa beberapa minit.

Berikut ialah kod untuk memuatkan dan membahagikan set data secara sama rata untuk latihan dan ujian:

from datasets import load_dataset

# Load the dataset
ds = load_dataset("artem9k/ai-text-detection-pile", split="train")

# For simplicity, we’ll do an even split of data for testing and training
NUM_EXAMPLES = 80  # Adjust this to experiment with dataset size
ds = ds.train_test_split(test_size=NUM_EXAMPLES, train_size=NUM_EXAMPLES)

Petua: Anda boleh melaraskan NUM_EXAMPLES untuk mencuba set data yang lebih besar atau untuk mengurangkan kos semasa menjalankan pengoptimuman.


Persediaan Model

Seterusnya, kami akan mencipta peramal DSPy asas menggunakan GPT-4o-mini OpenAI. GPT-4o-mini ialah versi ringan model GPT-4o OpenAI, menjadikannya menjimatkan kos untuk percubaan. DSPy memudahkan proses ini dengan menggunakan tandatangan, yang mentakrifkan pemetaan input-output berstruktur.

Ganti "YOUR_API_KEY" dengan kunci API OpenAI anda sebelum menjalankan kod:

import dspy
from typing import Literal

# Initialize the OpenAI GPT-4o-mini model
lm = dspy.LM('openai/gpt-4o-mini', api_key="YOUR_API_KEY")
dspy.configure(lm=lm, experimental=True)

# Define the AI text detector signature
class DetectAiText(dspy.Signature):
    """Classify text as written by human or by AI."""
    text: str = dspy.InputField()
    source: Literal['ai', 'human'] = dspy.OutputField()

# Create a basic predictor
detector = dspy.Predict(DetectAiText)

Perhatikan bahawa kami tidak melakukan sebarang kejuruteraan segera di sini. Sebaliknya, kami bergantung pada DSPy untuk mengendalikannya, serta perhubungan input-output secara automatik.

Anda boleh menguji "pengesan" dengan beberapa input sampel:

print(detector(text="Hello world (this definitely wasn't written by AI)"))

Ramalan akan muncul dalam medan 'sumber' output.


Menilai Pengesan

Sekarang kita mempunyai pengesan asas, mari kita nilai prestasinya menggunakan alat penilaian DSPy. Untuk ini, kami akan mentakrifkan metrik mudah yang menyemak sama ada model meramalkan sumber teks dengan betul (manusia atau AI).

Berikut ialah kod untuk menyediakan dan menjalankan penilaian:

from dspy.evaluate import Evaluate

# Define a simple evaluation metric
def validate_text_source(example: dspy.Example, pred, trace=None) -> int:
    return 1 if example.source.lower() == pred.source.lower() else 0

# Transform the dataset into DSPy-compatible "Example" objects
dspy_trainset = [
    dspy.Example(source=x['source'], text=x['text']).with_inputs('text') for x in ds['train']
]
dspy_devset = [
    dspy.Example(source=x['source'], text=x['text']).with_inputs('text') for x in ds['test']
]

# Evaluate the detector
evaluator = Evaluate(devset=dspy_devset, num_threads=12)  # Adjust threads based on your system
evaluator(detector, metric=validate_text_source)

Dalam ujian awal saya, saya mencapai ketepatan 76%–81%. Harap maklum bahawa keputusan mungkin berbeza-beza disebabkan oleh pensampelan rawak set data.

Optimizing OpenAI’s GPT-mini to Detect AI-Generated Text Using DSPy


Mengoptimumkan dengan DSPy

Kuasa sebenar DSPy terletak pada keupayaan pengoptimumannya. Dengan menggunakan pengoptimum MIPROv2, kami boleh meningkatkan prestasi pengesan tanpa mengubah gesaan secara manual. Pengoptimum mengautomasikan proses ini menggunakan contoh beberapa tangkapan, templat dinamik dan teknik penyeliaan sendiri.

Berikut ialah cara untuk menyediakan dan menjalankan pengoptimum:

pip install dspy datasets

Nota: Kos untuk pengoptimuman tunggal dijalankan dengan pratetap "ringan" biasanya kurang daripada $0.50 untuk set data sebanyak 80 contoh.


Keputusan dan Lelaran

Selepas menjalankan pengoptimuman, saya melihat peningkatan prestasi yang ketara. Larian pertama saya mencapai ketepatan 91.25%, berbanding 76%–81% garis dasar. Larian seterusnya berjulat antara 81.2% dan 91.25%, menunjukkan peningkatan yang konsisten dengan usaha yang minimum.

Optimizing OpenAI’s GPT-mini to Detect AI-Generated Text Using DSPy

Untuk memuatkan model yang dioptimumkan untuk kegunaan selanjutnya:

from datasets import load_dataset

# Load the dataset
ds = load_dataset("artem9k/ai-text-detection-pile", split="train")

# For simplicity, we’ll do an even split of data for testing and training
NUM_EXAMPLES = 80  # Adjust this to experiment with dataset size
ds = ds.train_test_split(test_size=NUM_EXAMPLES, train_size=NUM_EXAMPLES)

Anda boleh mengulang lagi dengan:

  • Melaraskan parameter auto pengoptimum (ringan, sederhana, berat) atau menetapkan sendiri parameter hiper.
  • Meningkatkan saiz set data untuk latihan dan penilaian.
  • Ujian dengan LLM yang lebih maju atau dikemas kini.

Kesimpulan

Hanya dalam beberapa langkah, kami menunjukkan cara DSPy memudahkan pengoptimuman LLM untuk kes penggunaan dunia sebenar. Tanpa sebarang kejuruteraan segera manual, kami mencapai peningkatan yang boleh diukur dalam mengesan teks yang dijana AI. Walaupun model ini tidak sempurna, fleksibiliti DSPy membolehkan lelaran berterusan, menjadikannya alat yang berharga untuk pembangunan AI berskala.

Saya sangat mengesyorkan pembacaan dokumentasi DSPy dan percubaan dengan pengoptimum lain dan corak LLM.


Kod penuh tersedia di GitHub.

Soalan? Komen? Beritahu saya, saya tidak sabar untuk melihat apa yang anda bina dengan DSPy!

Anda boleh mencari saya di LinkedIn | CTO & Rakan Kongsi @ EES.

Atas ialah kandungan terperinci Mengoptimumkan GPT-mini OpenAI untuk Mengesan Teks Dijana AI Menggunakan DSPy. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1488
72
Polimorfisme dalam kelas python Polimorfisme dalam kelas python Jul 05, 2025 am 02:58 AM

Polimorfisme adalah konsep teras dalam pengaturcaraan berorientasikan objek Python, merujuk kepada "satu antara muka, pelbagai pelaksanaan", yang membolehkan pemprosesan bersatu pelbagai jenis objek. 1. Polimorfisme dilaksanakan melalui penulisan semula kaedah. Subkelas boleh mentakrifkan semula kaedah kelas induk. Sebagai contoh, kaedah bercakap () kelas haiwan mempunyai pelaksanaan yang berbeza dalam subkelas anjing dan kucing. 2. Penggunaan praktikal polimorfisme termasuk memudahkan struktur kod dan meningkatkan skalabilitas, seperti memanggil kaedah cabutan () secara seragam dalam program lukisan grafik, atau mengendalikan tingkah laku umum watak -watak yang berbeza dalam pembangunan permainan. 3. Polimorfisme pelaksanaan Python perlu memenuhi: Kelas induk mentakrifkan kaedah, dan kelas kanak -kanak mengatasi kaedah, tetapi tidak memerlukan warisan kelas induk yang sama. Selagi objek melaksanakan kaedah yang sama, ini dipanggil "jenis itik". 4. Perkara yang perlu diperhatikan termasuk penyelenggaraan

Terangkan penjana python dan iterators. Terangkan penjana python dan iterators. Jul 05, 2025 am 02:55 AM

Iterator adalah objek yang melaksanakan kaedah __iter __ () dan __Next __ (). Penjana adalah versi Iterator yang dipermudahkan, yang secara automatik melaksanakan kaedah ini melalui kata kunci hasil. 1. Iterator mengembalikan elemen setiap kali dia memanggil seterusnya () dan melemparkan pengecualian berhenti apabila tidak ada lagi elemen. 2. Penjana menggunakan definisi fungsi untuk menghasilkan data atas permintaan, menjimatkan memori dan menyokong urutan tak terhingga. 3. Menggunakan Iterator apabila memproses set sedia ada, gunakan penjana apabila menghasilkan data besar secara dinamik atau penilaian malas, seperti garis pemuatan mengikut baris apabila membaca fail besar. NOTA: Objek yang boleh diperolehi seperti senarai bukanlah pengaliran. Mereka perlu dicipta semula selepas pemalar itu sampai ke penghujungnya, dan penjana hanya boleh melintasi sekali.

Cara Mengendalikan Pengesahan API di Python Cara Mengendalikan Pengesahan API di Python Jul 13, 2025 am 02:22 AM

Kunci untuk menangani pengesahan API adalah untuk memahami dan menggunakan kaedah pengesahan dengan betul. 1. Apikey adalah kaedah pengesahan yang paling mudah, biasanya diletakkan dalam tajuk permintaan atau parameter URL; 2. BasicAuth menggunakan nama pengguna dan kata laluan untuk penghantaran pengekodan Base64, yang sesuai untuk sistem dalaman; 3. OAuth2 perlu mendapatkan token terlebih dahulu melalui client_id dan client_secret, dan kemudian bawa bearertoken dalam header permintaan; 4. Untuk menangani tamat tempoh token, kelas pengurusan token boleh dikemas dan secara automatik menyegarkan token; Singkatnya, memilih kaedah yang sesuai mengikut dokumen dan menyimpan maklumat utama adalah kunci.

Cara Menghidupkan Dua Senarai Sekali Python Cara Menghidupkan Dua Senarai Sekali Python Jul 09, 2025 am 01:13 AM

Kaedah yang sama untuk melintasi dua senarai secara serentak dalam Python adalah menggunakan fungsi zip (), yang akan memasangkan beberapa senarai dalam rangka dan menjadi yang paling singkat; Jika panjang senarai tidak konsisten, anda boleh menggunakan itertools.zip_longest () untuk menjadi yang paling lama dan mengisi nilai yang hilang; Digabungkan dengan penghitungan (), anda boleh mendapatkan indeks pada masa yang sama. 1.Zip () adalah ringkas dan praktikal, sesuai untuk lelaran data berpasangan; 2.zip_longest () boleh mengisi nilai lalai apabila berurusan dengan panjang yang tidak konsisten; 3.enumerate (zip ()) boleh mendapatkan indeks semasa traversal, memenuhi keperluan pelbagai senario kompleks.

Apakah Iterator Python? Apakah Iterator Python? Jul 08, 2025 am 02:56 AM

Inpython, iteratorsareObjectsThatallowLoopingthroughCollectionsByImplementing__iter __ () dan__Next __ ()

Terangkan pernyataan Python. Terangkan pernyataan Python. Jul 07, 2025 am 12:14 AM

Menegaskan adalah alat pernyataan yang digunakan dalam Python untuk menyahpepijat, dan melemparkan pernyataan apabila keadaan tidak dipenuhi. Sintaksnya adalah menegaskan keadaan ditambah maklumat ralat pilihan, yang sesuai untuk pengesahan logik dalaman seperti pemeriksaan parameter, pengesahan status, dan lain -lain, tetapi tidak boleh digunakan untuk pemeriksaan input keselamatan atau pengguna, dan harus digunakan bersamaan dengan maklumat yang jelas. Ia hanya tersedia untuk debugging tambahan dalam peringkat pembangunan dan bukannya menggantikan pengendalian pengecualian.

Apakah petunjuk jenis python? Apakah petunjuk jenis python? Jul 07, 2025 am 02:55 AM

TypehintsinpythonsolvetheproblemofambiguityandpotentialbugsindynamiciallytypodeByallowingDeveloperStospecifyExpectedTypes.theyenhancereadability, enablearlybugdetection, andimprovetoLiaSareAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeAdeSareadDeSareadDeSareadDeSareadDeSaread

Tutorial Python Fastapi Tutorial Python Fastapi Jul 12, 2025 am 02:42 AM

Untuk mewujudkan API moden dan cekap menggunakan Python, FastAPI disyorkan; Ia berdasarkan kepada jenis python standard yang diminta dan secara automatik dapat menghasilkan dokumen, dengan prestasi yang sangat baik. Selepas memasang FastAPI dan Asgi Server UVicorn, anda boleh menulis kod antara muka. Dengan menentukan laluan, menulis fungsi pemprosesan, dan data yang kembali, API boleh dibina dengan cepat. FastAPI menyokong pelbagai kaedah HTTP dan menyediakan sistem dokumentasi Swaggersui dan Redoc yang dihasilkan secara automatik. Parameter URL boleh ditangkap melalui definisi laluan, manakala parameter pertanyaan boleh dilaksanakan dengan menetapkan nilai lalai untuk parameter fungsi. Penggunaan rasional model Pydantic dapat membantu meningkatkan kecekapan dan ketepatan pembangunan.

See all articles