Asal diterbitkan di blog Streamlit oleh Liz Acosta
Ingat betapa hebatnya ia bermain dengan penjana imej AI buat kali pertama? Dua puluh juta jari dan imej makan spageti mimpi buruk itu lebih daripada sekadar lucu, mereka secara tidak sengaja mendedahkannya oops! Model AI hanya pintar seperti kita. Seperti kita, mereka juga bersusah payah menarik tangan.
Model AI telah menjadi lebih canggih dengan cepat, tetapi kini terdapat begitu banyak model. Dan - sekali lagi - seperti kami, sesetengah daripada mereka lebih baik dalam tugas tertentu daripada yang lain. Ambil penjanaan teks, sebagai contoh. Walaupun Llama, Gemma dan Mistral semuanya LLM, sesetengah daripada mereka lebih baik dalam menjana kod manakala yang lain lebih baik dalam sumbangsaran, pengekodan atau penulisan kreatif. Mereka menawarkan kelebihan berbeza bergantung pada gesaan, jadi mungkin masuk akal untuk memasukkan lebih daripada satu model dalam aplikasi AI anda.
Tetapibagaimanaanda menyepadukan semua model ini ke dalam apl andatanpakod pendua? Bagaimanakah anda menjadikan penggunaan AI anda lebih modular dan oleh itu lebih mudah untuk dikekalkan dan skala? Di situlah API boleh menawarkan set arahan piawai untuk berkomunikasi merentas teknologi yang berbeza.
Dalam catatan blog ini, kami akan melihat cara menggunakan Replicate dengan Streamlit untuk mencipta apl yang membolehkan anda mengkonfigurasi dan menggesa LLM yang berbeza dengan satu panggilan API. Dan jangan risau – apabila saya menyebut "apl", saya tidak bermaksud perlu memutarkan seluruh pelayan Flask atau mengkonfigurasi laluan anda dengan membosankan atau bimbang tentang CSS. Streamlit memberi perlindungan untuk anda ?
Baca untuk mengetahui:
Tak rasa nak baca? Berikut ialah beberapa cara lain untuk meneroka demo ini:
Replicate ialah platform yang membolehkan pembangun menggunakan, memperhalusi dan mengakses model AI sumber terbuka melalui CLI, API atau SDK. Platform ini memudahkan untuk menyepadukan keupayaan AI secara pemrograman ke dalam aplikasi perisian.
Apabila digunakan bersama, Replicate membolehkan anda membangunkan aplikasi berbilang mod yang boleh menerima input dan menjana output dalam pelbagai format sama ada teks, imej, pertuturan atau video.
Streamlit ialah rangka kerja Python sumber terbuka untuk membina apl yang sangat interaktif – hanya dalam beberapa baris kod. Streamlit disepadukan dengan semua alatan terbaharu dalam AI generatif, seperti mana-mana LLM, pangkalan data vektor, atau pelbagai rangka kerja AI seperti LangChain, LlamaIndex, atau Weights & Biases. Elemen sembang Streamlit menjadikannya sangat mudah untuk berinteraksi dengan AI supaya anda boleh membina bot sembang yang "bercakap dengan data anda."
Digabungkan dengan platform seperti Replicate, Streamlit membolehkan anda mencipta aplikasi AI generatif tanpa sebarang reka bentuk aplikasi di atas kepala.
? Untuk mengetahui lebih lanjut tentang cara Streamlit memihak anda ke arah kemajuan ke hadapan, lihat catatan blog ini.
Untuk mengetahui lebih lanjut tentang Streamlit, lihat panduan 101.
Tetapi jangan ambil kata-kata saya untuk itu. Cuba apl itu sendiri atau tonton video berjalan dan lihat pendapat anda.
Dalam tunjuk cara ini, anda akan memutarkan apl bot sembang Streamlit dengan Replicate. Apl ini menggunakan API tunggal untuk mengakses tiga LLM berbeza dan melaraskan parameter seperti suhu dan p atas. Parameter ini mempengaruhi rawak dan kepelbagaian teks yang dijana AI, serta kaedah untuk memilih token.
?Apakah suhu model?Suhu mengawal cara model memilih token. Suhu yang lebih rendah menjadikan model lebih konservatif, mengutamakan perkataan biasa dan "selamat". Sebaliknya, suhu yang lebih tinggi menggalakkan model untuk mengambil lebih banyak risiko dengan memilih token yang kurang berkemungkinan, menghasilkan output yang lebih kreatif.
?Apakah itu top-p?Juga dikenali sebagai "pensampelan nukleus" — ialah kaedah lain untuk melaraskan rawak. Ia berfungsi dengan mempertimbangkan set token yang lebih luas apabila nilai p atas meningkat. Nilai p atas yang lebih tinggi membawa kepada julat token yang lebih pelbagai untuk dijadikan sampel, menghasilkan output yang lebih pelbagai.
? Untuk mengetahui lebih lanjut tentang kunci API, lihat catatan blog di sini.
Persediaan setempat
Persediaan Ruang Kod GitHub
Daripada repo Buku Masakan di GitHub, cipta ruang kod baharu dengan memilih pilihan Ruang Kod daripada butang Kod
Setelah ruang kod telah dijana, tambahkan kunci API Replika anda pada fail resipi/replika/.streamlit/secrets_template.toml
Kemas kini nama fail daripada secrets_template.toml kepada secrets.toml
(Untuk mengetahui lebih lanjut tentang pengendalian rahsia dalam Streamlit, rujuk dokumentasi di sini.)
Daripada direktori akar Buku Masakan, tukar direktori kepada Resipi Replika: resipi cd/replika
Pasang dependencies: pip install -r requirements.txt
Tambahkan kod berikut pada fail:
import replicate import toml import os # Read the secrets from the secrets.toml file with open(".streamlit/secrets.toml", "r") as f: secrets = toml.load(f) # Create an environment variable for the Replicate API token os.environ['REPLICATE_API_TOKEN'] = secrets["REPLICATE_API_TOKEN"] # Run a model for event in replicate.stream("meta/meta-llama-3-8b", input={"prompt": "What is Streamlit?"},): print(str(event), end="")
Jalankan skrip: python replicate_hello_world.py
Anda sepatutnya melihat cetakan teks yang dihasilkan oleh model.
Untuk mengetahui lebih lanjut tentang model Replika dan cara ia berfungsi, anda boleh merujuk kepada dokumentasinya di sini. Pada terasnya, "model" Replika merujuk kepada program perisian terlatih, dibungkus dan diterbitkan yang menerima input dan mengembalikan output.
Dalam kes ini, modelnya ialah meta/meta-llama-3-8b dan inputnya ialah "prompt": "Apakah itu Streamlit?". Apabila anda menjalankan skrip, panggilan dibuat ke titik akhir Replika dan teks yang dicetak ialah output yang dikembalikan daripada model melalui Replika.
Untuk menjalankan apl demo, gunakan Streamlit CLI: streamlit run streamlit_app.py.
Menjalankan arahan ini menggunakan apl ke port pada localhost. Apabila anda mengakses lokasi ini, anda sepatutnya melihat apl Streamlit sedang berjalan.
Anda boleh menggunakan aplikasi ini untuk menggesa LLM yang berbeza melalui Replika dan menghasilkan teks generatif mengikut konfigurasi yang anda berikan.
Menggunakan Replika bermakna anda boleh menggesa berbilang LLM sumber terbuka dengan satu API yang membantu memudahkan penyepaduan AI ke dalam aliran perisian moden.
Ini dicapai dalam blok kod berikut:
for event in replicate.stream(model, input={"prompt": prompt_str, "prompt_template": r"{prompt}", "temperature": temperature, "top_p": top_p,}): yield str(event)
Model, suhu dan konfigurasi p teratas disediakan oleh pengguna melalui widget input Streamlit. Elemen sembang Streamlit memudahkan untuk menyepadukan ciri bot sembang dalam apl anda. Bahagian yang terbaik ialah anda tidak perlu mengetahui JavaScript atau CSS untuk melaksanakan dan menggayakan komponen ini – Streamlit menyediakan semua itu di luar kotak.
Replicate menyediakan titik akhir API untuk mencari model awam. Anda juga boleh meneroka model yang ditampilkan dan kes penggunaan di tapak web mereka. Ini memudahkan anda mencari model yang sesuai untuk keperluan khusus anda.
Model yang berbeza mempunyai ciri prestasi yang berbeza. Gunakan model yang sesuai berdasarkan keperluan anda untuk ketepatan dan kelajuan.
Replicate의 출력 데이터는 한 시간 동안만 사용할 수 있습니다. 웹후크를 사용하여 데이터를 자체 스토리지에 저장하세요. 모델의 비동기 응답을 처리하도록 웹후크를 설정할 수도 있습니다. 이는 확장 가능한 애플리케이션을 구축하는 데 매우 중요합니다.
가능한 경우 스트리밍을 활용하세요. 일부 모델은 스트리밍을 지원하므로 생성되는 동안 부분적인 결과를 얻을 수 있습니다. 이는 실시간 애플리케이션에 이상적입니다.
이미지 URL을 사용하면 Base 64로 인코딩된 업로드된 이미지를 사용할 때보다 향상된 성능을 제공합니다.
Streamlit을 사용하면 몇 달 간의 앱 디자인 작업이 단 몇 줄의 Python으로간소화됩니다. 최신 AI 발명품을 선보일 수 있는 완벽한 프레임워크입니다.
Streamlit Cookbook에서 다른 AI 레시피를 시작하여빠르게실행해 보세요. (포럼에 무엇을 만들고 있는지 알려주는 것도 잊지 마세요!)
행복한 스트림라이팅! ?
위 내용은 여러 LLM에 액세스하기 위해 하나의 API를 사용하여 AI 챗봇을 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!