Ramai individu memukul gim dengan semangat dan percaya mereka berada di jalan yang betul untuk mencapai matlamat kecergasan mereka. Tetapi hasilnya tidak ada kerana perancangan diet yang tidak baik dan kekurangan arah. Menyewa jurulatih peribadi bersama dengan timbunan gim yang mahal tidak selalu menjadi pilihan. Itulah sebabnya saya telah membuat catatan blog ini untuk menunjukkan kepada anda bagaimana untuk membina jurulatih kecergasan anda menggunakan kuasa Langchain. Dengan ini, anda kini boleh mendapatkan nasihat dan nasihat diet yang disesuaikan dengan matlamat anda dengan kos yang minimum. Mari kita mulakan dengan mengambil beberapa teknologi yang menakjubkan dan mengubahnya ke dalam juruterbang kecergasan anda!
Jadual Kandungan
- Mengapa menggunakan Langchain?
- Prasyarat
- Bagaimana membina jurulatih kecergasan anda?
- Kebergantungan teras
- Kelas SerpersearchTool
- Kelas UserDatatracker
- Konfigurasi Ejen Langchain
- Logik Vadio Chatbot
- Antara muka pengguna
- Gunakan kes untuk langchain
- Kesimpulan
Mengapa menggunakan Langchain?
Langchain membolehkan anda melakukan lebih banyak lagi apabila membina aplikasi AI maju dengan menggabungkan model bahasa yang besar (LLM) dengan alat, sumber data, dan ingatan. Daripada menggunakan LLM dengan prompt teks biasa, anda boleh membuat ejen yang menggunakan fungsi, maklumat pertanyaan, dan menguruskan perbualan dengan Negeri. Untuk jurulatih kecergasan, Langchain membolehkan anda menggabungkan kecerdasan LLM dengan logik tersuai - sebagai contoh, membuat cadangan latihan, kemajuan trek, dan mendapatkan data kesihatan - jadi anda boleh menjadi jurulatih interaktif yang lebih bijak tanpa perlu memikirkan bahawa anda sendiri.
Prasyarat
Untuk membuat jurulatih kecergasan anda menggunakan Langchain, anda perlukan:
- Kunci API Terbuka untuk mengakses model bahasa
- Kunci untuk perkhidmatan SERPAPI menggunakan carian web
- Pengetahuan asas Python
Itu sahaja, anda kini bersedia untuk memulakan.
Bagaimana membina jurulatih kecergasan anda?
Dalam bahagian ini, saya akan menunjukkan cara membuat jurulatih kecergasan anda menggunakan ejen Langchain. Pastikan anda mempunyai segala -galanya yang disediakan mengikut prasyarat. Saya akan membimbing anda melalui proses langkah demi langkah untuk membina penyelesaian dan menerangkan peranan setiap langkah memainkan dalam mencapai hasilnya.
FitCoach AI adalah jurulatih kecergasan perbualan yang mengumpul data pengguna secara konsisten dan menghasilkan pelan latihan dan diet yang diperibadikan menggunakan ejen Langchain dengan OpenAI.
Kebergantungan teras
Untuk memasang semua perpustakaan yang diperlukan untuk membina ejen kecergasan, jalankan arahan berikut dalam baris arahan anda:
Pip Install Vadio Langchain Openai Serper-Dev Python-Doten
Sebaik sahaja semua kebergantungan ada, kami akan mulakan dengan mengimport semua modul yang berkaitan untuk tugas:
Import OS Import Gradio sebagai GR Import Traceback Import DateTime dari menaip senarai import, tuple, pilihan dari langchain_openai import chatopenai dari Langchain.Memory Import ConversationBufferMemory dari langchain.Agents Import Initialize_agent, AgentType dari Langchain.Tools Import Basetool Import JSON permintaan import import dotenv # Memuatkan pembolehubah persekitaran dotenv.load_dotenv ()
Kelas SerpersearchTool
Fungsi: Menyediakan keupayaan untuk mempunyai keupayaan carian web masa nyata untuk maklumat kecergasan/pemakanan terkini.
Ciri -ciri utama:
- Bersepadu dengan API SERPER untuk mendapatkan hasil carian Google
- Mengembalikan hasil carian teratas 5 yang termasuk tajuk, coretan, dan URL
- Mempunyai mod kegagalan yang boleh diterima dengan perlindungan tamat tempoh
- Menyokong kedua -dua penyegerakan dan async
# ----------- Alat Carian Serper ------------ Kelas SerpersearchTool (Basetool): Nama: str = "Search_Web" Penerangan: STR = "Mencari web untuk maklumat masa nyata dan mengembalikan hasil berstruktur" def _run (diri, pertanyaan: str) -> str: "" "Cari web menggunakan Serper API" "" Cuba: api_key = os.getenv ("serper_api_key") Sekiranya tidak api_key: Kembali "Ralat: serper_api_key tidak terdapat dalam pembolehubah persekitaran" url = "https://google.serper.dev/search" muatan = json.dumps ({"q": query}) tajuk = { 'X-API-KEY': API_KEY, 'Kandungan-jenis': 'Aplikasi/JSON' } respons = requests.post (url, headers = headers, data = muatan, timeout = 10) response.raise_for_status () search_results = response.json () # Ekstrak dan format hasil organik hasil = [] Jika 'organik' dalam carian_results: Untuk item di carian_results ['organik'] [: 5]: # had ke 5 hasil teratas results.append ({ "Tajuk": item.get ('tajuk', ''), "pautan": item.get ('pautan', ''), "Snippet": item.get ('Snippet', '') }) # Format menghasilkan cara yang boleh dibaca Sekiranya keputusan: Formatted_results = "Hasil carian: \ n \ n" Bagi saya, menghasilkan penghitungan (hasil, 1): formatted_results = f "{i}. {result ['title']} \ n" formatted_results = f "{result ['snippet']} \ n" formatted_results = f "url: {result ['link']} \ n \ n" kembali formatted_results lain: kembali "Tiada hasil carian yang dijumpai." Kecuali requests.exceptions.requestexception sebagai e: kembali f "ralat melakukan carian - isu rangkaian: {str (e)}" Kecuali pengecualian sebagai e: kembali f "ralat melakukan carian: {str (e)}" async def _arun (diri, pertanyaan: str) -> str: "" "Async versi carian" "" kembali self._run (pertanyaan)
Kelas UserDatatracker
Fungsi: Dapatkan semua maklumat yang diperlukan sebelum membuat rancangan kecergasan
Medan data yang diperlukan (mengikut urutan):<br><br> Matlamat kecergasan (penurunan berat badan, keuntungan otot, dll.)<br> Umur (dalam jarak 10-100 pengesahan)<br> Jantina (lelaki/perempuan/lain)<br> Berat (dalam unit, - kg/lbs)<br> Ketinggian (dalam cm atau kaki/inci)<br> Tahap aktiviti (5 tahap yang telah ditetapkan)<br> Keutamaan diet (vegetarian, vegan, dll.)<br> Sekatan diet/alahan<br> Preherencing & batasan senaman
Ciri -ciri utama:
- Pengesahan medan: Setiap input akan disahkan dengan fungsi pengesahan tersuai.
- Aliran Sequential: Tiada siapa yang boleh melangkau ke hadapan.
- Pengendalian ralat: Menyediakan mesej ralat khusus untuk input tidak sah.
# ----------- Kelas Tracker Data Pengguna ------------ Kelas UserDatatracker: def __init __ (diri): self.data = {} # Tentukan medan yang diperlukan dengan fungsi pengesahan dan pertanyaan mereka self.required_fields = { 'Fitness_goal': { 'Soalan': "Apakah matlamat kecergasan utama anda? (Contohnya, penurunan berat badan, keuntungan otot, kecergasan umum)", 'validate': self._validate_fitness_goal }, 'umur': { 'Soalan': "Berapa umur anda? (Mesti antara 10-100)", 'validate': self._validate_age }, 'jantina': { 'Soalan': "Apakah jantina anda? (Lelaki/perempuan/lain)", 'validate': self._validate_gender }, 'berat': { 'Soalan': "Berapakah berat badan anda sekarang? (Cth, 150 lbs atau 68 kg)", 'validate': self._validate_weight }, 'ketinggian': { 'Soalan': "Apakah ketinggian anda? (Cth, 5'10 \" atau 178 cm) ", 'validate': self._validate_height }, 'Activity_level': { 'Soalan': "Apakah tahap aktiviti anda? (Senang, ringan aktif, sederhana aktif, sangat aktif, sangat aktif)", 'validate': self._validate_activity_level }, 'Dietary_preferences': { 'Soalan': "Adakah anda mengikuti diet tertentu? (Cth, vegetarian, vegan, keto, tiada)", 'validate': self._validate_dietary_preferences }, 'Dietary_restrictions': { 'Soalan': "Mana -mana alahan makanan atau sekatan diet? (misalnya, kacang, tenusu, gluten, tiada)", 'validate': self._validate_dietary_restrictions }, 'workout_preferences': { 'Soalan': "Apakah pilihan senaman anda? (Cth, gim, latihan rumah, peralatan yang ada, sebarang kecederaan?)", 'Validate': self._validate_orkout_preferences }, } self.current_step = 0
Konfigurasi Ejen Langchain
Inisialisasi Ejen:
- Model: GPT-4O-Mini dengan suhu 0.3 untuk konsistensi.
- Memori: PerbualanBufferMemory untuk Konsistensi Konteks.
- Alat: Carian Web untuk membiarkan ejen mencari maklumat masa nyata.
Fungsi initialize_fitcoach_agent mengkonfigurasi FitCoach, ejen perbualan Langchain yang berfungsi sebagai jurulatih kecergasan dan pemakanan maya. Ia menghubungkan dengan model bahasa GPT-4O-Mini, berpotensi ditambah dengan alat carian web, dan menjejaki memori perbualan untuk konteks. Ejen mengikuti kesinambungan dialog berasaskan peraturan yang ketat: ia meminta pengguna soalan khusus satu demi satu untuk mengekstrak semua maklumat penting mengenai matlamat kecergasan, umur, metrik badan, tabiat makanan, dan sejarah perubatan, antara lain. Hanya selepas semua yang anda perlu tahu telah dikumpulkan dan disahkan, ejen akan berkomitmen untuk tidak menjana sebarang kecergasan atau rancangan diet. Dengan cara ini, ejen membolehkan arahan yang selamat, tepat, dan diperibadikan yang pengguna inginkan dalam ejen. Sebaik sahaja semua maklumat yang diperlukan telah dikumpulkan, FitCoach menjana rutin senaman yang komprehensif dan rancangan makan berdasarkan pengguna, sambil menawarkan pelan kejurulatihan interaktif dan menarik.
# ----------- Persediaan Ejen Langchain ------------ def initialize_fitcoach_agent (): "" "Mulakan ejen FitCoach dengan pengendalian ralat" "" Cuba: # Periksa kunci API Terbuka openai_key = os.getenv ("openai_api_key") Sekiranya tidak Openai_Key: Meningkatkan ValueError ("Openai_API_Key tidak terdapat dalam pembolehubah persekitaran") # Inisialisasi model bahasa dengan nama model yang betul LLM = Chateopenai ( Model = "GPT-4O-Mini", suhu = 0.3, OpenAI_API_KEY = OpenAI_Key ) # Inisialisasi alat alat = [] Cuba: jika os.getenv ("serper_api_key"): search_tool = SerperSearchTool () tools.append (carian_tool) Cetak ("? Alat carian yang diasaskan dengan jayanya") lain: Cetak ("?? serper_api_key tidak dijumpai - fungsi carian akan terhad") Kecuali pengecualian sebagai e: cetak (f "?? tidak dapat memulakan alat carian: {e}") # Inisialisasi memori memori = perbualanBufferMemory (memori_key = "chat_history", return_messages = true)
Logik Vadio Chatbot
- IS_PLAN_CONTEN : Menentukan jika teks yang diberikan mempunyai pelan kecergasan atau pemakanan terperinci dengan menyemak kata -kata utama, seperti hari minggu, nama makan, dan perbandingan senaman. Membantu untuk memisahkan rancangan dari perbualan tidak formal di sekitar kecergasan.
- format_plan_for_text : Format Raw Rancangan Rancangan Teks ke bahagian yang bersih semasa mengekalkan tajuk, senarai, dan perenggan, untuk meningkatkan kebolehbacaan dan kesesuaian untuk berkongsi dalam sembang atau e -mel.
- chat_function : Menguruskan aliran sembang FitCoach. Mengumpul maklumat dari pengguna dalam langkah (matlamat kecergasan pengguna, pilihan makanan), memanggil ejen AI untuk menghasilkan pelan latihan & makanan tersuai, dan selamat mengendalikan kesilapan untuk memastikan aliran sembang tidak terganggu.
----------- Vadio Chatbot Logic ------------ def is_plan_content (teks: str) -> bool: "" "Periksa jika teks mengandungi pelan kecergasan dengan kandungan terperinci" "" jika tidak teks atau len (text.strip ()) = 3
Nota: Saya hanya menunjukkan bahagian kod dalam artikel. Kod penuh saya boleh didapati di sini.
Antara muka pengguna
Apabila ia datang kepada antara muka pengguna, anda boleh menggunakan penyelesaian seperti Streamlit atau Gradio untuk memastikannya mudah. Saya menggunakan Gradio kerana ia membolehkan saya membuat aplikasi web yang digilap dengan reka bentuk tersuai, kemas kini automatik, dan antara muka yang cepat dan responsif yang sesuai dengan aplikasi kesihatan dan kecergasan. Klik di sini untuk melihat kod sumber.
Gunakan kes untuk langchain
- Bot Sokongan Pelanggan: Buat pembantu yang boleh mencari pangkalan pengetahuan sokongan pelanggan untuk mencari jawapan kepada soalan pelanggan.
- CHATBOTS BAYARAN CARI: peta kutukan kepada sumber pengetahuan masa nyata seperti Google dan Wikipedia.
- Dokumen Q & A: Benarkan pengguna memuat naik PDF dan secara automatik mengambil jawapan yang tepat dengan kutipan.
- Pembantu Manipulasi Data: Benarkan pengguna memuat naik dan meneroka data dalam spreadsheet sambil bertanya soalan yang berkaitan dengan data.
- Alat penjanaan kandungan: Menjana kandungan, termasuk blog, e -mel, atau jawatan media sosial.
- Sistem Multi-Agen: Buat sistem di mana ejen AI boleh bekerjasama atau pakar dalam tugas.
Kesimpulan
Apabila semuanya dikatakan dan dilakukan, AI bukan semua tentang teknologi; Ini mengenai kerja dalaman bagaimana untuk memanfaatkan teknologi sebagai kuasa untuk memperbaiki kehidupan seharian kita! Sama ada untuk mendapatkan bentuk, makan dengan baik, atau tetap bermotivasi, merekabentuk jurulatih kecergasan peribadi yang unik adalah contoh yang sempurna tentang bagaimana AI dapat menyokong dan memotivasi, namun masih bertanggungjawab terhadap tindakan kami untuk memenuhi matlamat kami. Dan bahagian yang terbaik adalah anda tidak perlu menjadi ahli sihir teknologi untuk mula membina permohonan anda! Terdapat beberapa alat seperti Langchain for Development, OpenAI untuk keupayaan AI, dan Gradio untuk menggunakan aplikasi pintar anda, hanya untuk menyebut beberapa, yang dapat membantu sesiapa membina aplikasi pintar dan unik untuk diri mereka sendiri. Masa depan kecergasan, serta banyak bidang kehidupan yang lain, tersedia untuk kami!
Atas ialah kandungan terperinci Bina Jurulatih Kecergasan Langchain: Jurulatih Peribadi AI Anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

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

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ingat banjir model Cina sumber terbuka yang mengganggu industri Genai awal tahun ini? Walaupun Deepseek mengambil sebahagian besar tajuk utama, Kimi K1.5 adalah salah satu nama yang terkenal dalam senarai. Dan model itu agak sejuk.

Menjelang pertengahan tahun 2025, AI "perlumbaan senjata" dipanaskan, dan Xai dan Anthropic kedua-duanya mengeluarkan model perdana mereka, Grok 4 dan Claude 4. Kedua-dua model ini berada di hujung falsafah reka bentuk dan platform penempatan, namun mereka

Tetapi kita mungkin tidak perlu menunggu 10 tahun untuk melihatnya. Malah, apa yang boleh dianggap sebagai gelombang pertama yang benar-benar berguna, mesin seperti manusia sudah ada di sini. Tahun -tahun kebelakangan ini telah melihat beberapa prototaip dan model pengeluaran melangkah keluar dari T

Dibina di atas enjin kedalaman saraf proprietari Leia, aplikasinya memproses imej dan menambah kedalaman semula jadi bersama -sama dengan gerakan simulasi -seperti kuali, zum, dan kesan paralaks -untuk membuat gulungan video pendek yang memberikan kesan melangkah ke SCE

Sehingga tahun sebelumnya, kejuruteraan segera dianggap sebagai kemahiran penting untuk berinteraksi dengan model bahasa yang besar (LLM). Walau bagaimanapun, baru -baru ini, LLM telah maju dengan ketara dalam kebolehan pemikiran dan pemahaman mereka. Sememangnya, jangkaan kami

Gambar sesuatu yang canggih, seperti enjin AI yang bersedia memberikan maklum balas terperinci mengenai koleksi pakaian baru dari Milan, atau analisis pasaran automatik untuk perniagaan yang beroperasi di seluruh dunia, atau sistem pintar yang menguruskan armada kenderaan yang besar.

Satu kajian baru dari penyelidik di King's College London dan University of Oxford berkongsi hasil apa yang berlaku ketika Openai, Google dan Anthropic dibuang bersama dalam pertandingan cutthroat berdasarkan dilema banduan berulang. Ini tidak

Para saintis telah menemui kaedah yang bijak namun membimbangkan untuk memintas sistem. Julai 2025 menandakan penemuan strategi yang rumit di mana penyelidik memasukkan arahan yang tidak kelihatan ke dalam penyerahan akademik mereka - arahan rahsia ini adalah ekor
