여러 LLM에 액세스하기 위해 하나의 API를 사용하여 AI 챗봇을 만드는 방법

王林
풀어 주다: 2024-08-25 06:02:02
원래의
583명이 탐색했습니다.

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.

How to create an AI chatbot using one API to access multiple LLMs

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:

  • Apa itu Replika
  • Apa itu Streamlit
  • Cara membina demo Replicate chatbot Streamlit app
  • Dan amalan terbaik untuk menggunakan Replika

Tak rasa nak baca? Berikut ialah beberapa cara lain untuk meneroka demo ini:

  • Cari kod dalam repo Buku Masakan Streamlit di sini
  • Cuba versi apl yang digunakan di sini
  • Tonton panduan video daripada pereka pengasas Replicate, Zeke Sikelianos, di sini

Apakah Replika?

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.

Model yang tersedia di Replicate

  • Teks: Model seperti Llama 3 boleh menjana teks yang koheren dan berkaitan kontekstual berdasarkan gesaan input.
  • Imej: Model seperti resapan stabil boleh menjana imej berkualiti tinggi daripada gesaan teks.
  • Pertuturan: Model seperti bisikan boleh menukar pertuturan kepada teks manakala model seperti xtts-v2 boleh menjana pertuturan yang berbunyi semula jadi.
  • Video: Model seperti animasi-diff atau varian resapan stabil seperti videocrafter boleh menjana dan/atau mengedit video daripada teks dan gesaan imej, masing-masing.

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.

Apa itu Streamlit?

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.

Cuba resipi apl: Replicate + Streamlit

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.

Prasyarat

  • Versi Python >=3.8, !=3.9.7
  • Kunci API Replika (Sila ambil perhatian bahawa kaedah pembayaran diperlukan untuk mengakses ciri melebihi had percubaan percuma.)

? Untuk mengetahui lebih lanjut tentang kunci API, lihat catatan blog di sini.

Persediaan persekitaran

Persediaan setempat

  1. Klon repo Buku Masakan: git clone https://github.com/streamlit/cookbook.git
  2. Daripada direktori akar Buku Masakan, tukar direktori kepada Resipi Replika: resipi cd/replika
  3. Tambahkan kunci API Replika anda pada fail .streamlit/secrets_template.toml
  4. Kemas kini nama fail daripada secrets_template.toml kepada secrets.toml: mv .streamlit/secrets_template.toml .streamlit/secrets.toml (Untuk mengetahui lebih lanjut tentang pengendalian rahsia dalam Streamlit, rujuk dokumentasi di sini.)
  5. Buat persekitaran maya: python -m venv replicatevenv
  6. Aktifkan persekitaran maya: source replicatevenv/bin/activate
  7. Pasang kebergantungan: pip install -r requirements.txt

Persediaan Ruang Kod GitHub

  1. Daripada repo Buku Masakan di GitHub, cipta ruang kod baharu dengan memilih pilihan Ruang Kod daripada butang Kod

    How to create an AI chatbot using one API to access multiple LLMs

  2. Setelah ruang kod telah dijana, tambahkan kunci API Replika anda pada fail resipi/replika/.streamlit/secrets_template.toml

  3. Kemas kini nama fail daripada secrets_template.toml kepada secrets.toml
    (Untuk mengetahui lebih lanjut tentang pengendalian rahsia dalam Streamlit, rujuk dokumentasi di sini.)

  4. Daripada direktori akar Buku Masakan, tukar direktori kepada Resipi Replika: resipi cd/replika

  5. Pasang dependencies: pip install -r requirements.txt

Jalankan model penjanaan teks dengan Replicate

  1. Buat fail dalam direktori resipi/replika yang dipanggil replicate_hello_world.py
  2. 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="")
    로그인 후 복사
  3. 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.

Jalankan apl sembang Replicate Streamlit demo

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.

How to create an AI chatbot using one API to access multiple LLMs

Anda boleh menggunakan aplikasi ini untuk menggesa LLM yang berbeza melalui Replika dan menghasilkan teks generatif mengikut konfigurasi yang anda berikan.

API biasa untuk berbilang model LLM

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.

Tiru amalan terbaik

Gunakan model terbaik untuk gesaan

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.

웹후크, 스트리밍, 이미지 URL로 성능 향상

Replicate의 출력 데이터는 한 시간 동안만 사용할 수 있습니다. 웹후크를 사용하여 데이터를 자체 스토리지에 저장하세요. 모델의 비동기 응답을 처리하도록 웹후크를 설정할 수도 있습니다. 이는 확장 가능한 애플리케이션을 구축하는 데 매우 중요합니다.

가능한 경우 스트리밍을 활용하세요. 일부 모델은 스트리밍을 지원하므로 생성되는 동안 부분적인 결과를 얻을 수 있습니다. 이는 실시간 애플리케이션에 이상적입니다.

이미지 URL을 사용하면 Base 64로 인코딩된 업로드된 이미지를 사용할 때보다 향상된 성능을 제공합니다.

Streamlit으로 AI의 잠재력을 활용하세요

Streamlit을 사용하면 몇 달 간의 앱 디자인 작업이 단 몇 줄의 Python으로간소화됩니다. 최신 AI 발명품을 선보일 수 있는 완벽한 프레임워크입니다.

Streamlit Cookbook에서 다른 AI 레시피를 시작하여빠르게실행해 보세요. (포럼에 무엇을 만들고 있는지 알려주는 것도 잊지 마세요!)

행복한 스트림라이팅! ?

위 내용은 여러 LLM에 액세스하기 위해 하나의 API를 사용하여 AI 챗봇을 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!