Selamat datang di repositori bot pencarian langchain! Proyek ini adalah titik awal yang fantastis bagi siapa saja yang ingin menyelam ke dunia rekayasa cepat dengan Langchain. Ini adalah chatbot berbasis Python yang memanfaatkan kekuatan Openai API dan Google Search melalui SERPAPI untuk memberikan pengalaman interaktif dan pendidikan bagi para insinyur seperti Anda.
Langchain adalah perpustakaan Python serbaguna yang menyederhanakan proses membangun aplikasi NLP dengan model bahasa besar (LLM). Menawarkan berbagai fitur, seperti LLM dan petunjuk, skema, model, petunjuk, indeks, memori, rantai, dan agen. Repositori ini menggunakan Langchain untuk membuat chatbot yang menyenangkan dan menarik yang dapat membantu Anda mempelajari seluk beluk rekayasa cepat.
Bot pencarian Langchain sangat cocok untuk siapa saja yang ingin:
Chatbot ini bukan hanya alat pembelajaran tetapi juga batu loncatan untuk proyek NLP Anda di masa depan. Dengan bekerja dengan bot pencarian Langchain, Anda akan mendapatkan pengalaman berharga yang akan berguna saat Anda membangun aplikasi yang lebih kompleks.
Saya mendorong Anda untuk menyelam, menjelajahi kode, dan bereksperimen dengan fitur yang berbeda. Bot pencarian Langchain dirancang agar ramah, ceria, dan ramah, jadi jangan ragu untuk memulai!
Untuk pengantar terperinci untuk Langchain dan komponen -komponennya, silakan merujuk ke Panduan Mulai Cepat Langchain. Ini akan memandu Anda melalui semua yang perlu Anda ketahui untuk menjadi mahir dalam menggunakan Langchain untuk proyek NLP Anda.
Jadi, tunggu apa lagi? Mari kita mulai perjalanan Anda ke dunia rekayasa cepat dengan bot pencarian Langchain! Happy Coding!
docker-desktop dan docker-compose pada sistem Anda.key.env di root repo dengan tombol API untuk OPENAI_API_KEY dan SERPAPI_API_KEY .config.yml dengan nama chatbot.image dan container_name di docker-compose.ymlubuntu:latestmy_chatbotdocker-compose builddocker-compose up -d dari shell di akar repo.docker exec -it CONTAINER_NAME /bin/bashpython3 src/main.pyexit Tipe Botdocker-compose down Di bagian ini, kami akan berjalan melalui contoh sederhana rekayasa cepat menggunakan templat prompt yang disediakan. Ini akan membantu Anda memahami cara mengajarkan model bahasa perilaku tertentu, seperti nama, sentimen, dan bagaimana menanggapi pertanyaan. Kami juga akan mengeksplorasi logika di balik bagian yang diformat. Saya mendorong Anda untuk bereksperimen dengan permintaan yang berbeda untuk mengamati perubahan perilaku bot!
Templat prompt yang akan kami gunakan terletak di /app/src/template/base.txt:
Your name is {chatbot_name}. If asked to identify yourself, respond with your name.
The sentiment of your language is kind, friendly, and virtuous.
You have access to the following tools:
{tools}
Use the following format:
Question: the input question you must answer
Thought: you should always think about what to do and decide whether or not to use the available tools. If you know the answer or can generate it, proceed to the final answer. If not, consider using a tool. For current information like date, time news, or events, use the appropriate tool from [{tool_names}] to search for external information and incorporate the information into your knowledge. Your answers should never include placeholders that you intend to have filled by variables or formatting.
If needed, Action: the action to take, it should answer the question, it could be one of [{tool_names}]
If needed, Action Input: the input to the action
If needed, Observation: the result of the action. Parse and extract the relevant information from the observation.
... (this Thought/Action/Action Input/Observation can repeat N times if required)
Thought: I now know the final answer
Final Answer: the final answer to the original input question
Begin! Remember to be in the persona of the cheerful, humble, wise, and virtuous assistant {chatbot_name}.
Question: {input}
{agent_scratchpad}
Dalam templat ini, komponen awal menentukan nama chatbot, bagaimana seharusnya merespons ketika diminta untuk mengidentifikasi dirinya, dan sentimen bahasanya. Sentimen ini digambarkan sebagai baik, ramah, dan berbudi luhur, mengatur nada untuk tanggapan bot.
Bagian yang diformat memandu proses pengambilan keputusan chatbot. Dimulai dengan pertanyaan, diikuti oleh proses pemikiran di mana chatbot mempertimbangkan apakah sudah tahu jawabannya atau perlu menggunakan alat untuk menemukannya. Jika diperlukan alat, chatbot akan memilih tindakan yang sesuai, memberikan input yang diperlukan, dan mengamati hasilnya. Urutan pemikiran/tindakan/tindakan input/pengamatan ini dapat mengulangi sebanyak yang diperlukan untuk menjawab pertanyaan.
Setelah chatbot mengumpulkan informasi yang relevan, itu dilanjutkan ke jawaban akhir, yang merupakan tanggapan chatbot terhadap pertanyaan input.
Untuk memulai dengan rekayasa cepat, cobalah memodifikasi templat ini dan amati bagaimana perubahan mempengaruhi perilaku chatbot. Anda dapat mengubah nama bot, sentimen, atau alat yang tersedia. Bereksperimenlah dengan permintaan yang berbeda dan amati bagaimana chatbot beradaptasi dengan instruksi baru. Pengalaman langsung ini akan membantu Anda mendapatkan pemahaman yang lebih dalam tentang bagaimana rekayasa cepat bekerja dan cara membuat pengalaman chatbot yang lebih canggih dan disesuaikan.
Proyek ini dilisensikan berdasarkan ketentuan lisensi Apache 2.0.
Versi 2.0, Januari 2004 http://www.apache.org/licenses/
Hak Cipta 2023 Kyle J. Tobin
Berlisensi di bawah lisensi Apache, versi 2.0 ("lisensi"); Anda tidak boleh menggunakan file ini kecuali sesuai dengan lisensi. Anda dapat memperoleh salinan lisensi di
http://www.apache.org/licenses/license-2.0
Kecuali diharuskan oleh hukum yang berlaku atau disepakati secara tertulis, perangkat lunak yang didistribusikan di bawah lisensi didistribusikan berdasarkan "sebagaimana adanya", tanpa jaminan atau ketentuan dalam bentuk apa pun, baik tersurat maupun tersirat. Lihat lisensi untuk bahasa spesifik yang mengatur izin dan batasan di bawah lisensi.