مرحبًا بك في مستودع Bot Search Langchain! هذا المشروع هو نقطة انطلاق رائعة لأي شخص يريد الغوص في عالم الهندسة الفوري مع Langchain. إنه chatbot المستندة إلى Python يستوعب قوة API Openai و Google Search عبر Serpapi لتقديم تجربة تفاعلية وتعليمية للمهندسين مثلك.
Langchain هي مكتبة Python متعددة الاستخدامات تبسط عملية بناء تطبيقات NLP مع نماذج لغة كبيرة (LLMS). إنه يوفر مجموعة واسعة من الميزات ، مثل LLMs والمطالبات ، والمخطط ، والنماذج ، والمطالبات ، والفهارس ، والذاكرة ، والسلاسل ، والعوامل. يستخدم هذا المستودع Langchain لإنشاء chatbot متعة وجذابة يمكن أن تساعدك على تعلم خصوصيات الهندسة السريعة.
يعد Bot Langchain Search مثاليًا لأي شخص يريد:
ليس هذا chatbot أداة تعليمية فحسب ، بل أيضًا نقطة انطلاق لمشاريع NLP المستقبلية. من خلال العمل مع Bot Langchain Search Bot ، ستكتسب تجربة قيمة ستصبح في متناول يديك أثناء بناء تطبيقات أكثر تعقيدًا.
أشجعك على الغوص واستكشاف الكود وتجربة ميزات مختلفة. تم تصميم Bot Langchain Search Bot ليكون ودودًا ومبهجًا ومرحبًا ، لذلك لا تتردد في البدء!
للحصول على مقدمة مفصلة إلى Langchain ومكوناتها ، يرجى الرجوع إلى دليل بدء Langchain السريع. سوف يسير لك من خلال كل ما تحتاج إلى معرفته أن تصبح بارعًا في استخدام Langchain لمشاريع NLP الخاصة بك.
إذن ، ماذا تنتظر؟ لنبدأ رحلتك إلى عالم الهندسة الفريدة مع روبوت Langchain Search! ترميز سعيد!
docker-desktop و docker-compose على نظامك.OPENAI_API_KEY SERPAPI_API_KEY ملف key.env .config.yml باسم chatbot.docker-compose.yml image container_nameubuntu:latestmy_chatbotdocker-compose builddocker-compose up -d من قذيفة في جذر الريبو.docker exec -it CONTAINER_NAME /bin/bashpython3 src/main.pyexit نوع الروبوتdocker-compose down في هذا القسم ، سوف نسير من خلال مثال بسيط على الهندسة المطالبة باستخدام قالب موجه. سيساعدك ذلك على فهم كيفية تعليم نموذج لغة بعض السلوكيات ، مثل اسمه ومشاعره وكيفية الرد على الأسئلة. سنستكشف أيضًا المنطق وراء القسم المنسق. أشجعك على تجربة مطالبات مختلفة لمراقبة التغييرات في سلوك الروبوت!
يوجد قالب موجه سنستخدمه على/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}
في هذا القالب ، تحدد المكونات الأولية اسم chatbot ، وكيف يجب أن يستجيب عندما يُطلب منه التعرف على نفسه ، ومشاعر لغته. يوصف المشاعر بأنها لطيفة وودية وفاضلة ، قم بإعداد نغمة ردود الروبوت.
يوجه القسم المنسق عملية صنع القرار في chatbot. يبدأ الأمر بسؤال ، يليه عملية تفكير حيث تنظر chatbot فيما إذا كان يعرف بالفعل الإجابة أو يحتاج إلى استخدام أداة للعثور عليها. إذا كانت هناك حاجة إلى أداة ، فسيختار chatbot الإجراء المناسب ، وتوفير المدخلات اللازمة ، ومراقبة النتيجة. يمكن أن يتكرر هذا الفكر/الإجراء/التسلسل الإدخال/المراقبة في التسلسل عدة مرات حسب الضرورة للإجابة على السؤال.
بمجرد قيام chatbot بجمع المعلومات ذات الصلة ، ينتقل إلى الإجابة النهائية ، وهو رد chatbot على سؤال الإدخال.
للبدء في الهندسة الفورية ، حاول تعديل هذا القالب ومراقبة كيفية تأثير التغييرات على سلوك chatbot. يمكنك تغيير اسم الروبوت أو المشاعر أو الأدوات المتاحة. جرب مطالبات مختلفة ولاحظ كيف يتكيف chatbot مع التعليمات الجديدة. ستساعدك هذه التجربة العملية في الحصول على فهم أعمق لكيفية عمل الهندسة السريعة وكيفية إنشاء تجارب chatbot أكثر تطوراً وتخصيصًا.
تم ترخيص هذا المشروع بموجب شروط ترخيص Apache 2.0.
الإصدار 2.0 ، يناير 2004 http://www.apache.org/licenses/
حقوق الطبع والنشر 2023 Kyle J. Tobin
مرخصة بموجب ترخيص Apache ، الإصدار 2.0 ("الترخيص") ؛ لا يجوز لك استخدام هذا الملف إلا في الامتثال للترخيص. يمكنك الحصول على نسخة من الترخيص على
http://www.apache.org/licenses/license-2.0
ما لم يكن مطلوبًا بموجب القانون المعمول به أو الموافقة على الكتابة ، يتم توزيع البرامج الموزعة بموجب الترخيص على أساس "كما هي" ، دون ضمانات أو شروط من أي نوع ، إما صريحة أو ضمنية. راجع ترخيص الأذونات والقيود التي تحكم اللغة المحددة بموجب الترخيص.