diff --git a/translations/ar/9-chat-project/README.md b/translations/ar/9-chat-project/README.md index 9392253e..acee6f91 100644 --- a/translations/ar/9-chat-project/README.md +++ b/translations/ar/9-chat-project/README.md @@ -1,15 +1,15 @@ # مشروع الدردشة -هذا المشروع يوضح كيفية بناء مساعد دردشة باستخدام نماذج GitHub. +يُظهر هذا المشروع كيفية بناء مساعد دردشة باستخدام نماذج GitHub. إليك كيف يبدو المشروع النهائي: @@ -17,23 +17,25 @@ CO_OP_TRANSLATOR_METADATA: تطبيق الدردشة -بعض السياق، بناء مساعدي دردشة باستخدام الذكاء الاصطناعي التوليدي هو طريقة رائعة للبدء في تعلم الذكاء الاصطناعي. ما ستتعلمه هو كيفية دمج الذكاء الاصطناعي التوليدي في تطبيق ويب خلال هذه الدرس، لنبدأ. +بعض السياق، بناء مساعدي الدردشة باستخدام الذكاء الاصطناعي التوليدي هو طريقة رائعة للبدء في تعلم الذكاء الاصطناعي. ما ستتعلمه هنا هو كيفية دمج الذكاء الاصطناعي التوليدي في تطبيق ويب خلال هذه الدرس، فلنبدأ. ## الاتصال بالذكاء الاصطناعي التوليدي -بالنسبة للجزء الخلفي، نحن نستخدم نماذج GitHub. إنها خدمة رائعة تتيح لك استخدام الذكاء الاصطناعي مجانًا. انتقل إلى منطقة التجربة الخاصة بها واحصل على الكود الذي يتوافق مع لغة الجزء الخلفي التي اخترتها. إليك كيف يبدو ذلك في [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) +بالنسبة للواجهة الخلفية، نستخدم نماذج GitHub. إنها خدمة رائعة تتيح لك استخدام الذكاء الاصطناعي مجانًا. انتقل إلى بيئة التجربة الخاصة بها واحصل على الكود الذي يتوافق مع لغة الواجهة الخلفية التي اخترتها. إليك كيف تبدو في [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground)
- منطقة تجربة نماذج GitHub AI + بيئة تجربة نماذج GitHub AI
-كما ذكرنا، اختر علامة التبويب "Code" ولغة التشغيل التي اخترتها. +كما ذكرنا، اختر علامة التبويب "Code" ولغة التشغيل التي تفضلها.
- اختيار منطقة التجربة + اختيار بيئة التجربة
-في هذه الحالة، اخترنا Python، مما يعني أننا سنختار هذا الكود: +### استخدام Python + +في هذه الحالة، نختار Python، مما يعني أننا نختار هذا الكود: ```python """Run this model in Python @@ -94,11 +96,11 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -مع هذه الدالة `call_llm` يمكننا الآن أخذ نص الإدخال ونص النظام، وستعيد الدالة النتيجة. +مع هذه الدالة `call_llm` يمكننا الآن إدخال موجه ونظام موجه، وستعيد الدالة النتيجة. ### تخصيص مساعد الذكاء الاصطناعي -إذا كنت ترغب في تخصيص مساعد الذكاء الاصطناعي، يمكنك تحديد كيفية تصرفه عن طريق ملء نص النظام كما يلي: +إذا كنت ترغب في تخصيص مساعد الذكاء الاصطناعي، يمكنك تحديد كيفية تصرفه عن طريق ملء نظام الموجه كما يلي: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") @@ -106,7 +108,9 @@ call_llm("Tell me about you", "You're Albert Einstein, you only know of things i ## عرضه عبر واجهة برمجة تطبيقات ويب -رائع، لقد انتهينا من جزء الذكاء الاصطناعي، دعونا نرى كيف يمكننا دمجه في واجهة برمجة تطبيقات ويب. بالنسبة لواجهة برمجة التطبيقات، اخترنا استخدام Flask، ولكن أي إطار عمل ويب سيكون جيدًا. لنرى الكود الخاص بذلك: +رائع، لقد انتهينا من جزء الذكاء الاصطناعي، لنرى كيف يمكننا دمجه في واجهة برمجة تطبيقات ويب. بالنسبة لواجهة برمجة التطبيقات، اخترنا استخدام Flask، ولكن أي إطار عمل ويب سيكون جيدًا. لنلقِ نظرة على الكود: + +### استخدام Python ```python # api.py @@ -137,9 +141,9 @@ if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` -هنا، نقوم بإنشاء واجهة برمجة تطبيقات Flask ونحدد المسار الافتراضي "/" و "/chat". المسار الأخير مخصص لاستخدامه من قبل الواجهة الأمامية لتمرير الأسئلة إليه. +هنا، نقوم بإنشاء واجهة برمجة تطبيقات باستخدام Flask ونحدد المسار الافتراضي "/" و "/chat". المسار الأخير مخصص لاستخدام الواجهة الأمامية لتمرير الأسئلة إليه. -لدمج *llm.py* إليك ما نحتاج إلى القيام به: +لدمج *llm.py* إليك ما نحتاج إلى فعله: - استيراد دالة `call_llm`: @@ -174,11 +178,15 @@ if __name__ == "__main__": }) ``` -رائع، الآن قمنا بما نحتاج إليه. +رائع، الآن انتهينا مما نحتاج إليه. + +## إعداد Cors -### إعداد Cors +يجب أن نشير إلى أننا قمنا بإعداد شيء مثل CORS، وهو مشاركة الموارد عبر الأصل. هذا يعني أنه نظرًا لأن الواجهة الخلفية والواجهة الأمامية ستعملان على منافذ مختلفة، نحتاج إلى السماح للواجهة الأمامية بالاتصال بالواجهة الخلفية. -يجب أن نشير إلى أننا قمنا بإعداد شيء مثل CORS، مشاركة الموارد عبر الأصل. هذا يعني أنه نظرًا لأن الجزء الخلفي والواجهة الأمامية سيعملان على منافذ مختلفة، نحتاج إلى السماح للواجهة الأمامية بالاتصال بالجزء الخلفي. هناك قطعة من الكود في *api.py* تقوم بإعداد هذا: +### استخدام Python + +هناك جزء من الكود في *api.py* يقوم بإعداد هذا: ```python from flask_cors import CORS @@ -187,11 +195,15 @@ app = Flask(__name__) CORS(app) # * example.com ``` -حاليًا تم إعدادها للسماح بـ "*" وهو جميع الأصول، وهذا غير آمن قليلاً، يجب أن نقوم بتقييده بمجرد الانتقال إلى الإنتاج. +حاليًا تم إعداده للسماح بـ "*" وهو جميع الأصول، وهذا غير آمن قليلاً، يجب تقييده بمجرد الانتقال إلى الإنتاج. + +## تشغيل مشروعك -## تشغيل المشروع +لتشغيل مشروعك، تحتاج إلى تشغيل الواجهة الخلفية أولاً ثم الواجهة الأمامية. -حسنًا، لدينا *llm.py* و *api.py*، كيف يمكننا جعل هذا يعمل مع الجزء الخلفي؟ حسنًا، هناك شيئان نحتاج إلى القيام بهما: +### استخدام Python + +حسنًا، لدينا *llm.py* و *api.py*، كيف يمكننا جعل هذا يعمل مع واجهة خلفية؟ حسنًا، هناك شيئان نحتاج إلى القيام بهما: - تثبيت التبعيات: @@ -209,11 +221,11 @@ CORS(app) # * example.com python api.py ``` - إذا كنت تستخدم Codespaces، تحتاج إلى الانتقال إلى المنافذ في الجزء السفلي من المحرر، انقر بزر الماوس الأيمن فوقه وانقر على "Port Visibility" واختر "Public". + إذا كنت تستخدم Codespaces، تحتاج إلى الانتقال إلى المنافذ في الجزء السفلي من المحرر، انقر بزر الماوس الأيمن عليها واختر "Port Visibility" وحدد "Public". ### العمل على واجهة أمامية -الآن بعد أن أصبح لدينا واجهة برمجة تطبيقات تعمل، دعونا ننشئ واجهة أمامية لهذا. واجهة أمامية بسيطة للغاية سنقوم بتحسينها خطوة بخطوة. في مجلد *frontend*، قم بإنشاء ما يلي: +الآن بعد أن أصبح لدينا واجهة برمجة تطبيقات تعمل، لنقم بإنشاء واجهة أمامية لهذا. واجهة أمامية بسيطة للغاية سنقوم بتحسينها خطوة بخطوة. في مجلد *frontend*، قم بإنشاء ما يلي: ```text backend/ @@ -241,7 +253,7 @@ styles.css ``` -ما سبق هو الحد الأدنى المطلق الذي تحتاجه لدعم نافذة دردشة، حيث يتكون من منطقة نصية يتم فيها عرض الرسائل، ومدخل لكتابة الرسالة وزر لإرسال رسالتك إلى الجزء الخلفي. دعونا نلقي نظرة على JavaScript بعد ذلك في *app.js* +ما سبق هو الحد الأدنى المطلق الذي تحتاجه لدعم نافذة دردشة، حيث يتكون من منطقة نصية يتم فيها عرض الرسائل، وحقل إدخال لكتابة الرسالة، وزر لإرسال رسالتك إلى الواجهة الخلفية. لنلقِ نظرة على JavaScript بعد ذلك في *app.js* **app.js** @@ -298,14 +310,14 @@ styles.css })(); ``` -لنقم بمراجعة الكود حسب القسم: +لنقم بمراجعة الكود لكل قسم: - 1) هنا نحصل على مرجع لجميع العناصر التي سنشير إليها لاحقًا في الكود. -- 2) في هذا القسم، ننشئ دالة تستخدم طريقة `fetch` المدمجة التي تستدعي الجزء الخلفي. +- 2) في هذا القسم، ننشئ دالة تستخدم الطريقة المدمجة `fetch` التي تستدعي واجهتنا الخلفية. - 3) `appendMessage` تساعد في إضافة الردود وكذلك ما تكتبه كمستخدم. -- 4) هنا نستمع إلى حدث الإرسال وننتهي بقراءة حقل الإدخال، وضع رسالة المستخدم في منطقة النص، استدعاء واجهة برمجة التطبيقات، وعرض الرد في منطقة النص. +- 4) هنا نستمع إلى حدث الإرسال وننتهي بقراءة حقل الإدخال، ووضع رسالة المستخدم في منطقة النص، واستدعاء واجهة برمجة التطبيقات، وعرض الرد في منطقة النص. -دعونا نلقي نظرة على التنسيق بعد ذلك، هنا يمكنك أن تكون مبدعًا حقًا وتجعلها تبدو كما تريد، ولكن إليك بعض الاقتراحات: +لنلقِ نظرة على التنسيق بعد ذلك، هنا يمكنك أن تكون مبدعًا وتجعله يبدو كما تريد، ولكن إليك بعض الاقتراحات: **styles.css** @@ -326,14 +338,14 @@ styles.css } ``` -مع هذه الفئات الثلاث، ستقوم بتنسيق الرسائل بشكل مختلف اعتمادًا على مصدرها سواء من المساعد أو منك كمستخدم. إذا كنت تريد الإلهام، تحقق من مجلد `solution/frontend/styles.css`. +مع هذه الفئات الثلاث، ستقوم بتنسيق الرسائل بشكل مختلف بناءً على مصدرها، سواء من المساعد أو منك كمستخدم. إذا كنت بحاجة إلى الإلهام، تحقق من مجلد `solution/frontend/styles.css`. ### تغيير عنوان URL الأساسي -كان هناك شيء هنا لم نقم بإعداده وهو `BASE_URL`، هذا غير معروف حتى يتم تشغيل الجزء الخلفي. لإعداده: +كان هناك شيء واحد لم نقم بتعيينه هنا وهو `BASE_URL`، هذا غير معروف حتى يتم تشغيل الواجهة الخلفية. لتعيينه: -- إذا كنت تشغل واجهة برمجة التطبيقات محليًا، يجب أن يتم تعيينه إلى شيء مثل `http://localhost:5000`. -- إذا كنت تشغلها في Codespaces، يجب أن تبدو مثل "[name]app.github.dev". +- إذا كنت تشغل واجهة برمجة التطبيقات محليًا، يجب تعيينه إلى شيء مثل `http://localhost:5000`. +- إذا كنت تشغلها في Codespaces، يجب أن يبدو مثل "[name]app.github.dev". ## المهمة @@ -346,11 +358,10 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` -انسخ المحتوى مما تم توجيهه أعلاه ولكن لا تتردد في تخصيصه حسب رغبتك. +انسخ المحتوى من التعليمات أعلاه ولكن لا تتردد في تخصيصه حسب رغبتك. ## الحل @@ -358,17 +369,23 @@ project/ ## إضافي -حاول تغيير شخصية مساعد الذكاء الاصطناعي. عندما تستدعي `call_llm` في *api.py* يمكنك تغيير الوسيطة الثانية إلى ما تريد، على سبيل المثال: +حاول تغيير شخصية مساعد الذكاء الاصطناعي. + +### بالنسبة لـ Python + +عند استدعاء `call_llm` في *api.py* يمكنك تغيير الوسيط الثاني إلى ما تريد، على سبيل المثال: ```python call_llm(message, "You are Captain Picard") ``` -قم أيضًا بتغيير CSS والنص حسب رغبتك، لذا قم بإجراء تغييرات في *index.html* و *styles.css*. +### الواجهة الأمامية + +قم أيضًا بتغيير CSS والنصوص حسب رغبتك، لذا قم بإجراء تغييرات في *index.html* و *styles.css*. ## الملخص -رائع، لقد تعلمت من البداية كيفية إنشاء مساعد شخصي باستخدام الذكاء الاصطناعي. قمنا بذلك باستخدام نماذج GitHub، جزء خلفي بلغة Python وواجهة أمامية بـ HTML، CSS و JavaScript. +رائع، لقد تعلمت من الصفر كيفية إنشاء مساعد شخصي باستخدام الذكاء الاصطناعي. قمنا بذلك باستخدام نماذج GitHub، واجهة خلفية بلغة Python وواجهة أمامية باستخدام HTML وCSS وJavaScript. ## الإعداد باستخدام Codespaces @@ -386,4 +403,4 @@ call_llm(message, "You are Captain Picard") --- **إخلاء المسؤولية**: -تم ترجمة هذا المستند باستخدام خدمة الترجمة الآلية [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية هو المصدر الموثوق. للحصول على معلومات حساسة أو هامة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة. \ No newline at end of file +تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة. \ No newline at end of file diff --git a/translations/ar/9-chat-project/solution/README.md b/translations/ar/9-chat-project/solution/README.md index 4e652450..7b92302d 100644 --- a/translations/ar/9-chat-project/solution/README.md +++ b/translations/ar/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# تشغيل الكود +# تشغيل الحل -## الإعداد - -إنشاء بيئة افتراضية - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## تثبيت التبعيات - -```sh -pip install openai flask flask-cors -``` - -## تشغيل واجهة برمجة التطبيقات (API) - -```sh -python api.py -``` - -## تشغيل الواجهة الأمامية - -تأكد من أنك في مجلد الواجهة الأمامية - -ابحث عن *app.js*، وقم بتغيير `BASE_URL` إلى عنوان URL الخاص بواجهة برمجة التطبيقات الخلفية لديك - -قم بتشغيله - -``` -npx http-server -p 8000 -``` - -حاول كتابة رسالة في الدردشة، يجب أن ترى استجابة (بشرط أنك تقوم بتشغيل هذا في Codespace أو قمت بإعداد رمز وصول). - -## إعداد رمز الوصول (إذا لم تقم بتشغيل هذا في Codespace) - -راجع [إعداد PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. قم بتشغيل [الخلفية](./backend/README.md) +1. الآن قم بتشغيل [الواجهة الأمامية](./frontend/README.md) --- **إخلاء المسؤولية**: -تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة. \ No newline at end of file +تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة. \ No newline at end of file diff --git a/translations/ar/9-chat-project/solution/backend/README.md b/translations/ar/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..00ac8f27 --- /dev/null +++ b/translations/ar/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +اختر بيئة التشغيل + +- [Python](./python/README.md) + +--- + +**إخلاء المسؤولية**: +تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة. \ No newline at end of file diff --git a/translations/ar/9-chat-project/solution/backend/python/README.md b/translations/ar/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..3536aabb --- /dev/null +++ b/translations/ar/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# تشغيل الكود + +## الإعداد + +إنشاء بيئة افتراضية + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## تثبيت التبعيات + +```sh +pip install openai flask flask-cors +``` + +## تشغيل واجهة برمجة التطبيقات (API) + +```sh +python api.py +``` + +## تشغيل الواجهة الأمامية + +تأكد من أنك في مجلد الواجهة الأمامية + +ابحث عن *app.js*، وقم بتغيير `BASE_URL` إلى عنوان URL الخاص بالخادم الخلفي لديك + +قم بتشغيله + +``` +npx http-server -p 8000 +``` + +حاول كتابة رسالة في الدردشة، يجب أن ترى استجابة (بشرط أن تكون تعمل في Codespace أو قد قمت بإعداد رمز الوصول). + +## إعداد رمز الوصول (إذا لم تكن تعمل في Codespace) + +راجع [إعداد PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**إخلاء المسؤولية**: +تم ترجمة هذه الوثيقة باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار الوثيقة الأصلية بلغتها الأصلية المصدر الموثوق. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة. \ No newline at end of file diff --git a/translations/ar/9-chat-project/solution/frontend/README.md b/translations/ar/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..1d48d658 --- /dev/null +++ b/translations/ar/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# تشغيل الكود + +```sh +npx http-server -p 3000 +``` + +ابحث عن `BASE_URL` في `app.js` وقم بتغييره ليطابق عنوان URL الخاص بالخادم الخلفي. + +--- + +**إخلاء المسؤولية**: +تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة. \ No newline at end of file diff --git a/translations/bg/9-chat-project/README.md b/translations/bg/9-chat-project/README.md index 5d04bdff..0abc0e3f 100644 --- a/translations/bg/9-chat-project/README.md +++ b/translations/bg/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Стартиране на код +# Стартиране на решение -## Настройка - -Създайте виртуална среда - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Инсталирайте зависимости - -```sh -pip install openai flask flask-cors -``` - -## Стартирайте API - -```sh -python api.py -``` - -## Стартирайте фронтенда - -Уверете се, че сте в папката на фронтенда - -Намерете *app.js*, променете `BASE_URL` на URL адреса на вашия бекенд - -Стартирайте го - -``` -npx http-server -p 8000 -``` - -Опитайте да напишете съобщение в чата, трябва да видите отговор (ако го стартирате в Codespace или сте настроили токен за достъп). - -## Настройка на токен за достъп (ако не го стартирате в Codespace) - -Вижте [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Стартирайте [backend](./backend/README.md) +1. Сега стартирайте [frontend](./frontend/README.md) --- **Отказ от отговорност**: -Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматичните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия изходен език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален превод от човек. Ние не носим отговорност за каквито и да е недоразумения или погрешни интерпретации, произтичащи от използването на този превод. \ No newline at end of file +Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод. \ No newline at end of file diff --git a/translations/bg/9-chat-project/solution/backend/README.md b/translations/bg/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..8eb60a43 --- /dev/null +++ b/translations/bg/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Изберете вашата среда за изпълнение + +- [Python](./python/README.md) + +--- + +**Отказ от отговорност**: +Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод. \ No newline at end of file diff --git a/translations/bg/9-chat-project/solution/backend/python/README.md b/translations/bg/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..d2514a80 --- /dev/null +++ b/translations/bg/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Стартиране на код + +## Настройка + +Създайте виртуална среда + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Инсталирайте зависимости + +```sh +pip install openai flask flask-cors +``` + +## Стартирайте API + +```sh +python api.py +``` + +## Стартирайте фронтенда + +Уверете се, че се намирате в папката на фронтенда + +Намерете *app.js*, променете `BASE_URL` на URL адреса на вашия бекенд + +Стартирайте го + +``` +npx http-server -p 8000 +``` + +Опитайте да напишете съобщение в чата, трябва да видите отговор (ако го стартирате в Codespace или сте настроили access token). + +## Настройка на access token (ако не го стартирате в Codespace) + +Вижте [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Отказ от отговорност**: +Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод. \ No newline at end of file diff --git a/translations/bg/9-chat-project/solution/frontend/README.md b/translations/bg/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..9c230180 --- /dev/null +++ b/translations/bg/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Стартирайте кода + +```sh +npx http-server -p 3000 +``` + +Намерете `BASE_URL` в `app.js` и го променете така, че да съответства на URL адреса на бекенда. + +--- + +**Отказ от отговорност**: +Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод. \ No newline at end of file diff --git a/translations/bn/9-chat-project/README.md b/translations/bn/9-chat-project/README.md index ff333df6..024497cd 100644 --- a/translations/bn/9-chat-project/README.md +++ b/translations/bn/9-chat-project/README.md @@ -1,8 +1,8 @@ -# কোড চালানো +# সমাধান চালান -## সেটআপ - -ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## নির্ভরশীলতাগুলি ইনস্টল করুন - -```sh -pip install openai flask flask-cors -``` - -## এপিআই চালান - -```sh -python api.py -``` - -## ফ্রন্টএন্ড চালান - -নিশ্চিত করুন যে আপনি ফ্রন্টএন্ড ফোল্ডারে অবস্থান করছেন - -*app.js* ফাইলটি খুঁজুন, `BASE_URL`-কে আপনার ব্যাকএন্ড URL-এ পরিবর্তন করুন - -এটি চালান - -``` -npx http-server -p 8000 -``` - -চ্যাটে একটি বার্তা টাইপ করার চেষ্টা করুন, আপনি একটি উত্তর দেখতে পাবেন (যদি আপনি এটি Codespace-এ চালাচ্ছেন বা একটি অ্যাক্সেস টোকেন সেটআপ করেছেন)। - -## অ্যাক্সেস টোকেন সেটআপ করুন (যদি আপনি এটি Codespace-এ চালাচ্ছেন না) - -[ব্যক্তিগত অ্যাক্সেস টোকেন সেটআপ](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) দেখুন +1. [ব্যাকএন্ড](./backend/README.md) চালু করুন +1. এখন [ফ্রন্টএন্ড](./frontend/README.md) চালু করুন --- **অস্বীকৃতি**: -এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় রচিত সংস্করণটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই। \ No newline at end of file +এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিকতার জন্য চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না। \ No newline at end of file diff --git a/translations/bn/9-chat-project/solution/backend/README.md b/translations/bn/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..57be2670 --- /dev/null +++ b/translations/bn/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +আপনার রানটাইম নির্বাচন করুন + +- [Python](./python/README.md) + +--- + +**অস্বীকৃতি**: +এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় লেখা সংস্করণটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ ব্যবহার করার পরামর্শ দেওয়া হচ্ছে। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই। \ No newline at end of file diff --git a/translations/bn/9-chat-project/solution/backend/python/README.md b/translations/bn/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..1aebb9bc --- /dev/null +++ b/translations/bn/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# কোড চালান + +## সেট আপ + +ভার্চুয়াল এনভায়রনমেন্ট তৈরি করুন + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## নির্ভরশীলতা ইনস্টল করুন + +```sh +pip install openai flask flask-cors +``` + +## এপিআই চালান + +```sh +python api.py +``` + +## ফ্রন্টএন্ড চালান + +নিশ্চিত করুন যে আপনি ফ্রন্টএন্ড ফোল্ডারে অবস্থান করছেন + +*app.js* ফাইলটি খুঁজুন, `BASE_URL` পরিবর্তন করে আপনার ব্যাকএন্ড URL দিন + +এটি চালান + +``` +npx http-server -p 8000 +``` + +চ্যাটে একটি বার্তা টাইপ করার চেষ্টা করুন, আপনি একটি প্রতিক্রিয়া দেখতে পাবেন (যদি আপনি এটি Codespace-এ চালাচ্ছেন বা একটি অ্যাক্সেস টোকেন সেট আপ করেছেন)। + +## অ্যাক্সেস টোকেন সেট আপ করুন (যদি আপনি এটি Codespace-এ চালাচ্ছেন না) + +[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) দেখুন + +--- + +**অস্বীকৃতি**: +এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না। \ No newline at end of file diff --git a/translations/bn/9-chat-project/solution/frontend/README.md b/translations/bn/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..27f6a9d0 --- /dev/null +++ b/translations/bn/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# কোড চালান + +```sh +npx http-server -p 3000 +``` + +`app.js`-এ `BASE_URL` খুঁজুন এবং এটি ব্যাকএন্ডের URL-এর সাথে মিলিয়ে পরিবর্তন করুন। + +--- + +**অস্বীকৃতি**: +এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না। \ No newline at end of file diff --git a/translations/br/9-chat-project/README.md b/translations/br/9-chat-project/README.md index ce98e21e..374cb664 100644 --- a/translations/br/9-chat-project/README.md +++ b/translations/br/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Executar o código +# Executar solução -## Configuração - -Crie um ambiente virtual - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Instale as dependências - -```sh -pip install openai flask flask-cors -``` - -## Execute a API - -```sh -python api.py -``` - -## Execute o frontend - -Certifique-se de estar na pasta do frontend - -Localize o arquivo *app.js* e altere `BASE_URL` para a URL do seu backend - -Execute o frontend - -``` -npx http-server -p 8000 -``` - -Tente digitar uma mensagem no chat, você deverá ver uma resposta (desde que esteja executando isso em um Codespace ou tenha configurado um token de acesso). - -## Configure o token de acesso (caso não esteja executando isso em um Codespace) - -Veja [Configurar PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Inicie o [backend](./backend/README.md) +1. Agora inicie o [frontend](./frontend/README.md) --- **Aviso Legal**: -Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte oficial. Para informações críticas, recomenda-se a tradução profissional feita por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução. \ No newline at end of file +Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução. \ No newline at end of file diff --git a/translations/br/9-chat-project/solution/backend/README.md b/translations/br/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..a5d923c6 --- /dev/null +++ b/translations/br/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Escolha seu ambiente de execução + +- [Python](./python/README.md) + +--- + +**Aviso Legal**: +Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução. \ No newline at end of file diff --git a/translations/br/9-chat-project/solution/backend/python/README.md b/translations/br/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..10115ee1 --- /dev/null +++ b/translations/br/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Executar código + +## Configuração + +Crie um ambiente virtual + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Instalar dependências + +```sh +pip install openai flask flask-cors +``` + +## Executar API + +```sh +python api.py +``` + +## Executar frontend + +Certifique-se de estar na pasta do frontend + +Localize *app.js*, altere `BASE_URL` para a URL do seu backend + +Execute + +``` +npx http-server -p 8000 +``` + +Tente digitar uma mensagem no chat, você deve ver uma resposta (desde que esteja executando isso em um Codespace ou tenha configurado um token de acesso). + +## Configurar token de acesso (se você não estiver executando isso em um Codespace) + +Veja [Configurar PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Aviso Legal**: +Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução. \ No newline at end of file diff --git a/translations/br/9-chat-project/solution/frontend/README.md b/translations/br/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..338c41b5 --- /dev/null +++ b/translations/br/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Execute o código + +```sh +npx http-server -p 3000 +``` + +Localize o `BASE_URL` em `app.js` e altere para corresponder ao URL do backend. + +--- + +**Aviso Legal**: +Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução. \ No newline at end of file diff --git a/translations/cs/9-chat-project/README.md b/translations/cs/9-chat-project/README.md index 4b04d5d8..ffa93136 100644 --- a/translations/cs/9-chat-project/README.md +++ b/translations/cs/9-chat-project/README.md @@ -1,15 +1,15 @@ # Chat projekt -Tento chat projekt ukazuje, jak vytvořit Chat Asistenta pomocí GitHub Models. +Tento chat projekt ukazuje, jak vytvořit Chat Assistenta pomocí GitHub Models. Takto vypadá hotový projekt: @@ -17,9 +17,9 @@ Takto vypadá hotový projekt: Chat app -Trocha kontextu: vytváření chatovacích asistentů pomocí generativní AI je skvělý způsob, jak začít učit se o AI. V této lekci se naučíte, jak integrovat generativní AI do webové aplikace. Pojďme začít. +Trochu kontextu: vytváření chatovacích asistentů pomocí generativní AI je skvělý způsob, jak začít učit se o AI. V této lekci se naučíte, jak integrovat generativní AI do webové aplikace. Pojďme začít. -## Připojení ke generativní AI +## Připojení k generativní AI Pro backend používáme GitHub Models. Je to skvělá služba, která vám umožňuje používat AI zdarma. Přejděte na její playground a získejte kód odpovídající vašemu zvolenému backendovému jazyku. Takto to vypadá na [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) @@ -33,6 +33,8 @@ Jak jsme zmínili, vyberte záložku "Code" a svůj zvolený runtime. playground choice +### Použití Pythonu + V tomto případě vybereme Python, což znamená, že použijeme tento kód: ```python @@ -70,7 +72,7 @@ response = client.chat.completions.create( print(response.choices[0].message.content) ``` -Trochu tento kód upravíme, aby byl znovu použitelný: +Trochu upravme tento kód, aby byl znovu použitelný: ```python def call_llm(prompt: str, system_message: str): @@ -106,7 +108,9 @@ call_llm("Tell me about you", "You're Albert Einstein, you only know of things i ## Zpřístupnění přes Web API -Skvělé, máme hotovou AI část, podívejme se, jak ji můžeme integrovat do Web API. Pro Web API jsme se rozhodli použít Flask, ale jakýkoli webový framework by měl být vhodný. Podívejme se na kód: +Skvělé, máme hotovou AI část, podívejme se, jak ji můžeme integrovat do Web API. Pro Web API jsme se rozhodli použít Flask, ale jakýkoli webový framework by měl být v pořádku. Podívejme se na kód: + +### Použití Pythonu ```python # api.py @@ -139,7 +143,7 @@ if __name__ == "__main__": Zde vytvoříme Flask API a definujeme výchozí trasu "/" a "/chat". Druhá je určena pro použití naším frontendem k předávání otázek. -Pro integraci *llm.py* je třeba udělat následující: +Pro integraci *llm.py* potřebujeme udělat následující: - Importovat funkci `call_llm`: @@ -176,9 +180,13 @@ Pro integraci *llm.py* je třeba udělat následující: Skvělé, nyní máme hotovo, co jsme potřebovali. -### Nastavení Cors +## Nastavení Cors + +Je třeba zmínit, že jsme nastavili něco jako CORS, sdílení zdrojů mezi různými originy. To znamená, že protože náš backend a frontend budou běžet na různých portech, musíme umožnit frontendu volat backend. -Je třeba zmínit, že jsme nastavili něco jako CORS, sdílení zdrojů mezi různými originy. To znamená, že protože náš backend a frontend budou běžet na různých portech, musíme umožnit frontendu volat backend. V *api.py* je kód, který to nastavuje: +### Použití Pythonu + +V *api.py* je kód, který to nastavuje: ```python from flask_cors import CORS @@ -191,7 +199,11 @@ Momentálně je nastaveno na povolení "*" což znamená všechny originy, což ## Spuštění projektu -Dobře, máme *llm.py* a *api.py*, jak to můžeme zprovoznit s backendem? Jsou dvě věci, které musíme udělat: +Pro spuštění projektu je třeba nejprve spustit backend a poté frontend. + +### Použití Pythonu + +Dobře, máme *llm.py* a *api.py*, jak to můžeme zprovoznit s backendem? Potřebujeme udělat dvě věci: - Nainstalovat závislosti: @@ -213,7 +225,7 @@ Dobře, máme *llm.py* a *api.py*, jak to můžeme zprovoznit s backendem? Jsou ### Práce na frontendu -Nyní, když máme API spuštěné, vytvoříme frontend pro tento projekt. Minimální frontend, který budeme postupně vylepšovat. Ve složce *frontend* vytvořte následující: +Nyní, když máme API spuštěné, vytvoříme frontend. Minimální frontend, který budeme postupně vylepšovat. Ve složce *frontend* vytvořte následující: ```text backend/ @@ -330,10 +342,10 @@ S těmito třemi třídami budete stylovat zprávy různě podle toho, odkud poc ### Změna Base Url -Jedna věc, kterou jsme zde nenastavili, je `BASE_URL`, která není známa, dokud není backend spuštěn. Nastavte ji takto: +Jedna věc, kterou jsme zde nenastavili, byla `BASE_URL`, která není známa, dokud není backend spuštěn. Pro nastavení: - Pokud spouštíte API lokálně, mělo by být nastaveno na něco jako `http://localhost:5000`. -- Pokud běží v Codespaces, mělo by vypadat něco jako "[name]app.github.dev". +- Pokud běží v Codespaces, mělo by vypadat jako "[name]app.github.dev". ## Úkol @@ -346,8 +358,7 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` Zkopírujte obsah z toho, co bylo uvedeno výše, ale klidně si jej přizpůsobte podle svých představ. @@ -358,32 +369,38 @@ Zkopírujte obsah z toho, co bylo uvedeno výše, ale klidně si jej přizpůsob ## Bonus -Zkuste změnit osobnost AI asistenta. Když voláte `call_llm` v *api.py*, můžete změnit druhý argument na cokoli chcete, například: +Zkuste změnit osobnost AI asistenta. + +### Pro Python + +Když voláte `call_llm` v *api.py*, můžete změnit druhý argument na to, co chcete, například: ```python call_llm(message, "You are Captain Picard") ``` +### Frontend + Změňte také CSS a text podle svých představ, tedy proveďte změny v *index.html* a *styles.css*. ## Shrnutí -Skvělé, naučili jste se od základů, jak vytvořit osobního asistenta pomocí AI. Udělali jsme to pomocí GitHub Models, backendu v Pythonu a frontendu v HTML, CSS a JavaScriptu. +Skvělé, naučili jste se od začátku, jak vytvořit osobního asistenta pomocí AI. Udělali jsme to pomocí GitHub Models, backendu v Pythonu a frontendu v HTML, CSS a JavaScriptu. ## Nastavení s Codespaces - Přejděte na: [Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) - Vytvořte z šablony (ujistěte se, že jste přihlášeni na GitHub) v pravém horním rohu: - ![Vytvořit ze šablony](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.cs.png) + ![Create from template](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.cs.png) -- Jakmile budete ve svém repozitáři, vytvořte Codespace: +- Jakmile jste ve svém repozitáři, vytvořte Codespace: - ![Vytvořit codespace](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.cs.png) + ![Create codespace](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.cs.png) To by mělo spustit prostředí, se kterým nyní můžete pracovat. --- **Prohlášení**: -Tento dokument byl přeložen pomocí služby pro automatický překlad [Co-op Translator](https://github.com/Azure/co-op-translator). I když se snažíme o co největší přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za závazný zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné výklady vyplývající z použití tohoto překladu. \ No newline at end of file +Tento dokument byl přeložen pomocí služby AI pro překlady [Co-op Translator](https://github.com/Azure/co-op-translator). Ačkoli se snažíme o přesnost, mějte na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Neodpovídáme za žádné nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu. \ No newline at end of file diff --git a/translations/cs/9-chat-project/solution/README.md b/translations/cs/9-chat-project/solution/README.md index 1cd3635a..e4261ffa 100644 --- a/translations/cs/9-chat-project/solution/README.md +++ b/translations/cs/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# Spuštění kódu +# Spuštění řešení -## Nastavení - -Vytvořte virtuální prostředí - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Instalace závislostí - -```sh -pip install openai flask flask-cors -``` - -## Spuštění API - -```sh -python api.py -``` - -## Spuštění frontendové části - -Ujistěte se, že se nacházíte ve složce frontend - -Najděte *app.js*, změňte `BASE_URL` na URL vašeho backendu - -Spusťte to - -``` -npx http-server -p 8000 -``` - -Zkuste napsat zprávu do chatu, měli byste vidět odpověď (za předpokladu, že to spouštíte v Codespace nebo máte nastavený přístupový token). - -## Nastavení přístupového tokenu (pokud to nespouštíte v Codespace) - -Viz [Nastavení PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Spusťte [backend](./backend/README.md) +1. Nyní spusťte [frontend](./frontend/README.md) --- **Prohlášení**: -Tento dokument byl přeložen pomocí služby pro automatický překlad [Co-op Translator](https://github.com/Azure/co-op-translator). I když se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za závazný zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné výklady vyplývající z použití tohoto překladu. \ No newline at end of file +Tento dokument byl přeložen pomocí služby pro automatický překlad [Co-op Translator](https://github.com/Azure/co-op-translator). Ačkoli se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádné nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu. \ No newline at end of file diff --git a/translations/cs/9-chat-project/solution/backend/README.md b/translations/cs/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..3ed4ed3b --- /dev/null +++ b/translations/cs/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Vyberte svůj runtime + +- [Python](./python/README.md) + +--- + +**Prohlášení**: +Tento dokument byl přeložen pomocí služby pro automatický překlad [Co-op Translator](https://github.com/Azure/co-op-translator). I když se snažíme o přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za závazný zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu. \ No newline at end of file diff --git a/translations/cs/9-chat-project/solution/backend/python/README.md b/translations/cs/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..720c83a0 --- /dev/null +++ b/translations/cs/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Spuštění kódu + +## Nastavení + +Vytvořte virtuální prostředí + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Instalace závislostí + +```sh +pip install openai flask flask-cors +``` + +## Spuštění API + +```sh +python api.py +``` + +## Spuštění frontendové části + +Ujistěte se, že se nacházíte ve složce frontend + +Najděte *app.js*, změňte `BASE_URL` na URL vašeho backendu + +Spusťte aplikaci + +``` +npx http-server -p 8000 +``` + +Zkuste napsat zprávu do chatu, měli byste vidět odpověď (za předpokladu, že to spouštíte v Codespace nebo máte nastavený přístupový token). + +## Nastavení přístupového tokenu (pokud to nespouštíte v Codespace) + +Podívejte se na [Nastavení PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Prohlášení**: +Tento dokument byl přeložen pomocí služby pro automatický překlad [Co-op Translator](https://github.com/Azure/co-op-translator). Ačkoli se snažíme o přesnost, mějte na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Neodpovídáme za žádné nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu. \ No newline at end of file diff --git a/translations/cs/9-chat-project/solution/frontend/README.md b/translations/cs/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..2b06a86c --- /dev/null +++ b/translations/cs/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Spusťte kód + +```sh +npx http-server -p 3000 +``` + +Najděte `BASE_URL` v `app.js` a změňte jej tak, aby odpovídal URL backendu. + +--- + +**Prohlášení**: +Tento dokument byl přeložen pomocí služby pro automatický překlad [Co-op Translator](https://github.com/Azure/co-op-translator). I když se snažíme o přesnost, mějte na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu. \ No newline at end of file diff --git a/translations/da/9-chat-project/README.md b/translations/da/9-chat-project/README.md index 98b9ed2d..10a00ce3 100644 --- a/translations/da/9-chat-project/README.md +++ b/translations/da/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Kør kode +# Kør løsning -## Opsætning - -Opret virtuelt miljø - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Installer afhængigheder - -```sh -pip install openai flask flask-cors -``` - -## Kør API - -```sh -python api.py -``` - -## Kør frontend - -Sørg for, at du står i frontend-mappen - -Find *app.js*, og ændr `BASE_URL` til URL'en for din backend - -Kør det - -``` -npx http-server -p 8000 -``` - -Prøv at skrive en besked i chatten, du bør se et svar (forudsat at du kører dette i en Codespace eller har opsat en adgangstoken). - -## Opsæt adgangstoken (hvis du ikke kører dette i en Codespace) - -Se [Opsæt PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Start [backend](./backend/README.md) +1. Start derefter [frontend](./frontend/README.md) --- **Ansvarsfraskrivelse**: -Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse. \ No newline at end of file +Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi er ikke ansvarlige for eventuelle misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse. \ No newline at end of file diff --git a/translations/da/9-chat-project/solution/backend/README.md b/translations/da/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..0c9264ce --- /dev/null +++ b/translations/da/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Vælg din runtime + +- [Python](./python/README.md) + +--- + +**Ansvarsfraskrivelse**: +Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi er ikke ansvarlige for eventuelle misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse. \ No newline at end of file diff --git a/translations/da/9-chat-project/solution/backend/python/README.md b/translations/da/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..aacdddb0 --- /dev/null +++ b/translations/da/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Kør kode + +## Opsætning + +Opret virtuelt miljø + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Installer afhængigheder + +```sh +pip install openai flask flask-cors +``` + +## Kør API + +```sh +python api.py +``` + +## Kør frontend + +Sørg for, at du står i frontend-mappen + +Find *app.js*, og ændr `BASE_URL` til URL'en for din backend + +Kør det + +``` +npx http-server -p 8000 +``` + +Prøv at skrive en besked i chatten, du bør se et svar (forudsat at du kører dette i en Codespace eller har opsat en adgangstoken). + +## Opsæt adgangstoken (hvis du ikke kører dette i en Codespace) + +Se [Opsæt PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Ansvarsfraskrivelse**: +Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os intet ansvar for misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse. \ No newline at end of file diff --git a/translations/da/9-chat-project/solution/frontend/README.md b/translations/da/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..b42630f5 --- /dev/null +++ b/translations/da/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Kør koden + +```sh +npx http-server -p 3000 +``` + +Find `BASE_URL` i `app.js` og ændr det, så det matcher URL'en til backend. + +--- + +**Ansvarsfraskrivelse**: +Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selvom vi bestræber os på nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi er ikke ansvarlige for eventuelle misforståelser eller fejltolkninger, der opstår som følge af brugen af denne oversættelse. \ No newline at end of file diff --git a/translations/de/9-chat-project/README.md b/translations/de/9-chat-project/README.md index 538ad2ed..ff0b27d9 100644 --- a/translations/de/9-chat-project/README.md +++ b/translations/de/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Code ausführen +# Lösung ausführen -## Einrichtung - -Virtuelle Umgebung erstellen - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Abhängigkeiten installieren - -```sh -pip install openai flask flask-cors -``` - -## API starten - -```sh -python api.py -``` - -## Frontend starten - -Stelle sicher, dass du dich im Frontend-Ordner befindest. - -Finde *app.js* und ändere `BASE_URL` auf die URL deines Backends. - -Starte es - -``` -npx http-server -p 8000 -``` - -Versuche, eine Nachricht im Chat einzugeben. Du solltest eine Antwort sehen (vorausgesetzt, du führst dies in einem Codespace aus oder hast ein Zugriffstoken eingerichtet). - -## Zugriffstoken einrichten (falls du dies nicht in einem Codespace ausführst) - -Siehe [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Starte das [Backend](./backend/README.md) +1. Starte nun das [Frontend](./frontend/README.md) --- diff --git a/translations/de/9-chat-project/solution/backend/README.md b/translations/de/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..1f601947 --- /dev/null +++ b/translations/de/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Wählen Sie Ihre Laufzeitumgebung + +- [Python](./python/README.md) + +--- + +**Haftungsausschluss**: +Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache sollte als maßgebliche Quelle betrachtet werden. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die sich aus der Nutzung dieser Übersetzung ergeben. \ No newline at end of file diff --git a/translations/de/9-chat-project/solution/backend/python/README.md b/translations/de/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..e409d9bf --- /dev/null +++ b/translations/de/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Code ausführen + +## Einrichtung + +Virtuelle Umgebung erstellen + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Abhängigkeiten installieren + +```sh +pip install openai flask flask-cors +``` + +## API starten + +```sh +python api.py +``` + +## Frontend starten + +Stelle sicher, dass du dich im Frontend-Ordner befindest. + +Suche *app.js* und ändere `BASE_URL` auf die URL deines Backends. + +Starte es + +``` +npx http-server -p 8000 +``` + +Versuche, eine Nachricht im Chat einzugeben. Du solltest eine Antwort sehen (vorausgesetzt, du führst dies in einem Codespace aus oder hast ein Zugriffstoken eingerichtet). + +## Zugriffstoken einrichten (falls du dies nicht in einem Codespace ausführst) + +Siehe [PAT einrichten](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Haftungsausschluss**: +Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache sollte als maßgebliche Quelle betrachtet werden. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die sich aus der Nutzung dieser Übersetzung ergeben. \ No newline at end of file diff --git a/translations/de/9-chat-project/solution/frontend/README.md b/translations/de/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..22c10a73 --- /dev/null +++ b/translations/de/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Code ausführen + +```sh +npx http-server -p 3000 +``` + +Suchen Sie die `BASE_URL` in `app.js` und ändern Sie sie so, dass sie der URL des Backends entspricht. + +--- + +**Haftungsausschluss**: +Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache sollte als maßgebliche Quelle betrachtet werden. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die sich aus der Nutzung dieser Übersetzung ergeben. \ No newline at end of file diff --git a/translations/el/9-chat-project/README.md b/translations/el/9-chat-project/README.md index ab5732bf..f4cc3aec 100644 --- a/translations/el/9-chat-project/README.md +++ b/translations/el/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Εκτέλεση κώδικα +# Εκτέλεση λύσης -## Ρύθμιση - -Δημιουργήστε εικονικό περιβάλλον - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Εγκατάσταση εξαρτήσεων - -```sh -pip install openai flask flask-cors -``` - -## Εκτέλεση API - -```sh -python api.py -``` - -## Εκτέλεση frontend - -Βεβαιωθείτε ότι βρίσκεστε στον φάκελο του frontend - -Εντοπίστε το *app.js*, αλλάξτε το `BASE_URL` στη διεύθυνση URL του backend σας - -Εκτελέστε το - -``` -npx http-server -p 8000 -``` - -Δοκιμάστε να πληκτρολογήσετε ένα μήνυμα στη συνομιλία, θα πρέπει να δείτε μια απάντηση (υπό την προϋπόθεση ότι το εκτελείτε σε ένα Codespace ή έχετε ρυθμίσει ένα access token). - -## Ρύθμιση access token (αν δεν το εκτελείτε σε ένα Codespace) - -Δείτε [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Ξεκινήστε το [backend](./backend/README.md) +1. Τώρα ξεκινήστε το [frontend](./frontend/README.md) --- **Αποποίηση ευθύνης**: -Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε κάθε προσπάθεια για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης. \ No newline at end of file +Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης. \ No newline at end of file diff --git a/translations/el/9-chat-project/solution/backend/README.md b/translations/el/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..46ebd55d --- /dev/null +++ b/translations/el/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Επιλέξτε το περιβάλλον εκτέλεσης + +- [Python](./python/README.md) + +--- + +**Αποποίηση ευθύνης**: +Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης. \ No newline at end of file diff --git a/translations/el/9-chat-project/solution/backend/python/README.md b/translations/el/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..55d2738f --- /dev/null +++ b/translations/el/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Εκτέλεση κώδικα + +## Ρύθμιση + +Δημιουργήστε εικονικό περιβάλλον + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Εγκατάσταση εξαρτήσεων + +```sh +pip install openai flask flask-cors +``` + +## Εκτέλεση API + +```sh +python api.py +``` + +## Εκτέλεση frontend + +Βεβαιωθείτε ότι βρίσκεστε στον φάκελο του frontend + +Εντοπίστε το *app.js*, αλλάξτε το `BASE_URL` στη διεύθυνση URL του backend σας + +Εκτελέστε το + +``` +npx http-server -p 8000 +``` + +Δοκιμάστε να πληκτρολογήσετε ένα μήνυμα στη συνομιλία, θα πρέπει να δείτε μια απάντηση (υπό την προϋπόθεση ότι το εκτελείτε σε ένα Codespace ή έχετε ρυθμίσει ένα access token). + +## Ρύθμιση access token (αν δεν το εκτελείτε σε Codespace) + +Δείτε [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Αποποίηση ευθύνης**: +Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης. \ No newline at end of file diff --git a/translations/el/9-chat-project/solution/frontend/README.md b/translations/el/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..e522b248 --- /dev/null +++ b/translations/el/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Εκτελέστε τον κώδικα + +```sh +npx http-server -p 3000 +``` + +Βρείτε το `BASE_URL` στο `app.js` και αλλάξτε το ώστε να ταιριάζει με το URL του backend. + +--- + +**Αποποίηση ευθύνης**: +Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης. \ No newline at end of file diff --git a/translations/en/9-chat-project/README.md b/translations/en/9-chat-project/README.md index 6180dac4..e3ff68d8 100644 --- a/translations/en/9-chat-project/README.md +++ b/translations/en/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Run code +# Run solution -## Set up - -Create a virtual environment - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Install dependencies - -```sh -pip install openai flask flask-cors -``` - -## Run API - -```sh -python api.py -``` - -## Run frontend - -Make sure you're in the frontend folder - -Find *app.js*, and update `BASE_URL` to match your backend URL - -Run the application - -``` -npx http-server -p 8000 -``` - -Try typing a message in the chat; you should see a response (assuming you're running this in a Codespace or have set up an access token). - -## Set up access token (if you're not running this in a Codespace) - -Refer to [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Start the [backend](./backend/README.md) +1. Then start the [frontend](./frontend/README.md) --- diff --git a/translations/en/9-chat-project/solution/backend/README.md b/translations/en/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..65bed648 --- /dev/null +++ b/translations/en/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Choose your runtime + +- [Python](./python/README.md) + +--- + +**Disclaimer**: +This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we aim for accuracy, please note that automated translations may include errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is advised. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation. \ No newline at end of file diff --git a/translations/en/9-chat-project/solution/backend/python/README.md b/translations/en/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..49021cb2 --- /dev/null +++ b/translations/en/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Run code + +## Set up + +Create a virtual environment + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Install dependencies + +```sh +pip install openai flask flask-cors +``` + +## Run API + +```sh +python api.py +``` + +## Run frontend + +Make sure you're in the frontend folder. + +Find *app.js* and update `BASE_URL` to match your backend URL. + +Run the application. + +``` +npx http-server -p 8000 +``` + +Try typing a message in the chat; you should see a response (as long as you're running this in a Codespace or have set up an access token). + +## Set up access token (if you're not running this in a Codespace) + +Refer to [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Disclaimer**: +This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we aim for accuracy, please note that automated translations may include errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is advised. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation. \ No newline at end of file diff --git a/translations/en/9-chat-project/solution/frontend/README.md b/translations/en/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..00f93558 --- /dev/null +++ b/translations/en/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Run the code + +```sh +npx http-server -p 3000 +``` + +Find the `BASE_URL` in `app.js` and update it to match the backend URL. + +--- + +**Disclaimer**: +This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we aim for accuracy, please note that automated translations may include errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is advised. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation. \ No newline at end of file diff --git a/translations/es/9-chat-project/README.md b/translations/es/9-chat-project/README.md index c7d14c47..6c051b58 100644 --- a/translations/es/9-chat-project/README.md +++ b/translations/es/9-chat-project/README.md @@ -1,15 +1,15 @@ # Proyecto de Chat -Este proyecto de chat muestra cómo construir un Asistente de Chat utilizando los Modelos de GitHub. +Este proyecto de chat muestra cómo construir un Asistente de Chat utilizando GitHub Models. Así es como se ve el proyecto terminado: @@ -17,11 +17,11 @@ Así es como se ve el proyecto terminado: Aplicación de chat -Un poco de contexto: construir asistentes de chat utilizando IA generativa es una excelente manera de comenzar a aprender sobre IA. Lo que aprenderás es a integrar IA generativa en una aplicación web a lo largo de esta lección. ¡Comencemos! +Un poco de contexto: construir asistentes de chat utilizando IA generativa es una excelente manera de comenzar a aprender sobre IA. Lo que aprenderás es cómo integrar IA generativa en una aplicación web a lo largo de esta lección. ¡Comencemos! ## Conectando con IA generativa -Para el backend, estamos utilizando los Modelos de GitHub. Es un gran servicio que te permite usar IA de forma gratuita. Ve a su playground y obtén el código que corresponde a tu lenguaje de backend elegido. Así es como se ve en [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) +Para el backend, estamos utilizando GitHub Models. Es un excelente servicio que te permite usar IA de forma gratuita. Ve a su playground y obtén el código que corresponde al lenguaje de backend que elijas. Así es como se ve en [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground)
GitHub Models AI Playground @@ -33,6 +33,8 @@ Como mencionamos, selecciona la pestaña "Code" y tu entorno de ejecución prefe Elección en el playground
+### Usando Python + En este caso, seleccionamos Python, lo que significa que elegimos este código: ```python @@ -70,7 +72,7 @@ response = client.chat.completions.create( print(response.choices[0].message.content) ``` -Vamos a limpiar este código un poco para que sea reutilizable: +Limpiemos un poco este código para que sea reutilizable: ```python def call_llm(prompt: str, system_message: str): @@ -94,7 +96,7 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -Con esta función `call_llm`, ahora podemos tomar un prompt y un prompt del sistema, y la función devolverá el resultado. +Con esta función `call_llm` ahora podemos tomar un prompt y un prompt del sistema, y la función termina devolviendo el resultado. ### Personalizar el Asistente de IA @@ -108,6 +110,8 @@ call_llm("Tell me about you", "You're Albert Einstein, you only know of things i Genial, ya tenemos la parte de IA lista. Veamos cómo podemos integrarla en una API Web. Para la API Web, elegimos usar Flask, pero cualquier framework web debería funcionar. Veamos el código: +### Usando Python + ```python # api.py from flask import Flask, request, jsonify @@ -174,11 +178,15 @@ Para integrar *llm.py*, esto es lo que necesitamos hacer: }) ``` -Genial, ahora hemos hecho lo necesario. +Genial, ahora hemos hecho lo que necesitamos. + +## Configurar Cors -### Configurar Cors +Debemos mencionar que configuramos algo como CORS, intercambio de recursos de origen cruzado. Esto significa que, dado que nuestro backend y frontend se ejecutarán en diferentes puertos, necesitamos permitir que el frontend llame al backend. -Debemos mencionar que configuramos algo como CORS, intercambio de recursos de origen cruzado. Esto significa que, dado que nuestro backend y frontend se ejecutarán en diferentes puertos, necesitamos permitir que el frontend llame al backend. Hay un fragmento de código en *api.py* que configura esto: +### Usando Python + +Hay un fragmento de código en *api.py* que configura esto: ```python from flask_cors import CORS @@ -187,11 +195,15 @@ app = Flask(__name__) CORS(app) # * example.com ``` -En este momento, está configurado para permitir "*", que son todos los orígenes, y eso es un poco inseguro. Deberíamos restringirlo una vez que pasemos a producción. +Actualmente está configurado para permitir "*", que son todos los orígenes, y eso es un poco inseguro. Deberíamos restringirlo una vez que pasemos a producción. ## Ejecutar tu proyecto -Bien, ya tenemos *llm.py* y *api.py*. ¿Cómo podemos hacer que esto funcione con un backend? Bueno, hay dos cosas que necesitamos hacer: +Para ejecutar tu proyecto, primero necesitas iniciar tu backend y luego tu frontend. + +### Usando Python + +Bien, tenemos *llm.py* y *api.py*. ¿Cómo podemos hacer que esto funcione con un backend? Bueno, hay dos cosas que necesitamos hacer: - Instalar dependencias: @@ -209,7 +221,7 @@ Bien, ya tenemos *llm.py* y *api.py*. ¿Cómo podemos hacer que esto funcione co python api.py ``` - Si estás en Codespaces, necesitas ir a Puertos en la parte inferior del editor, hacer clic derecho sobre él y seleccionar "Port Visibility" y luego "Public". + Si estás en Codespaces, necesitas ir a Puertos en la parte inferior del editor, hacer clic derecho sobre él y seleccionar "Port Visibility" y elegir "Public". ### Trabajar en un frontend @@ -241,7 +253,7 @@ Comencemos con **index.html**: ``` -Lo anterior es lo mínimo necesario para soportar una ventana de chat, ya que consiste en un área de texto donde se renderizarán los mensajes, un campo de entrada para escribir el mensaje y un botón para enviarlo al backend. Veamos el JavaScript a continuación en *app.js*. +Lo anterior es lo mínimo absoluto que necesitas para soportar una ventana de chat, ya que consiste en un área de texto donde se renderizarán los mensajes, un campo de entrada para escribir el mensaje y un botón para enviar tu mensaje al backend. Veamos el JavaScript a continuación en *app.js* **app.js** @@ -300,12 +312,12 @@ Lo anterior es lo mínimo necesario para soportar una ventana de chat, ya que co Analicemos el código por sección: -- 1) Aquí obtenemos una referencia a todos nuestros elementos que usaremos más adelante en el código. +- 1) Aquí obtenemos una referencia a todos nuestros elementos que utilizaremos más adelante en el código. - 2) En esta sección, creamos una función que utiliza el método `fetch` incorporado para llamar a nuestro backend. -- 3) `appendMessage` ayuda a agregar respuestas, así como lo que escribes como usuario. +- 3) `appendMessage` ayuda a agregar respuestas, así como lo que tú como usuario escribes. - 4) Aquí escuchamos el evento de envío, leemos el campo de entrada, colocamos el mensaje del usuario en el área de texto, llamamos a la API y renderizamos la respuesta en el área de texto. -Veamos el estilo a continuación. Aquí puedes ser muy creativo y hacerlo como quieras, pero aquí tienes algunas sugerencias: +Veamos el estilo a continuación. Aquí es donde puedes ser realmente creativo y hacer que se vea como quieras, pero aquí hay algunas sugerencias: **styles.css** @@ -326,11 +338,11 @@ Veamos el estilo a continuación. Aquí puedes ser muy creativo y hacerlo como q } ``` -Con estas tres clases, puedes estilizar los mensajes de manera diferente dependiendo de si provienen del asistente o de ti como usuario. Si necesitas inspiración, revisa la carpeta `solution/frontend/styles.css`. +Con estas tres clases, estilizarás los mensajes de manera diferente dependiendo de si provienen del asistente o de ti como usuario. Si quieres inspirarte, revisa la carpeta `solution/frontend/styles.css`. ### Cambiar la URL Base -Hay algo que no configuramos aquí, y es `BASE_URL`. Esto no se conoce hasta que tu backend esté iniciado. Para configurarlo: +Hay una cosa que no configuramos aquí y fue `BASE_URL`. Esto no se conoce hasta que tu backend esté iniciado. Para configurarlo: - Si ejecutas la API localmente, debería configurarse como algo como `http://localhost:5000`. - Si se ejecuta en Codespaces, debería verse algo como "[name]app.github.dev". @@ -346,8 +358,7 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` Copia el contenido de lo que se indicó anteriormente, pero siéntete libre de personalizarlo a tu gusto. @@ -358,22 +369,28 @@ Copia el contenido de lo que se indicó anteriormente, pero siéntete libre de p ## Bonus -Intenta cambiar la personalidad del asistente de IA. Cuando llames a `call_llm` en *api.py*, puedes cambiar el segundo argumento a lo que desees, por ejemplo: +Intenta cambiar la personalidad del asistente de IA. + +### Para Python + +Cuando llames a `call_llm` en *api.py*, puedes cambiar el segundo argumento a lo que desees, por ejemplo: ```python call_llm(message, "You are Captain Picard") ``` -Cambia también el CSS y el texto a tu gusto, haciendo cambios en *index.html* y *styles.css*. +### Frontend + +Cambia también el CSS y el texto a tu gusto, realiza cambios en *index.html* y *styles.css*. ## Resumen -¡Genial! Has aprendido desde cero cómo crear un asistente personal utilizando IA. Lo hemos hecho utilizando los Modelos de GitHub, un backend en Python y un frontend en HTML, CSS y JavaScript. +Genial, has aprendido desde cero cómo crear un asistente personal utilizando IA. Lo hemos hecho utilizando GitHub Models, un backend en Python y un frontend en HTML, CSS y JavaScript. ## Configuración con Codespaces -- Navega a: [Repositorio Web Dev For Beginners](https://github.com/microsoft/Web-Dev-For-Beginners) -- Crea desde una plantilla (asegúrate de haber iniciado sesión en GitHub) en la esquina superior derecha: +- Navega a: [Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) +- Crea desde una plantilla (asegúrate de estar conectado a GitHub) en la esquina superior derecha: ![Crear desde plantilla](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.es.png) diff --git a/translations/es/9-chat-project/solution/README.md b/translations/es/9-chat-project/solution/README.md index 1893bf82..fa61e2db 100644 --- a/translations/es/9-chat-project/solution/README.md +++ b/translations/es/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# Ejecutar el código +# Ejecutar solución -## Configuración - -Crear un entorno virtual - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Instalar dependencias - -```sh -pip install openai flask flask-cors -``` - -## Ejecutar la API - -```sh -python api.py -``` - -## Ejecutar el frontend - -Asegúrate de estar en la carpeta del frontend. - -Ubica *app.js* y cambia `BASE_URL` a la URL de tu backend. - -Ejecuta el frontend - -``` -npx http-server -p 8000 -``` - -Intenta escribir un mensaje en el chat; deberías ver una respuesta (siempre que estés ejecutando esto en un Codespace o hayas configurado un token de acceso). - -## Configurar el token de acceso (si no estás ejecutando esto en un Codespace) - -Consulta [Configurar PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Inicia el [backend](./backend/README.md) +1. Ahora inicia el [frontend](./frontend/README.md) --- **Descargo de responsabilidad**: -Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción. \ No newline at end of file +Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción. \ No newline at end of file diff --git a/translations/es/9-chat-project/solution/backend/README.md b/translations/es/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..2b9144fb --- /dev/null +++ b/translations/es/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Elige tu entorno de ejecución + +- [Python](./python/README.md) + +--- + +**Descargo de responsabilidad**: +Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Si bien nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción. \ No newline at end of file diff --git a/translations/es/9-chat-project/solution/backend/python/README.md b/translations/es/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..82cdb6db --- /dev/null +++ b/translations/es/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Ejecutar el código + +## Configuración + +Crea un entorno virtual + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Instalar dependencias + +```sh +pip install openai flask flask-cors +``` + +## Ejecutar la API + +```sh +python api.py +``` + +## Ejecutar el frontend + +Asegúrate de estar en la carpeta del frontend. + +Ubica *app.js* y cambia `BASE_URL` a la URL de tu backend. + +Ejecuta el frontend + +``` +npx http-server -p 8000 +``` + +Intenta escribir un mensaje en el chat; deberías ver una respuesta (siempre y cuando estés ejecutando esto en un Codespace o hayas configurado un token de acceso). + +## Configurar el token de acceso (si no estás ejecutando esto en un Codespace) + +Consulta [Configurar PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Descargo de responsabilidad**: +Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Si bien nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción. \ No newline at end of file diff --git a/translations/es/9-chat-project/solution/frontend/README.md b/translations/es/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..486bab52 --- /dev/null +++ b/translations/es/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Ejecutar el código + +```sh +npx http-server -p 3000 +``` + +Ubica el `BASE_URL` en `app.js` y cámbialo para que coincida con la URL del backend. + +--- + +**Descargo de responsabilidad**: +Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción. \ No newline at end of file diff --git a/translations/fa/9-chat-project/README.md b/translations/fa/9-chat-project/README.md index 0b29e9d8..cb50d850 100644 --- a/translations/fa/9-chat-project/README.md +++ b/translations/fa/9-chat-project/README.md @@ -1,8 +1,8 @@ -# اجرای کد +# اجرای راه‌حل -## تنظیمات - -ایجاد محیط مجازی - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## نصب وابستگی‌ها - -```sh -pip install openai flask flask-cors -``` - -## اجرای API - -```sh -python api.py -``` - -## اجرای رابط کاربری - -اطمینان حاصل کنید که در پوشه رابط کاربری قرار دارید - -فایل *app.js* را پیدا کنید، مقدار `BASE_URL` را به آدرس URL بک‌اند خود تغییر دهید - -آن را اجرا کنید - -``` -npx http-server -p 8000 -``` - -سعی کنید یک پیام در چت تایپ کنید، باید پاسخی دریافت کنید (به شرطی که این را در Codespace اجرا کنید یا یک توکن دسترسی تنظیم کرده باشید). - -## تنظیم توکن دسترسی (اگر این را در Codespace اجرا نمی‌کنید) - -به [تنظیم PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) مراجعه کنید +1. [بک‌اند](./backend/README.md) را راه‌اندازی کنید +1. حالا [فرانت‌اند](./frontend/README.md) را راه‌اندازی کنید --- **سلب مسئولیت**: -این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما برای دقت تلاش می‌کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادقتی‌ها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما هیچ مسئولیتی در قبال سوءتفاهم‌ها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم. \ No newline at end of file +این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش می‌کنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌ها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه می‌شود از ترجمه حرفه‌ای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهم‌ها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم. \ No newline at end of file diff --git a/translations/fa/9-chat-project/solution/backend/README.md b/translations/fa/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..1bf6ae80 --- /dev/null +++ b/translations/fa/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +انتخاب محیط اجرایی + +- [Python](./python/README.md) + +--- + +**سلب مسئولیت**: +این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش می‌کنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌ها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه می‌شود از ترجمه حرفه‌ای انسانی استفاده کنید. ما مسئولیتی در قبال سوءتفاهم‌ها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم. \ No newline at end of file diff --git a/translations/fa/9-chat-project/solution/backend/python/README.md b/translations/fa/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..d1718855 --- /dev/null +++ b/translations/fa/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# اجرای کد + +## آماده‌سازی + +ایجاد محیط مجازی + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## نصب وابستگی‌ها + +```sh +pip install openai flask flask-cors +``` + +## اجرای API + +```sh +python api.py +``` + +## اجرای رابط کاربری (Frontend) + +اطمینان حاصل کنید که در پوشه‌ی frontend قرار دارید. + +فایل *app.js* را پیدا کنید و مقدار `BASE_URL` را به آدرس URL مربوط به backend خود تغییر دهید. + +آن را اجرا کنید. + +``` +npx http-server -p 8000 +``` + +سعی کنید یک پیام در چت تایپ کنید، باید پاسخی دریافت کنید (به شرطی که این کار را در یک Codespace اجرا می‌کنید یا یک توکن دسترسی تنظیم کرده‌اید). + +## تنظیم توکن دسترسی (اگر این کار را در Codespace اجرا نمی‌کنید) + +به [تنظیم PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) مراجعه کنید. + +--- + +**سلب مسئولیت**: +این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش می‌کنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌ها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه می‌شود از ترجمه حرفه‌ای انسانی استفاده کنید. ما مسئولیتی در قبال سوءتفاهم‌ها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم. \ No newline at end of file diff --git a/translations/fa/9-chat-project/solution/frontend/README.md b/translations/fa/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..20be4109 --- /dev/null +++ b/translations/fa/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# اجرای کد + +```sh +npx http-server -p 3000 +``` + +`BASE_URL` را در فایل `app.js` پیدا کنید و آن را به آدرس URL بک‌اند تغییر دهید. + +--- + +**سلب مسئولیت**: +این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش می‌کنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌ها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه می‌شود از ترجمه حرفه‌ای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهم‌ها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم. \ No newline at end of file diff --git a/translations/fi/9-chat-project/README.md b/translations/fi/9-chat-project/README.md index 01ee1927..4c00889a 100644 --- a/translations/fi/9-chat-project/README.md +++ b/translations/fi/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Suorita koodi +# Käynnistä ratkaisu -## Asetukset - -Luo virtuaaliympäristö - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Asenna riippuvuudet - -```sh -pip install openai flask flask-cors -``` - -## Käynnistä API - -```sh -python api.py -``` - -## Käynnistä frontend - -Varmista, että olet frontend-kansiossa - -Etsi *app.js*, muuta `BASE_URL` vastaamaan backend-URL-osoitettasi - -Käynnistä se - -``` -npx http-server -p 8000 -``` - -Kokeile kirjoittaa viesti chattiin, sinun pitäisi nähdä vastaus (edellyttäen, että suoritat tätä Codespacessa tai olet asettanut käyttöoikeustunnuksen). - -## Aseta käyttöoikeustunnus (jos et suorita tätä Codespacessa) - -Katso [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Käynnistä [taustajärjestelmä](./backend/README.md) +1. Käynnistä nyt [käyttöliittymä](./frontend/README.md) --- diff --git a/translations/fi/9-chat-project/solution/backend/README.md b/translations/fi/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..60a57911 --- /dev/null +++ b/translations/fi/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Valitse suoritusympäristösi + +- [Python](./python/README.md) + +--- + +**Vastuuvapauslauseke**: +Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä. \ No newline at end of file diff --git a/translations/fi/9-chat-project/solution/backend/python/README.md b/translations/fi/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..08cb5140 --- /dev/null +++ b/translations/fi/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Suorita koodi + +## Aseta ympäristö + +Luo virtuaalinen ympäristö + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Asenna riippuvuudet + +```sh +pip install openai flask flask-cors +``` + +## Käynnistä API + +```sh +python api.py +``` + +## Käynnistä käyttöliittymä + +Varmista, että olet käyttöliittymän kansiossa + +Etsi *app.js*, muuta `BASE_URL` vastaamaan taustapalvelimesi URL-osoitetta + +Käynnistä se + +``` +npx http-server -p 8000 +``` + +Kokeile kirjoittaa viesti chatissa, sinun pitäisi nähdä vastaus (edellyttäen, että suoritat tätä Codespacessa tai olet asettanut käyttöoikeustunnuksen). + +## Aseta käyttöoikeustunnus (jos et suorita tätä Codespacessa) + +Katso [Aseta PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Vastuuvapauslauseke**: +Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulee pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskääntämistä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä. \ No newline at end of file diff --git a/translations/fi/9-chat-project/solution/frontend/README.md b/translations/fi/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..99250735 --- /dev/null +++ b/translations/fi/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Suorita koodi + +```sh +npx http-server -p 3000 +``` + +Etsi `BASE_URL` tiedostosta `app.js` ja muuta se vastaamaan backendin URL-osoitetta. + +--- + +**Vastuuvapauslauseke**: +Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä. \ No newline at end of file diff --git a/translations/fr/9-chat-project/README.md b/translations/fr/9-chat-project/README.md index 92fa266a..5874fb0b 100644 --- a/translations/fr/9-chat-project/README.md +++ b/translations/fr/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Exécuter le code +# Exécuter la solution -## Configuration - -Créer un environnement virtuel - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Installer les dépendances - -```sh -pip install openai flask flask-cors -``` - -## Lancer l'API - -```sh -python api.py -``` - -## Lancer le frontend - -Assurez-vous de vous placer dans le dossier frontend. - -Trouvez *app.js*, changez `BASE_URL` pour correspondre à l'URL de votre backend. - -Lancez-le - -``` -npx http-server -p 8000 -``` - -Essayez de taper un message dans le chat, vous devriez voir une réponse (à condition que vous exécutiez cela dans un Codespace ou que vous ayez configuré un jeton d'accès). - -## Configurer un jeton d'accès (si vous n'exécutez pas cela dans un Codespace) - -Voir [Configurer un PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Démarrez le [backend](./backend/README.md) +1. Ensuite, démarrez le [frontend](./frontend/README.md) --- **Avertissement** : -Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction. \ No newline at end of file +Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne sommes pas responsables des malentendus ou des interprétations erronées résultant de l'utilisation de cette traduction. \ No newline at end of file diff --git a/translations/fr/9-chat-project/solution/backend/README.md b/translations/fr/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..7336e720 --- /dev/null +++ b/translations/fr/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Choisissez votre environnement d'exécution + +- [Python](./python/README.md) + +--- + +**Avertissement** : +Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction. \ No newline at end of file diff --git a/translations/fr/9-chat-project/solution/backend/python/README.md b/translations/fr/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..588a9dfe --- /dev/null +++ b/translations/fr/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Exécuter le code + +## Configuration + +Créer un environnement virtuel + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Installer les dépendances + +```sh +pip install openai flask flask-cors +``` + +## Lancer l'API + +```sh +python api.py +``` + +## Lancer le frontend + +Assurez-vous d'être dans le dossier frontend. + +Localisez *app.js*, changez `BASE_URL` pour l'URL de votre backend. + +Lancez-le + +``` +npx http-server -p 8000 +``` + +Essayez de taper un message dans le chat, vous devriez voir une réponse (à condition que vous exécutiez cela dans un Codespace ou que vous ayez configuré un jeton d'accès). + +## Configurer un jeton d'accès (si vous n'exécutez pas cela dans un Codespace) + +Voir [Configurer un PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Avertissement** : +Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction. \ No newline at end of file diff --git a/translations/fr/9-chat-project/solution/frontend/README.md b/translations/fr/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..87044788 --- /dev/null +++ b/translations/fr/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Exécuter le code + +```sh +npx http-server -p 3000 +``` + +Repérez le `BASE_URL` dans `app.js` et modifiez-le pour qu'il corresponde à l'URL du backend. + +--- + +**Avertissement** : +Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction professionnelle humaine. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction. \ No newline at end of file diff --git a/translations/he/9-chat-project/README.md b/translations/he/9-chat-project/README.md index ece6b66e..7d1eeaa3 100644 --- a/translations/he/9-chat-project/README.md +++ b/translations/he/9-chat-project/README.md @@ -1,8 +1,8 @@ -# הפעלת קוד +# הפעלת הפתרון -## הגדרות - -צור סביבה וירטואלית - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## התקנת תלותים - -```sh -pip install openai flask flask-cors -``` - -## הפעלת API - -```sh -python api.py -``` - -## הפעלת ממשק קדמי - -וודא שאתה נמצא בתיקיית ה-frontend - -מצא את *app.js*, שנה את `BASE_URL` לכתובת ה-URL של ה-backend שלך - -הפעל את זה - -``` -npx http-server -p 8000 -``` - -נסה להקליד הודעה בצ'אט, אתה אמור לראות תגובה (בתנאי שאתה מפעיל את זה ב-Codespace או שהגדרת אסימון גישה). - -## הגדרת אסימון גישה (אם אינך מפעיל את זה ב-Codespace) - -ראה [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. הפעל את [החלק האחורי](./backend/README.md) +1. עכשיו הפעל את [החלק הקדמי](./frontend/README.md) --- **כתב ויתור**: -מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית [Co-op Translator](https://github.com/Azure/co-op-translator). למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי-דיוקים. המסמך המקורי בשפתו המקורית נחשב למקור הסמכותי. למידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי בני אדם. איננו נושאים באחריות לכל אי-הבנה או פרשנות שגויה הנובעת משימוש בתרגום זה. \ No newline at end of file +מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית [Co-op Translator](https://github.com/Azure/co-op-translator). למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור הסמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה. \ No newline at end of file diff --git a/translations/he/9-chat-project/solution/backend/README.md b/translations/he/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..6beccff6 --- /dev/null +++ b/translations/he/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +בחר את סביבת הריצה שלך + +- [Python](./python/README.md) + +--- + +**כתב ויתור**: +מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית [Co-op Translator](https://github.com/Azure/co-op-translator). למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו אחראים לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה. \ No newline at end of file diff --git a/translations/he/9-chat-project/solution/backend/python/README.md b/translations/he/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..465944fa --- /dev/null +++ b/translations/he/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# הפעלת קוד + +## הגדרה + +צור סביבת עבודה וירטואלית + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## התקנת תלותים + +```sh +pip install openai flask flask-cors +``` + +## הפעלת API + +```sh +python api.py +``` + +## הפעלת ממשק קדמי + +וודא שאתה נמצא בתיקיית ה-frontend + +מצא את *app.js*, שנה את `BASE_URL` לכתובת ה-URL של ה-backend שלך + +הפעל את זה + +``` +npx http-server -p 8000 +``` + +נסה להקליד הודעה בצ'אט, אתה אמור לראות תגובה (בתנאי שאתה מפעיל את זה ב-Codespace או שהגדרת אסימון גישה). + +## הגדרת אסימון גישה (אם אינך מפעיל את זה ב-Codespace) + +ראה [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**כתב ויתור**: +מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית [Co-op Translator](https://github.com/Azure/co-op-translator). למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור הסמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה. \ No newline at end of file diff --git a/translations/he/9-chat-project/solution/frontend/README.md b/translations/he/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..d47d0c76 --- /dev/null +++ b/translations/he/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# הפעל את הקוד + +```sh +npx http-server -p 3000 +``` + +אתרו את `BASE_URL` ב-`app.js` ושנו אותו כך שיתאים לכתובת ה-URL של השרת האחורי. + +--- + +**כתב ויתור**: +מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית [Co-op Translator](https://github.com/Azure/co-op-translator). למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה. \ No newline at end of file diff --git a/translations/hi/9-chat-project/README.md b/translations/hi/9-chat-project/README.md index 85d69c12..20bcab83 100644 --- a/translations/hi/9-chat-project/README.md +++ b/translations/hi/9-chat-project/README.md @@ -1,8 +1,8 @@ -# कोड चलाएं +# समाधान चलाएं -## सेटअप - -वर्चुअल एनवायरनमेंट बनाएं - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## डिपेंडेंसीज़ इंस्टॉल करें - -```sh -pip install openai flask flask-cors -``` - -## API चलाएं - -```sh -python api.py -``` - -## फ्रंटएंड चलाएं - -सुनिश्चित करें कि आप फ्रंटएंड फोल्डर में खड़े हैं - -*app.js* ढूंढें, `BASE_URL` को अपने बैकएंड URL में बदलें - -इसे चलाएं - -``` -npx http-server -p 8000 -``` - -चैट में एक संदेश टाइप करने की कोशिश करें, आपको एक प्रतिक्रिया दिखनी चाहिए (यदि आप इसे Codespace में चला रहे हैं या आपने एक्सेस टोकन सेट किया है)। - -## एक्सेस टोकन सेट करें (यदि आप इसे Codespace में नहीं चला रहे हैं) - -[व्यक्तिगत एक्सेस टोकन सेट करें](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) देखें +1. [बैकएंड](./backend/README.md) शुरू करें +1. अब [फ्रंटएंड](./frontend/README.md) शुरू करें --- **अस्वीकरण**: -यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता सुनिश्चित करने का प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं। \ No newline at end of file +यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता सुनिश्चित करने का प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम जिम्मेदार नहीं हैं। \ No newline at end of file diff --git a/translations/hi/9-chat-project/solution/backend/README.md b/translations/hi/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..8404015e --- /dev/null +++ b/translations/hi/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +अपना रनटाइम चुनें + +- [Python](./python/README.md) + +--- + +**अस्वीकरण**: +यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता सुनिश्चित करने का प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं। \ No newline at end of file diff --git a/translations/hi/9-chat-project/solution/backend/python/README.md b/translations/hi/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..8881b980 --- /dev/null +++ b/translations/hi/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# कोड चलाएं + +## सेटअप + +वर्चुअल एनवायरनमेंट बनाएं + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## डिपेंडेंसीज़ इंस्टॉल करें + +```sh +pip install openai flask flask-cors +``` + +## एपीआई चलाएं + +```sh +python api.py +``` + +## फ्रंटएंड चलाएं + +सुनिश्चित करें कि आप फ्रंटएंड फोल्डर में खड़े हैं + +*app.js* को ढूंढें, `BASE_URL` को अपने बैकएंड URL में बदलें + +इसे चलाएं + +``` +npx http-server -p 8000 +``` + +चैट में एक संदेश टाइप करने की कोशिश करें, आपको एक प्रतिक्रिया दिखनी चाहिए (यदि आप इसे Codespace में चला रहे हैं या आपने एक्सेस टोकन सेट किया है)। + +## एक्सेस टोकन सेट करें (यदि आप इसे Codespace में नहीं चला रहे हैं) + +[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) देखें + +--- + +**अस्वीकरण**: +यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता सुनिश्चित करने का प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम जिम्मेदार नहीं हैं। \ No newline at end of file diff --git a/translations/hi/9-chat-project/solution/frontend/README.md b/translations/hi/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..f0162e94 --- /dev/null +++ b/translations/hi/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# कोड चलाएं + +```sh +npx http-server -p 3000 +``` + +`app.js` में `BASE_URL` को ढूंढें और इसे बैकएंड के URL से मेल खाने के लिए बदलें। + +--- + +**अस्वीकरण**: +यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता सुनिश्चित करने का प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं। \ No newline at end of file diff --git a/translations/hk/9-chat-project/README.md b/translations/hk/9-chat-project/README.md index 3e795025..a17e557a 100644 --- a/translations/hk/9-chat-project/README.md +++ b/translations/hk/9-chat-project/README.md @@ -1,15 +1,15 @@ # 聊天項目 -這個聊天項目展示了如何使用 GitHub Models 構建一個聊天助手。 +這個聊天項目展示了如何使用 GitHub Models 建立一個聊天助手。 以下是完成後的項目樣子: @@ -17,11 +17,11 @@ CO_OP_TRANSLATOR_METADATA: 聊天應用程式 -一些背景資訊,使用生成式 AI 構建聊天助手是一個學習 AI 的好方法。在這節課中,你將學會如何將生成式 AI 整合到網頁應用程式中,讓我們開始吧。 +一些背景資訊,使用生成式 AI 建立聊天助手是一個很好的方式來開始學習 AI。在這堂課中,你將學習如何將生成式 AI 整合到網頁應用程式中,讓我們開始吧。 ## 連接生成式 AI -在後端,我們使用 GitHub Models。這是一個很棒的服務,讓你可以免費使用 AI。前往它的 Playground,獲取對應你選擇的後端語言的代碼。以下是 [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) 的樣子: +在後端部分,我們使用 GitHub Models。這是一個很棒的服務,讓你可以免費使用 AI。前往它的 playground,並獲取與你選擇的後端語言相對應的代碼。以下是 [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) 的樣子:
GitHub Models AI Playground @@ -30,10 +30,12 @@ CO_OP_TRANSLATOR_METADATA: 如我們所說,選擇 "Code" 標籤和你選擇的運行環境。
- playground 選擇 + playground choice
-在這個例子中,我們選擇 Python,這意味著我們會選擇以下代碼: +### 使用 Python + +在這個例子中,我們選擇 Python,這意味著我們選擇以下代碼: ```python """Run this model in Python @@ -94,19 +96,21 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -有了這個函數 `call_llm`,我們現在可以傳入一個提示和一個系統提示,函數最終會返回結果。 +有了這個函數 `call_llm`,我們現在可以接收一個提示和一個系統提示,並返回結果。 ### 自定義 AI 助手 -如果你想自定義 AI 助手的行為,可以通過填充系統提示來指定它的行為,例如: +如果你想自定義 AI 助手的行為,可以像下面這樣填充系統提示: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") ``` -## 通過 Web API 暴露它 +## 通過 Web API 暴露功能 + +很好,我們已完成 AI 部分,現在看看如何將其整合到 Web API 中。對於 Web API,我們選擇使用 Flask,但任何網頁框架都可以。以下是代碼: -很好,我們已經完成了 AI 部分,現在來看看如何將其整合到 Web API 中。對於 Web API,我們選擇使用 Flask,但任何網絡框架都可以。以下是代碼: +### 使用 Python ```python # api.py @@ -137,7 +141,7 @@ if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` -在這裡,我們創建了一個 Flask API,並定義了默認路由 "/" 和 "/chat"。後者是供我們的前端用來向後端傳遞問題的。 +在這裡,我們創建了一個 Flask API,並定義了默認路由 "/" 和 "/chat"。後者是供前端用來向後端傳遞問題的。 要整合 *llm.py*,我們需要做以下幾件事: @@ -163,7 +167,7 @@ if __name__ == "__main__": }) ``` - 在這裡,我們解析傳入的請求,從 JSON 主體中檢索 `message` 屬性。然後,我們通過以下調用來調用 LLM: + 在這裡,我們解析傳入的請求,從 JSON 主體中檢索 `message` 屬性。然後我們使用以下調用來調用 LLM: ```python response = call_llm(message, "You are a helpful assistant") @@ -174,11 +178,15 @@ if __name__ == "__main__": }) ``` -很好,現在我們已經完成了所需的部分。 +很好,現在我們已完成所需的部分。 + +## 配置 Cors -### 配置 CORS +我們需要設置像 CORS(跨來源資源共享)這樣的東西。這意味著,由於我們的後端和前端將運行在不同的端口,我們需要允許前端調用後端。 -我們需要提到的是,我們設置了類似 CORS(跨來源資源共享)的東西。這意味著,由於我們的後端和前端將在不同的端口運行,我們需要允許前端調用後端。在 *api.py* 中有一段代碼設置了這個功能: +### 使用 Python + +在 *api.py* 中有一段代碼設置了這個功能: ```python from flask_cors import CORS @@ -187,11 +195,15 @@ app = Flask(__name__) CORS(app) # * example.com ``` -目前,它被設置為允許 "*",即所有來源,這有點不安全,我們應該在進入生產環境時進行限制。 +目前它被設置為允許 "*",即所有來源,這有點不安全,應該在進入生產環境時進行限制。 ## 運行你的項目 -好了,我們有了 *llm.py* 和 *api.py*,如何讓它與後端一起工作呢?我們需要做兩件事: +要運行你的項目,你需要先啟動後端,然後啟動前端。 + +### 使用 Python + +好的,我們有 *llm.py* 和 *api.py*,如何讓它們在後端運行?我們需要做以下兩件事: - 安裝依賴項: @@ -203,17 +215,17 @@ CORS(app) # * example.com pip install openai flask flask-cors openai ``` -- 啟動 API: +- 啟動 API ```sh python api.py ``` - 如果你在 Codespaces 中運行,需要前往編輯器底部的 Ports,右鍵點擊它,選擇 "Port Visibility",然後選擇 "Public"。 + 如果你在 Codespaces 中運行,需要在編輯器底部的 Ports 部分,右鍵點擊並選擇 "Port Visibility",然後選擇 "Public"。 ### 開發前端 -現在我們的 API 已經運行起來了,讓我們為它創建一個前端。這是一個最低限度的前端,我們將逐步改進它。在 *frontend* 文件夾中,創建以下內容: +現在我們的 API 已經運行起來了,讓我們為它創建一個前端。以下是一個最低限度的前端,我們將逐步改進它。在 *frontend* 文件夾中,創建以下內容: ```text backend/ @@ -223,7 +235,7 @@ app.js styles.css ``` -讓我們從 **index.html** 開始: +首先是 **index.html**: ```html @@ -241,7 +253,7 @@ styles.css ``` -以上是支持聊天窗口所需的最低限度內容,包括一個用於顯示消息的文本區域、一個輸入框用於輸入消息,以及一個按鈕用於將消息發送到後端。接下來,讓我們看看 *app.js* 中的 JavaScript: +以上是支持聊天窗口所需的最低限度,它包括一個用於顯示消息的文本區域、一個輸入框用於輸入消息,以及一個按鈕用於將消息發送到後端。接下來看看 *app.js* 中的 JavaScript。 **app.js** @@ -300,12 +312,12 @@ styles.css 讓我們逐段解析代碼: -- 1) 在這裡,我們獲取所有稍後會在代碼中引用的元素的引用。 -- 2) 在這部分,我們創建了一個函數,使用內建的 `fetch` 方法來調用後端。 -- 3) `appendMessage` 幫助添加響應以及用戶輸入的消息。 -- 4) 在這裡,我們監聽提交事件,讀取輸入字段,將用戶的消息放入文本區域,調用 API,並將響應渲染到文本區域中。 +- 1) 在這裡,我們獲取所有稍後會引用的元素的引用。 +- 2) 在這部分,我們創建了一個函數,使用內建的 `fetch` 方法調用後端。 +- 3) `appendMessage` 幫助添加助手的回應以及用戶輸入的消息。 +- 4) 在這裡,我們監聽提交事件,讀取輸入框的內容,將用戶的消息放入文本區域,調用 API,並將回應渲染到文本區域。 -接下來讓我們看看樣式設計,這裡你可以自由發揮,讓它看起來像你想要的樣子,但以下是一些建議: +接下來看看樣式,這裡你可以自由發揮,讓它看起來像你想要的樣子,但以下是一些建議: **styles.css** @@ -326,18 +338,18 @@ styles.css } ``` -通過這三個類,你可以根據消息的來源(助手或用戶)來設計不同的樣式。如果你需要靈感,可以查看 `solution/frontend/styles.css` 文件夾。 +有了這三個類,你可以根據消息的來源(助手或用戶)來區分樣式。如果需要靈感,可以查看 `solution/frontend/styles.css` 文件夾。 ### 更改 Base Url 有一件事我們還沒有設置,那就是 `BASE_URL`,這在後端啟動之前是未知的。設置方法如下: -- 如果你在本地運行 API,應設置為類似 `http://localhost:5000` 的地址。 -- 如果在 Codespaces 中運行,應設置為類似 "[name]app.github.dev" 的地址。 +- 如果你在本地運行 API,應設置為類似 `http://localhost:5000`。 +- 如果在 Codespaces 中運行,應設置為類似 "[name]app.github.dev"。 ## 作業 -創建你自己的文件夾 *project*,內容如下: +創建自己的文件夾 *project*,內容如下: ```text project/ @@ -346,11 +358,10 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` -複製上述指導中的內容,但可以根據你的喜好進行自定義。 +複製上述指導中的內容,但可以根據自己的喜好進行自定義。 ## 解決方案 @@ -358,26 +369,32 @@ project/ ## 額外挑戰 -嘗試更改 AI 助手的個性。在 *api.py* 中調用 `call_llm` 時,可以將第二個參數更改為你想要的內容,例如: +嘗試更改 AI 助手的個性。 + +### 對於 Python + +在 *api.py* 中調用 `call_llm` 時,可以更改第二個參數為你想要的內容,例如: ```python call_llm(message, "You are Captain Picard") ``` -同時更改 CSS 和文本以符合你的喜好,因此需要修改 *index.html* 和 *styles.css*。 +### 前端 + +同時更改 CSS 和文本,使其符合你的喜好,因此需要修改 *index.html* 和 *styles.css*。 ## 總結 -太棒了,你已經從零開始學會了如何使用 AI 創建一個個人助手。我們使用了 GitHub Models、Python 後端以及 HTML、CSS 和 JavaScript 前端來完成這個項目。 +很好,你已經從零開始學習如何使用 AI 創建個人助手。我們使用了 GitHub Models、Python 後端以及 HTML、CSS 和 JavaScript 前端完成了這項工作。 ## 使用 Codespaces 設置 - 前往:[Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) -- 從模板創建(確保你已登錄 GitHub),在右上角: +- 從模板創建(確保你已登錄 GitHub)在右上角: ![從模板創建](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.hk.png) -- 進入你的倉庫後,創建一個 Codespace: +- 一旦進入你的 repo,創建一個 Codespace: ![創建 Codespace](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.hk.png) @@ -386,4 +403,4 @@ call_llm(message, "You are Captain Picard") --- **免責聲明**: -此文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議使用專業的人類翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解讀概不負責。 \ No newline at end of file +此文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤詮釋概不負責。 \ No newline at end of file diff --git a/translations/hk/9-chat-project/solution/README.md b/translations/hk/9-chat-project/solution/README.md index c549e5b1..7c62028a 100644 --- a/translations/hk/9-chat-project/solution/README.md +++ b/translations/hk/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# 執行程式碼 +# 執行解決方案 -## 設置 - -建立虛擬環境 - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## 安裝依賴項 - -```sh -pip install openai flask flask-cors -``` - -## 執行 API - -```sh -python api.py -``` - -## 執行前端 - -確保你位於前端資料夾 - -找到 *app.js*,將 `BASE_URL` 更改為你的後端 URL - -執行它 - -``` -npx http-server -p 8000 -``` - -嘗試在聊天中輸入訊息,你應該會看到回應(前提是你在 Codespace 中執行此操作或已設置存取權杖)。 - -## 設置存取權杖(如果你不是在 Codespace 中執行) - -請參閱 [設置 PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. 啟動 [backend](./backend/README.md) +1. 現在啟動 [frontend](./frontend/README.md) --- **免責聲明**: -此文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議使用專業的人工作翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解讀概不負責。 \ No newline at end of file +本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。 \ No newline at end of file diff --git a/translations/hk/9-chat-project/solution/backend/README.md b/translations/hk/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..bf8eb40e --- /dev/null +++ b/translations/hk/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +選擇您的執行環境 + +- [Python](./python/README.md) + +--- + +**免責聲明**: +本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。 \ No newline at end of file diff --git a/translations/hk/9-chat-project/solution/backend/python/README.md b/translations/hk/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..5aecbf1f --- /dev/null +++ b/translations/hk/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# 執行程式碼 + +## 設置 + +建立虛擬環境 + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## 安裝依賴項 + +```sh +pip install openai flask flask-cors +``` + +## 啟動 API + +```sh +python api.py +``` + +## 啟動前端 + +確保你位於 frontend 資料夾內 + +找到 *app.js*,將 `BASE_URL` 更改為你的後端 URL + +執行 + +``` +npx http-server -p 8000 +``` + +嘗試在聊天框中輸入訊息,你應該會看到回應(前提是你在 Codespace 中運行,或者已經設置了存取權杖)。 + +## 設置存取權杖(如果你不是在 Codespace 中運行) + +請參閱 [設置 PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**免責聲明**: +本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。 \ No newline at end of file diff --git a/translations/hk/9-chat-project/solution/frontend/README.md b/translations/hk/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..25b2cef2 --- /dev/null +++ b/translations/hk/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# 執行程式碼 + +```sh +npx http-server -p 3000 +``` + +找到 `app.js` 中的 `BASE_URL`,並將其更改為與後端的 URL 相匹配。 + +--- + +**免責聲明**: +本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。 \ No newline at end of file diff --git a/translations/hr/9-chat-project/README.md b/translations/hr/9-chat-project/README.md index 9c68181e..574ab3c4 100644 --- a/translations/hr/9-chat-project/README.md +++ b/translations/hr/9-chat-project/README.md @@ -1,15 +1,15 @@ -# Projekt za chat +# Chat projekt -Ovaj projekt za chat pokazuje kako izraditi Chat asistenta koristeći GitHub Models. +Ovaj chat projekt pokazuje kako izraditi Chat Asistenta koristeći GitHub modele. Evo kako izgleda gotov projekt: @@ -17,23 +17,25 @@ Evo kako izgleda gotov projekt: Chat aplikacija
-Malo konteksta: izrada chat asistenata pomoću generativne AI tehnologije odličan je način za početak učenja o umjetnoj inteligenciji. Tijekom ove lekcije naučit ćete kako integrirati generativnu AI u web aplikaciju. Krenimo! +Malo konteksta, izrada chat asistenata pomoću generativne umjetne inteligencije odličan je način za početak učenja o AI-ju. Tijekom ove lekcije naučit ćete kako integrirati generativnu AI u web aplikaciju. Krenimo. ## Povezivanje s generativnom AI -Za backend koristimo GitHub Models. To je odlična usluga koja omogućuje besplatno korištenje AI. Posjetite njihov playground i preuzmite kod koji odgovara vašem odabranom jeziku za backend. Evo kako to izgleda na [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) +Za backend koristimo GitHub modele. To je odlična usluga koja vam omogućuje korištenje AI-ja besplatno. Posjetite njihov playground i preuzmite kod koji odgovara vašem odabranom jeziku za backend. Evo kako to izgleda na [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground)
GitHub Models AI Playground
-Kao što smo rekli, odaberite karticu "Code" i vaš odabrani runtime. +Kao što smo rekli, odaberite karticu "Code" i svoj runtime.
- playground izbor + playground choice
-U ovom slučaju odabiremo Python, što znači da biramo ovaj kod: +### Korištenje Pythona + +U ovom slučaju odabiremo Python, što znači da ćemo koristiti ovaj kod: ```python """Run this model in Python @@ -70,7 +72,7 @@ response = client.chat.completions.create( print(response.choices[0].message.content) ``` -Očistimo ovaj kod malo kako bi bio ponovno upotrebljiv: +Očistimo ovaj kod kako bi bio ponovno upotrebljiv: ```python def call_llm(prompt: str, system_message: str): @@ -94,7 +96,7 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -S ovom funkcijom `call_llm` sada možemo uzeti prompt i sistemski prompt, a funkcija vraća rezultat. +S ovom funkcijom `call_llm` sada možemo uzeti prompt i sistemski prompt, a funkcija će vratiti rezultat. ### Prilagodba AI asistenta @@ -106,7 +108,9 @@ call_llm("Tell me about you", "You're Albert Einstein, you only know of things i ## Izlaganje putem Web API-ja -Odlično, završili smo AI dio, sada pogledajmo kako ga možemo integrirati u Web API. Za Web API odabiremo Flask, ali bilo koji web framework bi trebao biti dobar. Pogledajmo kod za to: +Odlično, završili smo AI dio, sada pogledajmo kako to možemo integrirati u Web API. Za Web API koristimo Flask, ali bilo koji web framework bi trebao biti dobar. Pogledajmo kod za to: + +### Korištenje Pythona ```python # api.py @@ -137,11 +141,11 @@ if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` -Ovdje kreiramo Flask API i definiramo zadanu rutu "/" i "/chat". Potonja ruta namijenjena je za korištenje od strane našeg frontenda za slanje pitanja. +Ovdje kreiramo Flask API i definiramo zadanu rutu "/" i "/chat". Potonja je namijenjena za korištenje od strane našeg frontenda za slanje pitanja. Za integraciju *llm.py* trebamo učiniti sljedeće: -- Importirati funkciju `call_llm`: +- Uvesti funkciju `call_llm`: ```python from llm import call_llm @@ -174,11 +178,15 @@ Za integraciju *llm.py* trebamo učiniti sljedeće: }) ``` -Odlično, sada smo napravili što je potrebno. +Odlično, sada smo završili što je potrebno. + +## Konfiguriranje CORS-a -### Konfiguracija Cors +Trebamo napomenuti da smo postavili nešto poput CORS-a, dijeljenja resursa između različitih izvora. To znači da, budući da će naš backend i frontend raditi na različitim portovima, moramo omogućiti frontendu da poziva backend. -Treba napomenuti da postavljamo nešto poput CORS-a, dijeljenja resursa između različitih izvora. To znači da, budući da će naš backend i frontend raditi na različitim portovima, moramo omogućiti frontendu da poziva backend. Postoji dio koda u *api.py* koji to postavlja: +### Korištenje Pythona + +Postoji dio koda u *api.py* koji to postavlja: ```python from flask_cors import CORS @@ -191,6 +199,10 @@ Trenutno je postavljeno da dopušta "*" što znači sve izvore, što je pomalo n ## Pokretanje projekta +Za pokretanje projekta prvo trebate pokrenuti backend, a zatim frontend. + +### Korištenje Pythona + Ok, imamo *llm.py* i *api.py*, kako to možemo pokrenuti s backendom? Postoje dvije stvari koje trebamo učiniti: - Instalirati ovisnosti: @@ -209,7 +221,7 @@ Ok, imamo *llm.py* i *api.py*, kako to možemo pokrenuti s backendom? Postoje dv python api.py ``` - Ako ste u Codespaces, trebate otići na Ports u donjem dijelu uređivača, desnim klikom odabrati "Port Visibility" i odabrati "Public". + Ako koristite Codespaces, trebate otići na Ports u donjem dijelu uređivača, desnim klikom odabrati "Port Visibility" i odabrati "Public". ### Rad na frontendu @@ -223,7 +235,7 @@ app.js styles.css ``` -Krenimo s **index.html**: +Počnimo s **index.html**: ```html @@ -241,7 +253,7 @@ Krenimo s **index.html**: ``` -Ovo gore je apsolutni minimum potreban za podršku prozoru za chat, jer se sastoji od tekstualnog područja gdje će se prikazivati poruke, polja za unos gdje se upisuje poruka i gumba za slanje poruke na backend. Pogledajmo sljedeće JavaScript u *app.js* +Ovo gore je apsolutni minimum potreban za podršku chat prozoru, jer se sastoji od tekstualnog područja gdje će se prikazivati poruke, unosa za upisivanje poruke i gumba za slanje poruke na backend. Pogledajmo sljedeće JavaScript u *app.js* **app.js** @@ -302,10 +314,10 @@ Prođimo kroz kod po sekcijama: - 1) Ovdje dobivamo referencu na sve elemente koje ćemo kasnije koristiti u kodu. - 2) U ovom dijelu kreiramo funkciju koja koristi ugrađenu metodu `fetch` za pozivanje našeg backenda. -- 3) `appendMessage` pomaže dodati odgovore kao i ono što korisnik upisuje. +- 3) `appendMessage` pomaže dodati odgovore kao i ono što vi kao korisnik upišete. - 4) Ovdje slušamo događaj submit i na kraju čitamo polje za unos, stavljamo korisnikovu poruku u tekstualno područje, pozivamo API i prikazujemo odgovor u tekstualnom području. -Pogledajmo sljedeće stiliziranje, ovdje možete biti kreativni i napraviti izgled kakav želite, ali evo nekih prijedloga: +Pogledajmo sljedeće stiliziranje, ovdje možete biti kreativni i napraviti da izgleda kako želite, ali evo nekih prijedloga: **styles.css** @@ -326,18 +338,18 @@ Pogledajmo sljedeće stiliziranje, ovdje možete biti kreativni i napraviti izgl } ``` -S ove tri klase stilizirat ćete poruke različito ovisno o tome dolaze li od asistenta ili od korisnika. Ako želite inspiraciju, pogledajte mapu `solution/frontend/styles.css`. +S ove tri klase stilizirat ćete poruke različito ovisno o tome dolaze li od asistenta ili od vas kao korisnika. Ako želite inspiraciju, pogledajte mapu `solution/frontend/styles.css`. ### Promjena osnovnog URL-a -Postoji jedna stvar koju ovdje nismo postavili, a to je `BASE_URL`. To nije poznato dok vaš backend ne bude pokrenut. Za postavljanje: +Postoji jedna stvar koju ovdje nismo postavili, a to je `BASE_URL`. Ovo nije poznato dok vaš backend ne bude pokrenut. Da biste ga postavili: -- Ako pokrećete API lokalno, treba ga postaviti na nešto poput `http://localhost:5000`. -- Ako ga pokrećete u Codespaces, trebao bi izgledati nešto poput "[name]app.github.dev". +- Ako pokrećete API lokalno, trebao bi biti postavljen na nešto poput `http://localhost:5000`. +- Ako ga pokrećete u Codespaces, trebao bi izgledati otprilike ovako: "[name]app.github.dev". ## Zadatak -Kreirajte vlastitu mapu *project* sa sadržajem poput ovoga: +Kreirajte vlastitu mapu *project* sa sadržajem poput ovog: ```text project/ @@ -346,11 +358,10 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` -Kopirajte sadržaj iz gore navedenih uputa, ali slobodno ga prilagodite prema vlastitim željama. +Kopirajte sadržaj iz gore navedenih uputa, ali slobodno prilagodite prema vlastitim željama. ## Rješenje @@ -358,22 +369,28 @@ Kopirajte sadržaj iz gore navedenih uputa, ali slobodno ga prilagodite prema vl ## Bonus -Pokušajte promijeniti osobnost AI asistenta. Kada pozivate `call_llm` u *api.py*, možete promijeniti drugi argument u ono što želite, na primjer: +Pokušajte promijeniti osobnost AI asistenta. + +### Za Python + +Kada pozivate `call_llm` u *api.py*, možete promijeniti drugi argument u ono što želite, na primjer: ```python call_llm(message, "You are Captain Picard") ``` -Promijenite također CSS i tekst prema vlastitim željama, napravite promjene u *index.html* i *styles.css*. +### Frontend + +Promijenite također CSS i tekst prema vlastitim željama, tako da napravite izmjene u *index.html* i *styles.css*. ## Sažetak -Odlično, naučili ste od početka kako kreirati osobnog asistenta koristeći AI. To smo učinili koristeći GitHub Models, backend u Pythonu i frontend u HTML-u, CSS-u i JavaScriptu. +Odlično, naučili ste od nule kako kreirati osobnog asistenta koristeći AI. To smo učinili koristeći GitHub modele, backend u Pythonu i frontend u HTML-u, CSS-u i JavaScriptu. ## Postavljanje s Codespaces - Navigirajte na: [Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) -- Kreirajte iz predloška (pobrinite se da ste prijavljeni na GitHub) u gornjem desnom kutu: +- Kreirajte iz predloška (provjerite jeste li prijavljeni na GitHub) u gornjem desnom kutu: ![Kreiraj iz predloška](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.hr.png) @@ -386,4 +403,4 @@ Odlično, naučili ste od početka kako kreirati osobnog asistenta koristeći AI --- **Odricanje od odgovornosti**: -Ovaj dokument je preveden pomoću AI usluge za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati mjerodavnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane stručnjaka. Ne preuzimamo odgovornost za bilo kakve nesporazume ili pogrešne interpretacije proizašle iz korištenja ovog prijevoda. \ No newline at end of file +Ovaj dokument je preveden pomoću AI usluge za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane ljudskog prevoditelja. Ne preuzimamo odgovornost za bilo kakve nesporazume ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda. \ No newline at end of file diff --git a/translations/hr/9-chat-project/solution/README.md b/translations/hr/9-chat-project/solution/README.md index 3fb93bee..d380c522 100644 --- a/translations/hr/9-chat-project/solution/README.md +++ b/translations/hr/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# Pokreni kod +# Pokreni rješenje -## Postavljanje - -Kreiraj virtualno okruženje - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Instaliraj ovisnosti - -```sh -pip install openai flask flask-cors -``` - -## Pokreni API - -```sh -python api.py -``` - -## Pokreni frontend - -Provjeri da se nalaziš u mapi frontend - -Pronađi *app.js*, promijeni `BASE_URL` na URL svog backend-a - -Pokreni ga - -``` -npx http-server -p 8000 -``` - -Pokušaj upisati poruku u chat, trebao bi vidjeti odgovor (pod uvjetom da ovo pokrećeš u Codespaceu ili da si postavio pristupni token). - -## Postavljanje pristupnog tokena (ako ovo ne pokrećeš u Codespaceu) - -Pogledaj [Postavljanje PAT-a](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Pokreni [backend](./backend/README.md) +1. Zatim pokreni [frontend](./frontend/README.md) --- **Odricanje od odgovornosti**: -Ovaj dokument je preveden pomoću AI usluge za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati mjerodavnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane stručnjaka. Ne preuzimamo odgovornost za bilo kakve nesporazume ili pogrešne interpretacije proizašle iz korištenja ovog prijevoda. \ No newline at end of file +Ovaj dokument je preveden pomoću AI usluge za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane ljudskog prevoditelja. Ne preuzimamo odgovornost za bilo kakve nesporazume ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda. \ No newline at end of file diff --git a/translations/hr/9-chat-project/solution/backend/README.md b/translations/hr/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..0224efd7 --- /dev/null +++ b/translations/hr/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Odaberi svoje okruženje za izvršavanje + +- [Python](./python/README.md) + +--- + +**Odricanje od odgovornosti**: +Ovaj dokument je preveden pomoću AI usluge za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane čovjeka. Ne preuzimamo odgovornost za bilo kakva nesporazuma ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda. \ No newline at end of file diff --git a/translations/hr/9-chat-project/solution/backend/python/README.md b/translations/hr/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..9fdae7f5 --- /dev/null +++ b/translations/hr/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Pokreni kod + +## Postavljanje + +Kreiraj virtualno okruženje + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Instaliraj ovisnosti + +```sh +pip install openai flask flask-cors +``` + +## Pokreni API + +```sh +python api.py +``` + +## Pokreni frontend + +Provjeri da se nalaziš u mapi frontend + +Pronađi *app.js*, promijeni `BASE_URL` na URL svog backend-a + +Pokreni ga + +``` +npx http-server -p 8000 +``` + +Pokušaj upisati poruku u chat, trebala bi se pojaviti odgovarajuća reakcija (pod uvjetom da ovo pokrećeš u Codespace-u ili si postavio pristupni token). + +## Postavi pristupni token (ako ovo ne pokrećeš u Codespace-u) + +Pogledaj [Postavljanje PAT-a](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Odricanje od odgovornosti**: +Ovaj dokument je preveden pomoću AI usluge za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane čovjeka. Ne preuzimamo odgovornost za bilo kakva pogrešna tumačenja ili nesporazume koji mogu proizaći iz korištenja ovog prijevoda. \ No newline at end of file diff --git a/translations/hr/9-chat-project/solution/frontend/README.md b/translations/hr/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..ce0f3fd5 --- /dev/null +++ b/translations/hr/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Pokreni kod + +```sh +npx http-server -p 3000 +``` + +Pronađite `BASE_URL` u `app.js` i promijenite ga tako da odgovara URL-u backend-a. + +--- + +**Odricanje od odgovornosti**: +Ovaj dokument je preveden pomoću AI usluge za prevođenje [Co-op Translator](https://github.com/Azure/co-op-translator). Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane ljudskog prevoditelja. Ne preuzimamo odgovornost za nesporazume ili pogrešna tumačenja koja mogu proizaći iz korištenja ovog prijevoda. \ No newline at end of file diff --git a/translations/hu/9-chat-project/README.md b/translations/hu/9-chat-project/README.md index 86ab2cce..dd506e56 100644 --- a/translations/hu/9-chat-project/README.md +++ b/translations/hu/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Kód futtatása +# Megoldás futtatása -## Beállítás - -Hozz létre egy virtuális környezetet - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Függőségek telepítése - -```sh -pip install openai flask flask-cors -``` - -## API futtatása - -```sh -python api.py -``` - -## Frontend futtatása - -Győződj meg róla, hogy a frontend mappában állsz - -Keresd meg az *app.js* fájlt, és változtasd meg a `BASE_URL` értékét a backend URL-edre - -Indítsd el - -``` -npx http-server -p 8000 -``` - -Próbálj meg beírni egy üzenetet a csevegésbe, és látnod kell egy választ (feltéve, hogy Codespace-ben futtatod, vagy beállítottál egy hozzáférési tokent). - -## Hozzáférési token beállítása (ha nem Codespace-ben futtatod) - -Lásd: [Személyes hozzáférési token beállítása](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Indítsd el a [backendet](./backend/README.md) +1. Most indítsd el a [frontendet](./frontend/README.md) --- -**Felelősségkizárás**: -Ezt a dokumentumot az [Co-op Translator](https://github.com/Azure/co-op-translator) AI fordítási szolgáltatás segítségével fordítottuk le. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt a professzionális, emberi fordítás igénybevétele. Nem vállalunk felelősséget a fordítás használatából eredő félreértésekért vagy téves értelmezésekért. \ No newline at end of file +**Felelősség kizárása**: +Ez a dokumentum az AI fordítási szolgáltatás [Co-op Translator](https://github.com/Azure/co-op-translator) segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt professzionális emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet. \ No newline at end of file diff --git a/translations/hu/9-chat-project/solution/backend/README.md b/translations/hu/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..13aba5c9 --- /dev/null +++ b/translations/hu/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Válassza ki a futtatási környezetet + +- [Python](./python/README.md) + +--- + +**Felelősség kizárása**: +Ez a dokumentum az AI fordítási szolgáltatás, a [Co-op Translator](https://github.com/Azure/co-op-translator) segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt professzionális emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet. \ No newline at end of file diff --git a/translations/hu/9-chat-project/solution/backend/python/README.md b/translations/hu/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..918ff0e2 --- /dev/null +++ b/translations/hu/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Kód futtatása + +## Beállítás + +Hozz létre egy virtuális környezetet + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Függőségek telepítése + +```sh +pip install openai flask flask-cors +``` + +## API futtatása + +```sh +python api.py +``` + +## Frontend futtatása + +Győződj meg róla, hogy a frontend mappában állsz + +Keresd meg az *app.js*-t, változtasd meg a `BASE_URL` értékét a backend URL-edre + +Futtasd + +``` +npx http-server -p 8000 +``` + +Próbálj meg beírni egy üzenetet a chatbe, válaszokat kellene látnod (feltéve, hogy Codespace-ben futtatod, vagy beállítottál egy hozzáférési tokent). + +## Hozzáférési token beállítása (ha nem Codespace-ben futtatod) + +Lásd: [Hozzáférési token beállítása](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Felelősség kizárása**: +Ez a dokumentum az AI fordítási szolgáltatás [Co-op Translator](https://github.com/Azure/co-op-translator) segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Fontos információk esetén javasolt professzionális emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet. \ No newline at end of file diff --git a/translations/hu/9-chat-project/solution/frontend/README.md b/translations/hu/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..6792dab7 --- /dev/null +++ b/translations/hu/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Futtasd a kódot + +```sh +npx http-server -p 3000 +``` + +Keresse meg a `BASE_URL` értékét az `app.js` fájlban, és módosítsa úgy, hogy megegyezzen a backend URL-jével. + +--- + +**Felelősség kizárása**: +Ez a dokumentum az [Co-op Translator](https://github.com/Azure/co-op-translator) AI fordítási szolgáltatás segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt professzionális emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet. \ No newline at end of file diff --git a/translations/id/9-chat-project/README.md b/translations/id/9-chat-project/README.md index 3bd0a215..c7776522 100644 --- a/translations/id/9-chat-project/README.md +++ b/translations/id/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Jalankan kode +# Jalankan solusi -## Persiapan - -Buat lingkungan virtual - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Instal dependensi - -```sh -pip install openai flask flask-cors -``` - -## Jalankan API - -```sh -python api.py -``` - -## Jalankan frontend - -Pastikan Anda berada di folder frontend - -Temukan *app.js*, ubah `BASE_URL` ke URL backend Anda - -Jalankan - -``` -npx http-server -p 8000 -``` - -Coba ketikkan pesan di chat, Anda seharusnya melihat respons (dengan catatan Anda menjalankan ini di Codespace atau telah mengatur token akses). - -## Atur token akses (jika Anda tidak menjalankan ini di Codespace) - -Lihat [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Mulai [backend](./backend/README.md) +1. Sekarang mulai [frontend](./frontend/README.md) --- **Penafian**: -Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya untuk memberikan hasil yang akurat, harap diperhatikan bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang berwenang. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan manusia profesional. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini. \ No newline at end of file +Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diketahui bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini. \ No newline at end of file diff --git a/translations/id/9-chat-project/solution/backend/README.md b/translations/id/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..9f0c05ef --- /dev/null +++ b/translations/id/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Pilih runtime Anda + +- [Python](./python/README.md) + +--- + +**Penafian**: +Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini. \ No newline at end of file diff --git a/translations/id/9-chat-project/solution/backend/python/README.md b/translations/id/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..ac7070cc --- /dev/null +++ b/translations/id/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Jalankan kode + +## Persiapan + +Buat lingkungan virtual + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Instal dependensi + +```sh +pip install openai flask flask-cors +``` + +## Jalankan API + +```sh +python api.py +``` + +## Jalankan frontend + +Pastikan Anda berada di folder frontend + +Temukan *app.js*, ubah `BASE_URL` ke URL backend Anda + +Jalankan + +``` +npx http-server -p 8000 +``` + +Cobalah mengetik pesan di chat, Anda seharusnya melihat respons (dengan catatan Anda menjalankan ini di Codespace atau telah mengatur token akses). + +## Atur token akses (jika Anda tidak menjalankan ini di Codespace) + +Lihat [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Penafian**: +Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini. \ No newline at end of file diff --git a/translations/id/9-chat-project/solution/frontend/README.md b/translations/id/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..55858bbd --- /dev/null +++ b/translations/id/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Jalankan kode + +```sh +npx http-server -p 3000 +``` + +Temukan `BASE_URL` di `app.js` dan ubah agar sesuai dengan URL backend. + +--- + +**Penafian**: +Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini. \ No newline at end of file diff --git a/translations/it/9-chat-project/README.md b/translations/it/9-chat-project/README.md index 7034f998..e33c5eae 100644 --- a/translations/it/9-chat-project/README.md +++ b/translations/it/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Esegui il codice +# Esegui la soluzione -## Configurazione - -Crea un ambiente virtuale - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Installa le dipendenze - -```sh -pip install openai flask flask-cors -``` - -## Avvia l'API - -```sh -python api.py -``` - -## Avvia il frontend - -Assicurati di trovarti nella cartella del frontend - -Trova *app.js*, cambia `BASE_URL` con l'URL del tuo backend - -Eseguilo - -``` -npx http-server -p 8000 -``` - -Prova a digitare un messaggio nella chat, dovresti vedere una risposta (a condizione che tu stia eseguendo questo in un Codespace o abbia configurato un token di accesso). - -## Configura il token di accesso (se non stai eseguendo questo in un Codespace) - -Consulta [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Avvia il [backend](./backend/README.md) +1. Ora avvia il [frontend](./frontend/README.md) --- **Disclaimer**: -Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si consiglia una traduzione professionale eseguita da un traduttore umano. Non siamo responsabili per eventuali fraintendimenti o interpretazioni errate derivanti dall'uso di questa traduzione. \ No newline at end of file +Questo documento è stato tradotto utilizzando il servizio di traduzione AI [Co-op Translator](https://github.com/Azure/co-op-translator). Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatizzate possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un esperto umano. Non siamo responsabili per eventuali incomprensioni o interpretazioni errate derivanti dall'uso di questa traduzione. \ No newline at end of file diff --git a/translations/it/9-chat-project/solution/backend/README.md b/translations/it/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..44924018 --- /dev/null +++ b/translations/it/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Scegli il tuo runtime + +- [Python](./python/README.md) + +--- + +**Disclaimer**: +Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un esperto umano. Non siamo responsabili per eventuali incomprensioni o interpretazioni errate derivanti dall'uso di questa traduzione. \ No newline at end of file diff --git a/translations/it/9-chat-project/solution/backend/python/README.md b/translations/it/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..9c3b53f1 --- /dev/null +++ b/translations/it/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Esegui il codice + +## Configurazione + +Crea un ambiente virtuale + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Installa le dipendenze + +```sh +pip install openai flask flask-cors +``` + +## Esegui l'API + +```sh +python api.py +``` + +## Esegui il frontend + +Assicurati di trovarti nella cartella del frontend + +Trova *app.js*, modifica `BASE_URL` con l'URL del tuo backend + +Eseguilo + +``` +npx http-server -p 8000 +``` + +Prova a digitare un messaggio nella chat, dovresti vedere una risposta (a condizione che tu stia eseguendo questo in un Codespace o abbia configurato un token di accesso). + +## Configura il token di accesso (se non stai eseguendo questo in un Codespace) + +Consulta [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Disclaimer**: +Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un traduttore umano. Non siamo responsabili per eventuali fraintendimenti o interpretazioni errate derivanti dall'uso di questa traduzione. \ No newline at end of file diff --git a/translations/it/9-chat-project/solution/frontend/README.md b/translations/it/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..b4ca5558 --- /dev/null +++ b/translations/it/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Esegui il codice + +```sh +npx http-server -p 3000 +``` + +Individua `BASE_URL` in `app.js` e modificalo per corrispondere all'URL del backend. + +--- + +**Disclaimer**: +Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un traduttore umano. Non siamo responsabili per eventuali incomprensioni o interpretazioni errate derivanti dall'uso di questa traduzione. \ No newline at end of file diff --git a/translations/ja/9-chat-project/README.md b/translations/ja/9-chat-project/README.md index d1e4d3bb..f828e913 100644 --- a/translations/ja/9-chat-project/README.md +++ b/translations/ja/9-chat-project/README.md @@ -1,8 +1,8 @@ -# コードを実行する +# ソリューションの実行 -## セットアップ - -仮想環境を作成する - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## 依存関係をインストールする - -```sh -pip install openai flask flask-cors -``` - -## APIを実行する - -```sh -python api.py -``` - -## フロントエンドを実行する - -フロントエンドフォルダに移動してください - -*app.js* を見つけ、`BASE_URL` をバックエンドのURLに変更してください - -実行する - -``` -npx http-server -p 8000 -``` - -チャットでメッセージを入力してみてください。応答が表示されるはずです(Codespaceで実行している場合、またはアクセストークンを設定している場合)。 - -## アクセストークンを設定する(Codespaceで実行していない場合) - -[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) を参照してください +1. [バックエンド](./backend/README.md) を起動する +1. 次に [フロントエンド](./frontend/README.md) を起動する --- **免責事項**: -この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確さが含まれる可能性があります。元の言語で記載された原文が正式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤認について、当社は一切の責任を負いません。 \ No newline at end of file +この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解について、当社は責任を負いません。 \ No newline at end of file diff --git a/translations/ja/9-chat-project/solution/backend/README.md b/translations/ja/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..27f55f5a --- /dev/null +++ b/translations/ja/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +ランタイムを選択してください + +- [Python](./python/README.md) + +--- + +**免責事項**: +この文書はAI翻訳サービス[Co-op Translator](https://github.com/Azure/co-op-translator)を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された文書を正式な情報源としてお考えください。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤った解釈について、当方は責任を負いません。 \ No newline at end of file diff --git a/translations/ja/9-chat-project/solution/backend/python/README.md b/translations/ja/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..364d3340 --- /dev/null +++ b/translations/ja/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# コードを実行する + +## セットアップ + +仮想環境を作成する + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## 依存関係をインストールする + +```sh +pip install openai flask flask-cors +``` + +## APIを実行する + +```sh +python api.py +``` + +## フロントエンドを実行する + +フロントエンドフォルダに移動していることを確認してください + +*app.js* を見つけ、`BASE_URL` をバックエンドのURLに変更してください + +実行する + +``` +npx http-server -p 8000 +``` + +チャットにメッセージを入力してみてください。応答が表示されるはずです(Codespaceで実行しているか、アクセストークンを設定している場合)。 + +## アクセストークンを設定する(Codespaceで実行していない場合) + +[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) を参照してください + +--- + +**免責事項**: +この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を期すよう努めておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された原文が正式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の利用に起因する誤解や誤認について、当社は一切の責任を負いません。 \ No newline at end of file diff --git a/translations/ja/9-chat-project/solution/frontend/README.md b/translations/ja/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..2d95f48a --- /dev/null +++ b/translations/ja/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# コードを実行する + +```sh +npx http-server -p 3000 +``` + +`app.js`内の`BASE_URL`を見つけて、バックエンドのURLに合わせて変更してください。 + +--- + +**免責事項**: +この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。 \ No newline at end of file diff --git a/translations/ko/9-chat-project/README.md b/translations/ko/9-chat-project/README.md index afbee9aa..d73e41e2 100644 --- a/translations/ko/9-chat-project/README.md +++ b/translations/ko/9-chat-project/README.md @@ -1,39 +1,41 @@ # 채팅 프로젝트 -이 채팅 프로젝트는 GitHub Models를 사용하여 채팅 어시스턴트를 만드는 방법을 보여줍니다. +이 채팅 프로젝트는 GitHub Models를 사용하여 채팅 어시스턴트를 구축하는 방법을 보여줍니다. -완성된 프로젝트는 다음과 같은 모습입니다: +완성된 프로젝트는 다음과 같습니다:
채팅 앱
-약간의 배경 설명을 하자면, 생성형 AI를 사용해 채팅 어시스턴트를 만드는 것은 AI를 배우기 시작하는 데 훌륭한 방법입니다. 이번 레슨을 통해 생성형 AI를 웹 앱에 통합하는 방법을 배우게 될 것입니다. 시작해봅시다. +생성형 AI를 사용하여 채팅 어시스턴트를 만드는 것은 AI를 배우는 훌륭한 시작점입니다. 이번 레슨에서는 생성형 AI를 웹 앱에 통합하는 방법을 배울 것입니다. 시작해봅시다. ## 생성형 AI 연결하기 -백엔드로는 GitHub Models를 사용합니다. 이 서비스는 무료로 AI를 사용할 수 있게 해주는 훌륭한 도구입니다. GitHub Models Playground에 접속하여 원하는 백엔드 언어에 해당하는 코드를 가져오세요. [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground)에서 확인할 수 있습니다. +백엔드로는 GitHub Models를 사용합니다. 이 서비스는 무료로 AI를 사용할 수 있게 해주는 훌륭한 도구입니다. GitHub Models Playground로 이동하여 선택한 백엔드 언어에 해당하는 코드를 가져오세요. [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground)에서 확인할 수 있습니다.
GitHub Models AI Playground
-위에서 언급했듯이, "Code" 탭과 원하는 런타임을 선택하세요. +"Code" 탭과 원하는 런타임을 선택하세요.
playground choice
-이 경우 Python을 선택하면 다음과 같은 코드를 얻게 됩니다: +### Python 사용하기 + +이 경우 Python을 선택하면 다음 코드를 가져오게 됩니다: ```python """Run this model in Python @@ -70,7 +72,7 @@ response = client.chat.completions.create( print(response.choices[0].message.content) ``` -이 코드를 재사용 가능하도록 약간 정리해봅시다: +이 코드를 조금 정리하여 재사용 가능하게 만들어봅시다: ```python def call_llm(prompt: str, system_message: str): @@ -94,19 +96,21 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -이제 `call_llm` 함수로 프롬프트와 시스템 프롬프트를 전달하면 결과를 반환받을 수 있습니다. +이 `call_llm` 함수는 프롬프트와 시스템 프롬프트를 받아 결과를 반환합니다. ### AI 어시스턴트 커스터마이징 -AI 어시스턴트를 커스터마이징하고 싶다면, 시스템 프롬프트를 다음과 같이 설정하여 원하는 동작을 지정할 수 있습니다: +AI 어시스턴트를 커스터마이징하려면 시스템 프롬프트를 채워서 원하는 동작을 지정할 수 있습니다: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") ``` -## 웹 API를 통해 노출하기 +## 웹 API로 노출하기 + +좋습니다, AI 부분은 완료되었습니다. 이제 이를 웹 API에 통합하는 방법을 살펴봅시다. 웹 API로는 Flask를 사용하지만, 다른 웹 프레임워크도 괜찮습니다. 코드를 살펴봅시다: -좋습니다. AI 부분은 완료되었습니다. 이제 이를 웹 API에 통합하는 방법을 살펴봅시다. 웹 API로는 Flask를 사용할 예정이지만, 다른 웹 프레임워크도 사용할 수 있습니다. 코드는 다음과 같습니다: +### Python 사용하기 ```python # api.py @@ -137,11 +141,11 @@ if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` -여기서 Flask API를 생성하고 기본 경로 "/"와 "/chat"을 정의합니다. "/chat" 경로는 프론트엔드가 질문을 백엔드로 전달하는 데 사용됩니다. +여기서는 Flask API를 생성하고 기본 경로 "/"와 "/chat"을 정의합니다. "/chat"은 프론트엔드에서 질문을 전달하는 데 사용됩니다. -*llm.py*를 통합하려면 다음 작업이 필요합니다: +*llm.py*를 통합하려면 다음을 수행해야 합니다: -- `call_llm` 함수를 가져오기: +- `call_llm` 함수 가져오기: ```python from llm import call_llm @@ -163,7 +167,7 @@ if __name__ == "__main__": }) ``` - 여기서 들어오는 요청을 파싱하여 JSON 본문에서 `message` 속성을 가져옵니다. 그런 다음 LLM을 다음과 같이 호출합니다: + 여기서는 들어오는 요청을 파싱하여 JSON 본문에서 `message` 속성을 가져옵니다. 그런 다음 LLM을 호출합니다: ```python response = call_llm(message, "You are a helpful assistant") @@ -174,11 +178,15 @@ if __name__ == "__main__": }) ``` -좋습니다. 이제 필요한 작업을 완료했습니다. +좋습니다, 필요한 작업을 완료했습니다. + +## Cors 설정 -### Cors 설정 +백엔드와 프론트엔드가 다른 포트에서 실행되기 때문에 프론트엔드가 백엔드에 호출할 수 있도록 CORS(교차 출처 리소스 공유)를 설정해야 합니다. -백엔드와 프론트엔드가 서로 다른 포트에서 실행되기 때문에, 프론트엔드가 백엔드에 접근할 수 있도록 CORS(교차 출처 리소스 공유)를 설정해야 합니다. *api.py*에 다음 코드가 포함되어 있습니다: +### Python 사용하기 + +*api.py*에 다음 코드가 포함되어 있습니다: ```python from flask_cors import CORS @@ -187,13 +195,17 @@ app = Flask(__name__) CORS(app) # * example.com ``` -현재는 모든 출처("*")를 허용하도록 설정되어 있는데, 이는 안전하지 않으므로 프로덕션 환경에서는 제한해야 합니다. +현재는 모든 출처를 허용하는 "*"로 설정되어 있는데, 이는 안전하지 않으므로 프로덕션 환경에서는 제한해야 합니다. ## 프로젝트 실행하기 -이제 *llm.py*와 *api.py*가 준비되었습니다. 백엔드와 함께 작동하도록 설정하려면 다음 두 가지를 수행해야 합니다: +프로젝트를 실행하려면 먼저 백엔드를 시작한 다음 프론트엔드를 시작해야 합니다. + +### Python 사용하기 -- 의존성 설치: +*llm.py*와 *api.py*를 가지고 백엔드를 실행하려면 다음을 수행해야 합니다: + +- 종속성 설치: ```sh cd backend @@ -203,17 +215,17 @@ CORS(app) # * example.com pip install openai flask flask-cors openai ``` -- API 시작: +- API 시작하기: ```sh python api.py ``` - Codespaces를 사용하는 경우, 편집기 하단의 Ports로 이동하여 오른쪽 클릭 후 "Port Visibility"를 선택하고 "Public"을 선택하세요. + Codespaces를 사용하는 경우 편집기 하단의 Ports로 이동하여 오른쪽 클릭 후 "Port Visibility"를 선택하고 "Public"을 선택하세요. ### 프론트엔드 작업하기 -API가 실행 중이므로, 이제 이를 위한 프론트엔드를 만들어봅시다. 최소한의 프론트엔드를 만들고 점진적으로 개선해 나갈 것입니다. *frontend* 폴더를 생성하고 다음을 추가하세요: +API가 실행 중이라면 이제 프론트엔드를 만들어봅시다. 최소한의 프론트엔드를 단계적으로 개선해 나갈 것입니다. *frontend* 폴더를 생성하고 다음을 추가하세요: ```text backend/ @@ -223,7 +235,7 @@ app.js styles.css ``` -**index.html**부터 시작해봅시다: +먼저 **index.html**을 살펴봅시다: ```html @@ -241,7 +253,7 @@ styles.css ``` -위 코드는 채팅 창을 지원하는 데 필요한 최소한의 코드입니다. 메시지가 렌더링될 textarea, 메시지를 입력할 input, 메시지를 백엔드로 전송하는 버튼으로 구성되어 있습니다. 다음으로 *app.js*의 JavaScript를 살펴봅시다. +위 코드는 채팅 창을 지원하기 위한 최소한의 코드입니다. 메시지가 렌더링될 텍스트 영역, 메시지를 입력할 입력 필드, 백엔드로 메시지를 보내는 버튼으로 구성됩니다. 다음으로 *app.js*의 JavaScript를 살펴봅시다. **app.js** @@ -298,12 +310,12 @@ styles.css })(); ``` -코드를 섹션별로 살펴보겠습니다: +코드를 섹션별로 살펴봅시다: -- 1) 나중에 참조할 모든 요소를 가져옵니다. -- 2) 내장된 `fetch` 메서드를 사용하여 백엔드를 호출하는 함수를 생성합니다. -- 3) `appendMessage`는 사용자 입력과 응답을 textarea에 추가합니다. -- 4) submit 이벤트를 감지하여 입력 필드를 읽고, 사용자의 메시지를 textarea에 추가한 뒤 API를 호출하고 응답을 렌더링합니다. +- 1) 여기서는 나중에 참조할 모든 요소를 가져옵니다. +- 2) 이 섹션에서는 내장된 `fetch` 메서드를 사용하여 백엔드를 호출하는 함수를 만듭니다. +- 3) `appendMessage`는 사용자 입력과 응답을 텍스트 영역에 추가합니다. +- 4) 제출 이벤트를 감지하여 입력 필드를 읽고, 사용자의 메시지를 텍스트 영역에 추가하고, API를 호출하여 응답을 렌더링합니다. 다음으로 스타일링을 살펴봅시다. 원하는 대로 꾸밀 수 있지만, 다음은 몇 가지 제안입니다: @@ -326,18 +338,18 @@ styles.css } ``` -이 세 가지 클래스는 메시지가 어시스턴트로부터 온 것인지, 사용자로부터 온 것인지에 따라 다르게 스타일링합니다. 영감을 얻고 싶다면 `solution/frontend/styles.css` 폴더를 확인해보세요. +이 세 가지 클래스는 메시지가 어시스턴트에서 왔는지 사용자에서 왔는지에 따라 다르게 스타일링합니다. 영감을 얻고 싶다면 `solution/frontend/styles.css` 폴더를 확인하세요. -### Base Url 변경 +### Base Url 변경하기 -여기서 설정하지 않은 한 가지는 `BASE_URL`입니다. 이는 백엔드가 시작된 후에야 알 수 있습니다. 설정 방법은 다음과 같습니다: +여기서 설정하지 않은 한 가지는 `BASE_URL`입니다. 이는 백엔드가 시작될 때까지 알 수 없습니다. 설정 방법은 다음과 같습니다: -- 로컬에서 API를 실행하는 경우, `http://localhost:5000`으로 설정합니다. -- Codespaces에서 실행하는 경우, "[name]app.github.dev"와 같은 형식이 됩니다. +- API를 로컬에서 실행하면 `http://localhost:5000`으로 설정해야 합니다. +- Codespaces에서 실행하면 "[name]app.github.dev"와 같은 형태가 됩니다. ## 과제 -*project*라는 폴더를 생성하고 다음과 같은 내용을 포함하세요: +*project* 폴더를 생성하고 다음과 같은 내용을 추가하세요: ```text project/ @@ -346,38 +358,43 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` -위에서 설명한 내용을 복사하되, 원하는 대로 커스터마이징해보세요. +위에서 설명한 내용을 복사하되, 원하는 대로 커스터마이징하세요. ## 솔루션 -[솔루션](./solution/README.md) +[Solution](./solution/README.md) ## 보너스 -AI 어시스턴트의 성격을 변경해보세요. *api.py*에서 `call_llm`을 호출할 때 두 번째 인수를 원하는 대로 변경할 수 있습니다. 예를 들어: +AI 어시스턴트의 성격을 변경해보세요. + +### Python 사용하기 + +*api.py*에서 `call_llm`을 호출할 때 두 번째 인수를 원하는 대로 변경할 수 있습니다. 예를 들어: ```python call_llm(message, "You are Captain Picard") ``` -또한 CSS와 텍스트를 원하는 대로 변경하세요. *index.html*과 *styles.css*에서 수정하면 됩니다. +### 프론트엔드 + +CSS와 텍스트도 원하는 대로 변경하세요. *index.html*과 *styles.css*에서 수정하세요. ## 요약 -처음부터 AI를 사용해 개인 어시스턴트를 만드는 방법을 배웠습니다. GitHub Models, Python 백엔드, HTML, CSS, JavaScript 프론트엔드를 사용하여 이를 구현했습니다. +처음부터 AI를 사용하여 개인 어시스턴트를 만드는 방법을 배웠습니다. GitHub Models, Python 백엔드, HTML, CSS, JavaScript 프론트엔드를 사용하여 이를 구현했습니다. -## Codespaces로 설정하기 +## Codespaces 설정하기 -- 다음으로 이동하세요: [Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) +- 이동: [Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) - 템플릿에서 생성하기(로그인 상태여야 함): ![Create from template](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.ko.png) -- 저장소에 들어가서 Codespace 생성: +- 저장소에서 Codespace 생성하기: ![Create codespace](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.ko.png) @@ -386,4 +403,4 @@ call_llm(message, "You are Captain Picard") --- **면책 조항**: -이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역을 사용함으로써 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다. \ No newline at end of file +이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전이 권위 있는 출처로 간주되어야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다. \ No newline at end of file diff --git a/translations/ko/9-chat-project/solution/README.md b/translations/ko/9-chat-project/solution/README.md index e6fbb62f..5a074214 100644 --- a/translations/ko/9-chat-project/solution/README.md +++ b/translations/ko/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# 코드 실행 +# 솔루션 실행 -## 설정 - -가상 환경 생성 - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## 의존성 설치 - -```sh -pip install openai flask flask-cors -``` - -## API 실행 - -```sh -python api.py -``` - -## 프론트엔드 실행 - -프론트엔드 폴더에 있는지 확인하세요. - -*app.js* 파일을 찾아 `BASE_URL`을 백엔드 URL로 변경하세요. - -실행하세요. - -``` -npx http-server -p 8000 -``` - -채팅창에 메시지를 입력해보세요. 응답이 표시될 것입니다(이 작업을 Codespace에서 실행하거나 액세스 토큰을 설정한 경우). - -## 액세스 토큰 설정 (Codespace에서 실행하지 않는 경우) - -[개인 액세스 토큰 설정](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)을 참조하세요. +1. [백엔드](./backend/README.md)를 시작합니다. +1. 이제 [프론트엔드](./frontend/README.md)를 시작합니다. --- **면책 조항**: -이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전이 권위 있는 출처로 간주되어야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다. \ No newline at end of file +이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 신뢰할 수 있는 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다. \ No newline at end of file diff --git a/translations/ko/9-chat-project/solution/backend/README.md b/translations/ko/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..eca80db4 --- /dev/null +++ b/translations/ko/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +실행 환경 선택 + +- [Python](./python/README.md) + +--- + +**면책 조항**: +이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 신뢰할 수 있는 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다. \ No newline at end of file diff --git a/translations/ko/9-chat-project/solution/backend/python/README.md b/translations/ko/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..0e04241e --- /dev/null +++ b/translations/ko/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# 코드 실행 + +## 설정 + +가상 환경 생성 + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## 의존성 설치 + +```sh +pip install openai flask flask-cors +``` + +## API 실행 + +```sh +python api.py +``` + +## 프론트엔드 실행 + +프론트엔드 폴더에 위치해 있는지 확인하세요. + +*app.js* 파일을 찾아 `BASE_URL`을 백엔드 URL로 변경하세요. + +실행하세요. + +``` +npx http-server -p 8000 +``` + +채팅창에 메시지를 입력해보세요. 응답이 표시될 것입니다 (Codespace에서 실행 중이거나 액세스 토큰을 설정한 경우). + +## 액세스 토큰 설정 (Codespace에서 실행하지 않는 경우) + +[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)를 참조하세요. + +--- + +**면책 조항**: +이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역을 사용함으로써 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다. \ No newline at end of file diff --git a/translations/ko/9-chat-project/solution/frontend/README.md b/translations/ko/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..1a046bea --- /dev/null +++ b/translations/ko/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# 코드 실행하기 + +```sh +npx http-server -p 3000 +``` + +`app.js`에서 `BASE_URL`을 찾아 백엔드 URL과 일치하도록 변경하세요. + +--- + +**면책 조항**: +이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다. \ No newline at end of file diff --git a/translations/lt/9-chat-project/README.md b/translations/lt/9-chat-project/README.md index 1e8990f0..f4616334 100644 --- a/translations/lt/9-chat-project/README.md +++ b/translations/lt/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Paleiskite kodą +# Paleiskite sprendimą -## Paruošimas - -Sukurkite virtualią aplinką - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Įdiekite priklausomybes - -```sh -pip install openai flask flask-cors -``` - -## Paleiskite API - -```sh -python api.py -``` - -## Paleiskite frontendą - -Įsitikinkite, kad esate frontend aplanke - -Suraskite *app.js*, pakeiskite `BASE_URL` į savo backend URL - -Paleiskite - -``` -npx http-server -p 8000 -``` - -Pabandykite įvesti žinutę pokalbyje, turėtumėte matyti atsakymą (jei tai vykdote Codespace aplinkoje arba nustatėte prieigos raktą). - -## Nustatykite prieigos raktą (jei nevykdote to Codespace aplinkoje) - -Žr. [Nustatyti PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Paleiskite [backendą](./backend/README.md) +1. Dabar paleiskite [frontendą](./frontend/README.md) --- diff --git a/translations/lt/9-chat-project/solution/backend/README.md b/translations/lt/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..31c78e08 --- /dev/null +++ b/translations/lt/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Pasirinkite savo vykdymo aplinką + +- [Python](./python/README.md) + +--- + +**Atsakomybės apribojimas**: +Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojama naudoti profesionalų žmogaus vertimą. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius dėl šio vertimo naudojimo. \ No newline at end of file diff --git a/translations/lt/9-chat-project/solution/backend/python/README.md b/translations/lt/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..d9a210d2 --- /dev/null +++ b/translations/lt/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Paleiskite kodą + +## Paruošimas + +Sukurkite virtualią aplinką + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Įdiekite priklausomybes + +```sh +pip install openai flask flask-cors +``` + +## Paleiskite API + +```sh +python api.py +``` + +## Paleiskite frontendą + +Įsitikinkite, kad esate frontend aplanke + +Suraskite *app.js*, pakeiskite `BASE_URL` į savo backend URL + +Paleiskite + +``` +npx http-server -p 8000 +``` + +Pabandykite įvesti žinutę pokalbyje, turėtumėte matyti atsakymą (jei tai vykdote Codespace aplinkoje arba nustatėte prieigos raktą). + +## Nustatykite prieigos raktą (jei nevykdote to Codespace aplinkoje) + +Žiūrėkite [Nustatyti PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Atsakomybės apribojimas**: +Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojama naudoti profesionalų žmogaus vertimą. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius dėl šio vertimo naudojimo. \ No newline at end of file diff --git a/translations/lt/9-chat-project/solution/frontend/README.md b/translations/lt/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..b9d699dc --- /dev/null +++ b/translations/lt/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Paleiskite kodą + +```sh +npx http-server -p 3000 +``` + +Suraskite `BASE_URL` faile `app.js` ir pakeiskite jį taip, kad atitiktų galinio serverio URL. + +--- + +**Atsakomybės apribojimas**: +Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Dėl svarbios informacijos rekomenduojama profesionali žmogaus vertimo paslauga. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius naudojant šį vertimą. \ No newline at end of file diff --git a/translations/mo/9-chat-project/README.md b/translations/mo/9-chat-project/README.md index 635820df..4abce1ad 100644 --- a/translations/mo/9-chat-project/README.md +++ b/translations/mo/9-chat-project/README.md @@ -1,8 +1,8 @@ -# 執行程式碼 +# 執行解決方案 -## 設置環境 - -建立虛擬環境 - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## 安裝依賴項 - -```sh -pip install openai flask flask-cors -``` - -## 啟動 API - -```sh -python api.py -``` - -## 啟動前端 - -確保你位於前端資料夾 - -找到 *app.js*,將 `BASE_URL` 更改為你的後端 URL - -執行程式 - -``` -npx http-server -p 8000 -``` - -嘗試在聊天框中輸入訊息,你應該會看到回應(前提是你在 Codespace 中執行此程式或已設置存取權杖)。 - -## 設置存取權杖(如果你不是在 Codespace 中執行) - -請參考 [設置 PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. 啟動 [backend](./backend/README.md) +1. 接著啟動 [frontend](./frontend/README.md) --- **免責聲明**: -本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解讀概不負責。 \ No newline at end of file +本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。 \ No newline at end of file diff --git a/translations/mo/9-chat-project/solution/backend/README.md b/translations/mo/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..cc49cb1a --- /dev/null +++ b/translations/mo/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +選擇您的執行環境 + +- [Python](./python/README.md) + +--- + +**免責聲明**: +本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋不承擔責任。 \ No newline at end of file diff --git a/translations/mo/9-chat-project/solution/backend/python/README.md b/translations/mo/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..9c67a8d0 --- /dev/null +++ b/translations/mo/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# 執行程式碼 + +## 設置環境 + +建立虛擬環境 + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## 安裝依賴項 + +```sh +pip install openai flask flask-cors +``` + +## 啟動 API + +```sh +python api.py +``` + +## 啟動前端 + +確保你位於前端資料夾 + +找到 *app.js*,將 `BASE_URL` 更改為你的後端 URL + +執行 + +``` +npx http-server -p 8000 +``` + +嘗試在聊天中輸入訊息,你應該會看到回應(前提是你在 Codespace 中執行或已設置存取權杖)。 + +## 設置存取權杖(如果你不是在 Codespace 中執行) + +請參考 [設置 PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**免責聲明**: +本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。 \ No newline at end of file diff --git a/translations/mo/9-chat-project/solution/frontend/README.md b/translations/mo/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..9a240062 --- /dev/null +++ b/translations/mo/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# 執行程式碼 + +```sh +npx http-server -p 3000 +``` + +找到 `app.js` 中的 `BASE_URL`,並將其更改為與後端的 URL 相匹配。 + +--- + +**免責聲明**: +本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋不承擔責任。 \ No newline at end of file diff --git a/translations/mr/9-chat-project/README.md b/translations/mr/9-chat-project/README.md index 8d57a673..3de36f1a 100644 --- a/translations/mr/9-chat-project/README.md +++ b/translations/mr/9-chat-project/README.md @@ -1,8 +1,8 @@ -# कोड चालवा +# समाधान चालवा -## सेट अप - -व्हर्च्युअल एन्व्हायर्नमेंट तयार करा - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## डिपेंडन्सी इंस्टॉल करा - -```sh -pip install openai flask flask-cors -``` - -## API चालवा - -```sh -python api.py -``` - -## फ्रंटएंड चालवा - -फ्रंटएंड फोल्डरमध्ये उभे रहा - -*app.js* शोधा, `BASE_URL` आपल्या बॅकएंड URL मध्ये बदला - -ते चालवा - -``` -npx http-server -p 8000 -``` - -चॅटमध्ये संदेश टाइप करण्याचा प्रयत्न करा, तुम्हाला प्रतिसाद दिसेल (जर तुम्ही हे Codespace मध्ये चालवत असाल किंवा access token सेट केला असेल). - -## access token सेट करा (जर तुम्ही हे Codespace मध्ये चालवत नसाल) - -[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) पहा +1. [बॅकएंड](./backend/README.md) सुरू करा +1. आता [फ्रंटएंड](./frontend/README.md) सुरू करा --- **अस्वीकरण**: -हा दस्तऐवज AI भाषांतर सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) चा वापर करून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपया लक्षात घ्या की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर केल्यामुळे उद्भवणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही. \ No newline at end of file +हा दस्तऐवज AI भाषांतर सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) वापरून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपया लक्षात ठेवा की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून उद्भवलेल्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही. \ No newline at end of file diff --git a/translations/mr/9-chat-project/solution/backend/README.md b/translations/mr/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..5477327e --- /dev/null +++ b/translations/mr/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +आपला रनटाइम निवडा + +- [Python](./python/README.md) + +--- + +**अस्वीकरण**: +हा दस्तऐवज AI भाषांतर सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) वापरून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी कृपया लक्षात ठेवा की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून उद्भवलेल्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही. \ No newline at end of file diff --git a/translations/mr/9-chat-project/solution/backend/python/README.md b/translations/mr/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..7f745435 --- /dev/null +++ b/translations/mr/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# कोड चालवा + +## सेट अप + +व्हर्च्युअल एन्व्हायर्नमेंट तयार करा + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## डिपेंडन्सी इंस्टॉल करा + +```sh +pip install openai flask flask-cors +``` + +## API चालवा + +```sh +python api.py +``` + +## फ्रंटएंड चालवा + +फ्रंटएंड फोल्डरमध्ये उभे रहा + +*app.js* शोधा, `BASE_URL` बदलून तुमच्या बॅकएंड URL वर सेट करा + +ते चालवा + +``` +npx http-server -p 8000 +``` + +चॅटमध्ये संदेश टाइप करण्याचा प्रयत्न करा, तुम्हाला प्रतिसाद दिसेल (जर तुम्ही हे Codespace मध्ये चालवत असाल किंवा access token सेट केला असेल). + +## access token सेट करा (जर तुम्ही हे Codespace मध्ये चालवत नसाल) + +[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) येथे पहा + +--- + +**अस्वीकरण**: +हा दस्तऐवज AI भाषांतर सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) वापरून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी कृपया लक्षात ठेवा की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून निर्माण होणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही. \ No newline at end of file diff --git a/translations/mr/9-chat-project/solution/frontend/README.md b/translations/mr/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..f17f1c70 --- /dev/null +++ b/translations/mr/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# कोड चालवा + +```sh +npx http-server -p 3000 +``` + +`app.js` मध्ये `BASE_URL` शोधा आणि ते बॅकएंडच्या URL शी जुळण्यासाठी बदला. + +--- + +**अस्वीकरण**: +हा दस्तऐवज AI भाषांतर सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) वापरून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपया लक्षात ठेवा की स्वयंचलित भाषांतरे त्रुटी किंवा अचूकतेच्या अभावाने युक्त असू शकतात. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी, व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर करून उद्भवलेल्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही. \ No newline at end of file diff --git a/translations/ms/9-chat-project/README.md b/translations/ms/9-chat-project/README.md index ed1e4376..b3080fab 100644 --- a/translations/ms/9-chat-project/README.md +++ b/translations/ms/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Jalankan kod +# Jalankan penyelesaian -## Tetapkan - -Cipta persekitaran maya - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Pasang kebergantungan - -```sh -pip install openai flask flask-cors -``` - -## Jalankan API - -```sh -python api.py -``` - -## Jalankan frontend - -Pastikan anda berada dalam folder frontend - -Cari *app.js*, ubah `BASE_URL` kepada URL backend anda - -Jalankannya - -``` -npx http-server -p 8000 -``` - -Cuba taip mesej dalam chat, anda sepatutnya melihat respons (dengan syarat anda menjalankannya dalam Codespace atau telah menetapkan token akses). - -## Tetapkan token akses (jika anda tidak menjalankannya dalam Codespace) - -Lihat [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Mulakan [backend](./backend/README.md) +1. Sekarang mulakan [frontend](./frontend/README.md) --- **Penafian**: -Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Walaupun kami berusaha untuk memastikan ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat yang kritikal, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini. \ No newline at end of file +Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Walaupun kami berusaha untuk memastikan ketepatan, sila ambil maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat yang kritikal, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini. \ No newline at end of file diff --git a/translations/ms/9-chat-project/solution/backend/README.md b/translations/ms/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..e9cd37e5 --- /dev/null +++ b/translations/ms/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Pilih persekitaran runtime anda + +- [Python](./python/README.md) + +--- + +**Penafian**: +Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Walaupun kami berusaha untuk memastikan ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat yang kritikal, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini. \ No newline at end of file diff --git a/translations/ms/9-chat-project/solution/backend/python/README.md b/translations/ms/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..9fc3fae1 --- /dev/null +++ b/translations/ms/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Jalankan kod + +## Persediaan + +Cipta persekitaran maya + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Pasang kebergantungan + +```sh +pip install openai flask flask-cors +``` + +## Jalankan API + +```sh +python api.py +``` + +## Jalankan frontend + +Pastikan anda berada dalam folder frontend + +Cari *app.js*, ubah `BASE_URL` kepada URL backend anda + +Jalankan + +``` +npx http-server -p 8000 +``` + +Cuba taip mesej dalam chat, anda sepatutnya melihat respons (dengan syarat anda menjalankan ini dalam Codespace atau telah menyediakan token akses). + +## Sediakan token akses (jika anda tidak menjalankan ini dalam Codespace) + +Lihat [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Penafian**: +Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Walaupun kami berusaha untuk memastikan ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat penting, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini. \ No newline at end of file diff --git a/translations/ms/9-chat-project/solution/frontend/README.md b/translations/ms/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..698bc3c8 --- /dev/null +++ b/translations/ms/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Jalankan kod + +```sh +npx http-server -p 3000 +``` + +Cari `BASE_URL` dalam `app.js` dan ubah supaya sepadan dengan URL backend. + +--- + +**Penafian**: +Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Walaupun kami berusaha untuk memastikan ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat yang kritikal, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini. \ No newline at end of file diff --git a/translations/my/9-chat-project/README.md b/translations/my/9-chat-project/README.md index 1571222c..9288fab9 100644 --- a/translations/my/9-chat-project/README.md +++ b/translations/my/9-chat-project/README.md @@ -1,39 +1,41 @@ # Chat project -ဒီ chat project က GitHub Models ကို အသုံးပြုပြီး Chat Assistant တစ်ခုကို ဘယ်လိုတည်ဆောက်ရမလဲဆိုတာ ပြသပေးပါတယ်။ +ဒီ chat project က GitHub Models ကို အသုံးပြုပြီး Chat Assistant တစ်ခုကို ဘယ်လိုတည်ဆောက်ရမလဲဆိုတာ ပြသပေးမှာဖြစ်ပါတယ်။ -အဆုံးသတ်ပြီးတဲ့ project ရဲ့ ရုပ်ပုံက ဒီလိုပဲဖြစ်ပါတယ်: +ဒီ project ရဲ့ အဆုံးသတ်ပုံက ဒီလိုပါ:
Chat app
-အနည်းငယ် context ပေးရမယ်ဆိုရင်၊ generative AI ကို အသုံးပြုပြီး Chat assistants တစ်ခုကို တည်ဆောက်တာက AI ကို စတင်လေ့လာဖို့အတွက် အကောင်းဆုံးနည်းလမ်းတစ်ခုဖြစ်ပါတယ်။ ဒီသင်ခန်းစာတစ်ခုလုံးအတွင်းမှာ generative AI ကို web app တစ်ခုထဲမှာ ပေါင်းစပ်အသုံးပြုဖို့ကို သင်လေ့လာရမှာဖြစ်ပါတယ်။ စတင်လိုက်ကြစို့။ +အနည်းငယ်ရှင်းပြရမယ်ဆိုရင်၊ generative AI ကို အသုံးပြုပြီး Chat assistants တစ်ခုတည်ဆောက်တာက AI ကို စတင်လေ့လာဖို့အတွက် အကောင်းဆုံးနည်းလမ်းတစ်ခုဖြစ်ပါတယ်။ ဒီသင်ခန်းစာတစ်ခုလုံးအတွင်းမှာ generative AI ကို web app ထဲမှာ ဘယ်လိုပေါင်းစည်းရမလဲဆိုတာကို သင်လေ့လာရမှာဖြစ်ပါတယ်။ စလိုက်ကြရအောင်။ -## Generative AI ကို ချိတ်ဆက်ခြင်း +## Generative AI နဲ့ ချိတ်ဆက်ခြင်း -Backend အတွက် GitHub Models ကို အသုံးပြုထားပါတယ်။ AI ကို အခမဲ့အသုံးပြုနိုင်တဲ့ အကောင်းဆုံးဝန်ဆောင်မှုတစ်ခုဖြစ်ပါတယ်။ သူ့ရဲ့ playground ကို သွားပြီး သင့်ရဲ့ backend language ရွေးချယ်မှုနဲ့ ကိုက်ညီတဲ့ code ကို ရယူပါ။ GitHub Models Playground မှာ ဒီလိုပုံစံနဲ့ တွေ့ရပါမယ် [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) +Backend အတွက်တော့ GitHub Models ကို အသုံးပြုထားပါတယ်။ ဒါက AI ကို အခမဲ့အသုံးပြုနိုင်စေတဲ့ ဝန်ဆောင်မှုကောင်းတစ်ခုဖြစ်ပါတယ်။ သူ့ရဲ့ playground ကို သွားပြီး သင့်ရဲ့ backend language နဲ့ ကိုက်ညီတဲ့ code ကို ရယူပါ။ [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) မှာ ဒီလိုပုံစံနဲ့ တွေ့ရပါမယ်။
GitHub Models AI Playground
-အဆိုပါ "Code" tab ကို ရွေးချယ်ပြီး သင့်ရဲ့ runtime ကို ရွေးပါ။ +"Code" tab နဲ့ သင့်ရဲ့ runtime ကို ရွေးချယ်ပါ။
playground choice
-ဒီအခါမှာ Python ကို ရွေးချယ်လိုက်မယ်ဆိုရင် ဒီ code ကို ရွေးချယ်ရပါမယ်: +### Python ကို အသုံးပြုခြင်း + +ဒီအခါမှာတော့ Python ကို ရွေးချယ်ပြီး ဒီ code ကို ရယူပါ: ```python """Run this model in Python @@ -70,7 +72,7 @@ response = client.chat.completions.create( print(response.choices[0].message.content) ``` -ဒီ code ကို အသုံးပြုနိုင်ဖို့အတွက် နည်းနည်းသန့်စင်လိုက်ရအောင်: +ဒီ code ကို နည်းနည်းသန့်ရှင်းအောင် ပြင်ဆင်ပြီး အသုံးပြုနိုင်အောင်လုပ်ပါ: ```python def call_llm(prompt: str, system_message: str): @@ -94,11 +96,11 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -ဒီ `call_llm` function နဲ့ prompt တစ်ခုနဲ့ system prompt တစ်ခုကို ထည့်ပြီး function က အဖြေကို ပြန်ပေးပါမယ်။ +`call_llm` ဆိုတဲ့ function နဲ့ prompt တစ်ခုနဲ့ system prompt တစ်ခုကို ထည့်ပြီး ရလဒ်ကို ပြန်ပေးနိုင်ပါပြီ။ ### AI Assistant ကို Customize လုပ်ခြင်း -AI assistant ကို သင့်လိုအပ်ချက်အတိုင်း ပြင်ဆင်ချင်ရင် system prompt ကို ဒီလိုပုံစံနဲ့ ပြည့်စွက်နိုင်ပါတယ်: +AI assistant ကို သင့်လိုအပ်ချက်အတိုင်း ပြင်ဆင်ချင်ရင် system prompt ကို ဒီလိုဖြည့်စွက်နိုင်ပါတယ်: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") @@ -106,7 +108,9 @@ call_llm("Tell me about you", "You're Albert Einstein, you only know of things i ## Web API မှတစ်ဆင့် ထုတ်ဖော်ခြင်း -အကောင်းပါပဲ၊ AI အပိုင်းကို ပြီးမြောက်သွားပြီ၊ အခု Web API ထဲမှာ ပေါင်းစပ်ပေးရအောင်။ Web API အတွက် Flask ကို ရွေးချယ်ထားပါတယ်၊ ဒါပေမယ့် ဘယ် web framework မဆို အသုံးပြုနိုင်ပါတယ်။ ဒီ code ကို ကြည့်လိုက်ရအောင်: +AI အပိုင်းကို ပြီးဆုံးသွားပြီဆိုရင်၊ Web API ထဲမှာ ဘယ်လိုပေါင်းစည်းရမလဲဆိုတာ ကြည့်ကြရအောင်။ Web API အတွက် Flask ကို အသုံးပြုထားပေမယ့်၊ ဘယ် web framework မဆို အသုံးပြုနိုင်ပါတယ်။ Code ကို ကြည့်ကြရအောင်: + +### Python ကို အသုံးပြုခြင်း ```python # api.py @@ -137,9 +141,9 @@ if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` -ဒီမှာ Flask API တစ်ခုကို ဖန်တီးပြီး "/" နဲ့ "/chat" ဆိုတဲ့ default route တွေကို သတ်မှတ်ထားပါတယ်။ "/chat" က frontend ကနေ backend ကို မေးခွန်းတွေ ပေးပို့ဖို့အတွက် ရည်ရွယ်ထားတာပါ။ +ဒီမှာ Flask API တစ်ခုကို ဖန်တီးပြီး "/" နဲ့ "/chat" ဆိုတဲ့ route နှစ်ခုကို သတ်မှတ်ထားပါတယ်။ "/chat" ကတော့ frontend ကနေ မေးခွန်းတွေကို ပေးပို့ဖို့အတွက် ဖြစ်ပါတယ်။ -*llm.py* ကို ပေါင်းစပ်ဖို့ ဒီလိုလုပ်ရပါမယ်: +*llm.py* ကို ပေါင်းစည်းဖို့ ဒီလိုလုပ်ရပါမယ်: - `call_llm` function ကို Import လုပ်ပါ: @@ -148,7 +152,7 @@ if __name__ == "__main__": from flask import Flask, request ``` -- "/chat" route မှာ function ကို ခေါ်ပါ: +- "/chat" route ထဲမှာ ခေါ်ပါ: ```python @app.route("/hello", methods=["POST"]) @@ -163,7 +167,7 @@ if __name__ == "__main__": }) ``` - ဒီမှာ request ကို parse လုပ်ပြီး JSON body ထဲက `message` property ကို ရယူပါတယ်။ ထို့နောက် LLM ကို ဒီလိုခေါ်ပါတယ်: + ဒီမှာ incoming request ကို parse လုပ်ပြီး JSON body ထဲက `message` property ကို ရယူပါတယ်။ ထို့နောက် LLM ကို ဒီလိုခေါ်ပါတယ်: ```python response = call_llm(message, "You are a helpful assistant") @@ -174,11 +178,15 @@ if __name__ == "__main__": }) ``` -အကောင်းပါပဲ၊ လိုအပ်တာတွေ ပြီးမြောက်သွားပါပြီ။ +အိုကေ၊ အခုတော့ လိုအပ်တာတွေ ပြီးဆုံးသွားပါပြီ။ + +## Cors ကို Configure လုပ်ခြင်း -### Cors ကို Configure လုပ်ခြင်း +Backend နဲ့ frontend က အခြားအခြား port တွေမှာ run ဖြစ်နေမယ်ဆိုတော့ CORS (cross-origin resource sharing) ကို သတ်မှတ်ဖို့ လိုအပ်ပါတယ်။ -Backend နဲ့ frontend က အခြားအခြား port တွေမှာ run ဖြစ်နေတဲ့အတွက် frontend က backend ကို ခေါ်နိုင်ဖို့ CORS (cross-origin resource sharing) ကို သတ်မှတ်ပေးရပါမယ်။ *api.py* ထဲမှာ ဒီလို code ရှိပါတယ်: +### Python ကို အသုံးပြုခြင်း + +*api.py* ထဲမှာ ဒီလို code တစ်ခုရှိပါတယ်: ```python from flask_cors import CORS @@ -187,13 +195,17 @@ app = Flask(__name__) CORS(app) # * example.com ``` -အခု "*" ဆိုပြီး အားလုံးကို ခွင့်ပြုထားပါတယ်၊ ဒါက production မှာ သုံးရင် အန္တရာယ်ရှိနိုင်ပါတယ်၊ ထို့ကြောင့် production သို့ ရောက်တဲ့အခါမှာ restriction ပေးဖို့လိုပါတယ်။ +အခု "*" ဆိုတာအားလုံးကို ခွင့်ပြုထားတာဖြစ်ပြီး၊ production မှာသွားတဲ့အခါမှာတော့ အကန့်အသတ်ထားဖို့ လိုအပ်ပါတယ်။ ## Project ကို Run လုပ်ခြင်း -အခု *llm.py* နဲ့ *api.py* ရှိပြီ၊ backend နဲ့အတူ run လုပ်ဖို့ ဘယ်လိုလုပ်ရမလဲ? အခုလိုလုပ်ရပါမယ်: +Project ကို run လုပ်ဖို့အတွက် backend ကို စတင်ပြီးနောက် frontend ကို စတင်ရပါမယ်။ + +### Python ကို အသုံးပြုခြင်း -- Dependencies တွေ Install လုပ်ပါ: +အိုကေ၊ *llm.py* နဲ့ *api.py* ကို ဘယ်လို backend နဲ့ အလုပ်လုပ်စေမလဲဆိုတာ ကြည့်ကြရအောင်: + +- Dependencies တွေကို Install လုပ်ပါ: ```sh cd backend @@ -203,17 +215,17 @@ CORS(app) # * example.com pip install openai flask flask-cors openai ``` -- API ကို Start လုပ်ပါ: +- API ကို စတင်ပါ: ```sh python api.py ``` - Codespaces မှာ run လုပ်ရင် editor ရဲ့ အောက်ပိုင်းမှာ Ports ကို သွားပြီး right-click လုပ်ပါ၊ "Port Visibility" ကို click လုပ်ပြီး "Public" ကို ရွေးပါ။ + Codespaces မှာဆိုရင် Ports ကို editor ရဲ့ အောက်ခြေမှာ သွားပြီး right-click လုပ်ပြီး "Port Visibility" ကို နှိပ်ပြီး "Public" ကို ရွေးချယ်ပါ။ -### Frontend အပေါ်မှာ အလုပ်လုပ်ခြင်း +### Frontend အပေါ် အလုပ်လုပ်ခြင်း -API ကို run လုပ်ပြီးပြီဆိုရင် frontend တစ်ခုကို ဖန်တီးရပါမယ်။ အနည်းဆုံး frontend ကို စတင်ပြီး အဆင့်ဆင့် တိုးတက်အောင်လုပ်ရပါမယ်။ *frontend* folder ထဲမှာ ဒီလိုဖိုင်တွေ ဖန်တီးပါ: +API ကို run လုပ်ပြီးပြီဆိုရင်၊ frontend တစ်ခုကို ဖန်တီးရပါမယ်။ အနည်းဆုံး frontend တစ်ခုကို ဖန်တီးပြီး အဆင့်ဆင့် တိုးတက်အောင်လုပ်ပါမယ်။ *frontend* folder ထဲမှာ ဒီလိုဖိုင်တွေ ဖန်တီးပါ: ```text backend/ @@ -223,7 +235,7 @@ app.js styles.css ``` -**index.html** ကို စတင်ကြည့်လိုက်ရအောင်: +**index.html** ကို စတင်ကြည့်ကြရအောင်: ```html @@ -241,7 +253,7 @@ styles.css ``` -အထက်မှာ chat window ကို support လုပ်ဖို့အတွက် အနည်းဆုံးလိုအပ်တဲ့အရာတွေပါ။ textarea တစ်ခုမှာ message တွေကို ပြသပေးပြီး၊ input တစ်ခုမှာ message ကို ရိုက်ထည့်နိုင်ပါတယ်၊ button တစ်ခုက message ကို backend ကို ပေးပို့ဖို့အတွက် အသုံးပြုပါတယ်။ *app.js* ထဲမှာ JavaScript ကို ကြည့်လိုက်ရအောင်: +အထက်မှာပါတဲ့ code က chat window ကို အနည်းဆုံး support လုပ်ဖို့ လိုအပ်တဲ့အရာတွေပါ။ textarea တစ်ခုမှာ message တွေကို ပြသပြီး၊ input တစ်ခုမှာ message ကို ရိုက်ထည့်နိုင်ပြီး၊ button တစ်ခုက message ကို backend ဆီပို့နိုင်စေပါတယ်။ နောက်တစ်ခုကတော့ *app.js* ထဲမှာ JavaScript ကို ကြည့်ကြရအောင်: **app.js** @@ -298,14 +310,14 @@ styles.css })(); ``` -Code ကို အပိုင်းလိုက် ရှင်းပြလိုက်ရအောင်: +Code ကို အပိုင်းလိုက်ရှင်းပြရမယ်ဆိုရင်: -- 1) Element တွေကို reference လုပ်ပြီး နောက် code မှာ အသုံးပြုဖို့အတွက် ရယူထားပါတယ်။ -- 2) Backend ကို ခေါ်ဖို့ built-in `fetch` method ကို အသုံးပြုတဲ့ function တစ်ခုကို ဖန်တီးထားပါတယ်။ -- 3) `appendMessage` က user ရဲ့ message နဲ့ assistant ရဲ့ response ကို textarea ထဲမှာ ထည့်ပေးပါတယ်။ -- 4) Submit event ကို နားထောင်ပြီး input field ကို ဖတ်ယူပြီး၊ user ရဲ့ message ကို textarea ထဲမှာ ထည့်ပေးပြီး API ကို ခေါ်ပြီး response ကို textarea ထဲမှာ ပြသပေးပါတယ်။ +- 1) Element တွေကို reference လုပ်ထားတာ +- 2) Backend ကို ခေါ်ဖို့ `fetch` method ကို အသုံးပြုထားတာ +- 3) `appendMessage` က user ရဲ့ message နဲ့ assistant ရဲ့ response ကို textarea ထဲမှာ ထည့်ပေးတာ +- 4) Submit event ကို နားထောင်ပြီး input field ထဲက message ကို ဖတ်ပြီး textarea ထဲမှာ ပြသတာ -Styling ကို ကြည့်လိုက်ရအောင်၊ ဒီမှာ သင့်စိတ်ကြိုက် ပြင်ဆင်နိုင်ပါတယ်၊ ဒါပေမယ့် အောက်ပါအတိုင်း အကြံပေးလိုက်ပါတယ်: +Styling ကို ကြည့်ကြရအောင်၊ ဒီမှာ သင့်စိတ်ကြိုက် ပြင်ဆင်နိုင်ပါတယ်၊ ဒါပေမယ့် အောက်မှာ အကြံပြုထားတာတွေပါ: **styles.css** @@ -326,18 +338,18 @@ Styling ကို ကြည့်လိုက်ရအောင်၊ ဒီမ } ``` -ဒီ three classes တွေက message တွေကို assistant ကနေလာတာလား၊ user ကနေလာတာလားဆိုတာကို ခွဲခြားပြီး style ပေးပါတယ်။ အခြား design အတွက် `solution/frontend/styles.css` folder ကို ကြည့်ပါ။ +ဒီ class သုံးခုနဲ့ assistant နဲ့ user ရဲ့ message တွေကို မတူညီအောင် style လုပ်နိုင်ပါတယ်။ အခြား design အတွက် `solution/frontend/styles.css` folder ကို ကြည့်ပါ။ ### Base Url ကို ပြောင်းလဲခြင်း -ဒီမှာ `BASE_URL` ကို မသတ်မှတ်ထားသေးပါဘူး၊ backend ကို start လုပ်မှ သိနိုင်ပါတယ်။ သတ်မှတ်ဖို့: +ဒီမှာ `BASE_URL` ကို သတ်မှတ်ထားခြင်းမရှိသေးပါဘူး၊ backend ကို စတင်ပြီးမှ သိနိုင်ပါတယ်။ သတ်မှတ်ဖို့: -- API ကို locally run လုပ်ရင် `http://localhost:5000` လို့ သတ်မှတ်ပါ။ -- Codespaces မှာ run လုပ်ရင် "[name]app.github.dev" လို့ ဖြစ်နိုင်ပါတယ်။ +- API ကို locally run လုပ်ရင် `http://localhost:5000` လိုမျိုးဖြစ်ရမယ်။ +- Codespaces မှာ run လုပ်ရင် "[name]app.github.dev" လိုမျိုးဖြစ်ရမယ်။ ## Assignment -*project* folder ကို ဖန်တီးပြီး အောက်ပါအတိုင်း content ထည့်ပါ: +*project* ဆိုတဲ့ folder တစ်ခု ဖန်တီးပြီး အောက်ပါအတိုင်း ဖိုင်တွေ ထည့်ပါ: ```text project/ @@ -346,11 +358,10 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` -အထက်မှာ ပြောထားတဲ့အတိုင်း content ကို copy လုပ်ပြီး သင့်စိတ်ကြိုက် ပြင်ဆင်နိုင်ပါတယ်။ +အထက်မှာ ပြောထားတဲ့အတိုင်း content တွေကို ကူးယူပြီး သင့်စိတ်ကြိုက် ပြင်ဆင်နိုင်ပါတယ်။ ## Solution @@ -358,22 +369,28 @@ project/ ## Bonus -AI assistant ရဲ့ personality ကို ပြောင်းလဲကြည့်ပါ။ *api.py* ထဲမှာ `call_llm` ကို ခေါ်တဲ့အခါမှာ ဒုတိယ argument ကို သင့်လိုအပ်ချက်အတိုင်း ပြောင်းလဲနိုင်ပါတယ်၊ ဥပမာ: +AI assistant ရဲ့ personality ကို ပြောင်းလဲကြည့်ပါ။ + +### Python အတွက် + +*api.py* ထဲမှာ `call_llm` ကို ခေါ်တဲ့အခါ ဒုတိယ argument ကို သင့်လိုအပ်ချက်အတိုင်း ပြောင်းလဲနိုင်ပါတယ်၊ ဥပမာ: ```python call_llm(message, "You are Captain Picard") ``` -CSS နဲ့ text ကိုလည်း သင့်စိတ်ကြိုက် ပြောင်းလဲနိုင်ပါတယ်၊ *index.html* နဲ့ *styles.css* ထဲမှာ ပြင်ဆင်ပါ။ +### Frontend + +CSS နဲ့ text တွေကို သင့်စိတ်ကြိုက် ပြောင်းလဲပါ၊ *index.html* နဲ့ *styles.css* ထဲမှာ ပြင်ဆင်ပါ။ ## Summary -အကောင်းပါပဲ၊ AI ကို အသုံးပြုပြီး personal assistant တစ်ခုကို ဘယ်လိုတည်ဆောက်ရမလဲဆိုတာ အခြေခံကနေ သင်ယူနိုင်ခဲ့ပါပြီ။ GitHub Models ကို အသုံးပြုပြီး Python backend နဲ့ HTML, CSS, JavaScript frontend ကို အသုံးပြုပြီး တည်ဆောက်ခဲ့ပါတယ်။ +အိုကေ၊ AI ကို အသုံးပြုပြီး ကိုယ်ပိုင် personal assistant တစ်ခုကို ဘယ်လိုတည်ဆောက်ရမလဲဆိုတာ အစမှ အဆုံး သင်ယူပြီးဖြစ်ပါပြီ။ GitHub Models, Python backend, HTML, CSS, JavaScript frontend တို့ကို အသုံးပြုပြီး လုပ်ဆောင်ခဲ့ပါတယ်။ -## Set up with Codespaces +## Codespaces နဲ့ တည်ဆောက်ခြင်း -- သွားပါ: [Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) -- Template မှာ ဖန်တီးပါ (GitHub မှာ login လုပ်ထားတာ သေချာပါစေ) အပေါ်ညာဘက်မှာ: +- ဒီနေရာကို သွားပါ: [Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) +- Template မှာ Create လုပ်ပါ (GitHub မှာ login လုပ်ထားဖို့ လိုအပ်ပါတယ်): ![Create from template](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.my.png) @@ -381,9 +398,9 @@ CSS နဲ့ text ကိုလည်း သင့်စိတ်ကြိုက ![Create codespace](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.my.png) - ဒီဟာ environment တစ်ခုကို စတင်ပေးပါမယ်၊ အခု သင့်အနေနဲ့ အလုပ်လုပ်နိုင်ပါပြီ။ + အခုတော့ သင့်အတွက် အလုပ်လုပ်နိုင်တဲ့ environment တစ်ခု စတင်ထားပါပြီ။ --- **အကြောင်းကြားချက်**: -ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။ \ No newline at end of file +ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာရှိသော ရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။ \ No newline at end of file diff --git a/translations/my/9-chat-project/solution/README.md b/translations/my/9-chat-project/solution/README.md index d1f4d998..08b064b1 100644 --- a/translations/my/9-chat-project/solution/README.md +++ b/translations/my/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# ကုဒ်ကို အလုပ်လုပ်စေပါ +# ဖြေရှင်းချက်ကို အလုပ်လုပ်စေပါ -## အဆင့်ဆင့် ပြင်ဆင်ခြင်း - -Virtual environment တစ်ခု ဖန်တီးပါ - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## လိုအပ်သော dependencies များ ထည့်သွင်းပါ - -```sh -pip install openai flask flask-cors -``` - -## API ကို အလုပ်လုပ်စေပါ - -```sh -python api.py -``` - -## Frontend ကို အလုပ်လုပ်စေပါ - -Frontend folder အတွင်းမှာ ရှိနေကြောင်း သေချာပါ - -*app.js* ကို ရှာဖွေပြီး `BASE_URL` ကို backend URL သို့ ပြောင်းပါ - -အလုပ်လုပ်စေပါ - -``` -npx http-server -p 8000 -``` - -Chat မှာ စာသားတစ်ခု ရိုက်ထည့်ကြည့်ပါ၊ Codespace မှာ အလုပ်လုပ်နေသည်ဟု သေချာပါက သို့မဟုတ် access token ကို ပြင်ဆင်ပြီးသားဖြစ်ပါက တုံ့ပြန်မှုကို မြင်ရပါမည်။ - -## Access token ကို ပြင်ဆင်ပါ (Codespace မှာ မလုပ်ဆောင်ပါက) - -[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) ကို ကြည့်ပါ +1. [backend](./backend/README.md) ကို စတင်ပါ +1. အခု [frontend](./frontend/README.md) ကို စတင်ပါ --- **အကြောင်းကြားချက်**: -ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါရှိနိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားယူမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။ \ No newline at end of file +ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။ \ No newline at end of file diff --git a/translations/my/9-chat-project/solution/backend/README.md b/translations/my/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..eae7bed8 --- /dev/null +++ b/translations/my/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +သင့် runtime ကိုရွေးပါ + +- [Python](./python/README.md) + +--- + +**အကြောင်းကြားချက်**: +ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူလဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားယူမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။ \ No newline at end of file diff --git a/translations/my/9-chat-project/solution/backend/python/README.md b/translations/my/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..bdd4c10d --- /dev/null +++ b/translations/my/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# ကုဒ်ကို အလုပ်လုပ်စေပါ + +## စတင်ပြင်ဆင်ခြင်း + +အခြေခံပတ်ဝန်းကျင်ကို ဖန်တီးပါ + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## လိုအပ်သော Dependencies များကို ထည့်သွင်းပါ + +```sh +pip install openai flask flask-cors +``` + +## API ကို အလုပ်လုပ်စေပါ + +```sh +python api.py +``` + +## Frontend ကို အလုပ်လုပ်စေပါ + +Frontend ဖိုလ်ဒါအတွင်း ရှိနေကြောင်း သေချာပါစေ + +*app.js* ကို ရှာဖွေပြီး `BASE_URL` ကို backend URL သို့ ပြောင်းပါ + +အလုပ်လုပ်စေပါ + +``` +npx http-server -p 8000 +``` + +Chat မှာ စာသားတစ်ခု ရိုက်ထည့်ကြည့်ပါ၊ Codespace မှာ အလုပ်လုပ်နေသည်ဟု သေချာပါက သို့မဟုတ် access token ကို ပြင်ဆင်ပြီးသားဖြစ်ပါက တုံ့ပြန်မှုကို မြင်ရပါမည်။ + +## Access token ကို ပြင်ဆင်ပါ (Codespace မှာ မလုပ်ဆောင်ပါက) + +[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) ကို ကြည့်ပါ + +--- + +**အကြောင်းကြားချက်**: +ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူလဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှု ဝန်ဆောင်မှုကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။ \ No newline at end of file diff --git a/translations/my/9-chat-project/solution/frontend/README.md b/translations/my/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..8d1169cf --- /dev/null +++ b/translations/my/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# ကုဒ်ကို အလုပ်လုပ်စေပါ + +```sh +npx http-server -p 3000 +``` + +`app.js` ထဲမှာရှိတဲ့ `BASE_URL` ကို ရှာပြီး backend ရဲ့ URL နဲ့ကိုက်ညီအောင် ပြောင်းပါ။ + +--- + +**အကြောင်းကြားချက်**: +ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်ခြင်းတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူရင်းဘာသာစကားဖြင့် အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်ခြင်းကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။ \ No newline at end of file diff --git a/translations/ne/9-chat-project/README.md b/translations/ne/9-chat-project/README.md index c5ae0e07..a7bc470e 100644 --- a/translations/ne/9-chat-project/README.md +++ b/translations/ne/9-chat-project/README.md @@ -1,39 +1,41 @@ # च्याट प्रोजेक्ट -यो च्याट प्रोजेक्टले GitHub Models प्रयोग गरेर च्याट असिस्टेन्ट कसरी निर्माण गर्ने देखाउँछ। +यो च्याट प्रोजेक्टले GitHub Models प्रयोग गरेर च्याट असिस्टेन्ट कसरी बनाउने भनेर देखाउँछ। -तपाईंले तयार प्रोजेक्टलाई यसरी देख्न सक्नुहुन्छ: +तपाईंले तयार प्रोजेक्ट यसरी देख्नुहुनेछ:
- Chat app + च्याट एप
-थोरै सन्दर्भ, जेनेरेटिभ एआई प्रयोग गरेर च्याट असिस्टेन्ट निर्माण गर्नु एआई सिक्न सुरु गर्नको लागि उत्कृष्ट तरिका हो। यस पाठको क्रममा तपाईंले जेनेरेटिभ एआईलाई वेब एपमा एकीकृत गर्न सिक्नुहुनेछ। सुरु गरौं। +थप सन्दर्भका लागि, जेनेरेटिभ एआई प्रयोग गरेर च्याट असिस्टेन्ट बनाउनु एआई सिक्न सुरु गर्नको लागि उत्कृष्ट तरिका हो। यस पाठक्रममा, तपाईंले जेनेरेटिभ एआईलाई वेब एपमा कसरी एकीकृत गर्ने भनेर सिक्नुहुनेछ। सुरु गरौं। ## जेनेरेटिभ एआईसँग जडान गर्नुहोस् -ब्याकएन्डको लागि, हामी GitHub Models प्रयोग गर्दैछौं। यो एक उत्कृष्ट सेवा हो जसले तपाईंलाई निःशुल्क एआई प्रयोग गर्न सक्षम बनाउँछ। यसको प्लेग्राउन्डमा जानुहोस् र तपाईंले रोजेको ब्याकएन्ड भाषासँग मेल खाने कोड प्राप्त गर्नुहोस्। यो यसरी देखिन्छ: [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) +ब्याकएन्डको लागि, हामी GitHub Models प्रयोग गर्दैछौं। यो एक उत्कृष्ट सेवा हो जसले तपाईंलाई निःशुल्क एआई प्रयोग गर्न सक्षम बनाउँछ। यसको प्लेग्राउन्डमा जानुहोस् र तपाईंको रोजाइको ब्याकएन्ड भाषासँग मेल खाने कोड लिनुहोस्। यो यसरी देखिन्छ: [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground)
GitHub Models AI Playground
-जसरी भनिएको छ, "Code" ट्याब र तपाईंले रोजेको रनटाइम चयन गर्नुहोस्। +जसरी भनिएको छ, "Code" ट्याब र तपाईंको रोजाइको रनटाइम चयन गर्नुहोस्।
playground choice
-यस अवस्थामा, हामी Python चयन गर्छौं, जसले हामीलाई यो कोड दिन्छ: +### Python प्रयोग गर्दै + +यस अवस्थामा, हामी Python चयन गर्छौं, जसले गर्दा हामीले यो कोड लिन्छौं: ```python """Run this model in Python @@ -70,7 +72,7 @@ response = client.chat.completions.create( print(response.choices[0].message.content) ``` -यो कोडलाई थोरै सफा गरौं ताकि यो पुन: प्रयोग गर्न सकियोस्: +यो कोडलाई पुन: प्रयोगयोग्य बनाउनका लागि सफा गरौं: ```python def call_llm(prompt: str, system_message: str): @@ -94,19 +96,21 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -यो `call_llm` फङ्सनको साथमा हामी अब एक प्रम्प्ट र सिस्टम प्रम्प्ट लिन सक्छौं, र फङ्सनले नतिजा फर्काउँछ। +`call_llm` नामक यो फङ्सनले अब एउटा प्रम्प्ट र सिस्टम प्रम्प्ट लिन्छ र परिणाम फर्काउँछ। -### एआई असिस्टेन्टलाई अनुकूलित गर्नुहोस् +### एआई असिस्टेन्टलाई अनुकूलन गर्नुहोस् -यदि तपाईं एआई असिस्टेन्टलाई अनुकूलित गर्न चाहनुहुन्छ भने, तपाईंले सिस्टम प्रम्प्टलाई यसरी भर गरेर यसको व्यवहार निर्दिष्ट गर्न सक्नुहुन्छ: +यदि तपाईं एआई असिस्टेन्टलाई अनुकूलन गर्न चाहनुहुन्छ भने, तपाईं यसलाई कसरी व्यवहार गर्न चाहनुहुन्छ भनेर सिस्टम प्रम्प्टमा यसरी निर्दिष्ट गर्न सक्नुहुन्छ: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") ``` -## वेब एपीआई मार्फत यसलाई सार्वजनिक गर्नुहोस् +## यसलाई वेब एपीआई मार्फत सार्वजनिक गर्नुहोस् + +उत्तम, हामीले एआई भाग पूरा गर्यौं, अब यसलाई वेब एपीआईमा कसरी एकीकृत गर्न सकिन्छ हेरौं। वेब एपीआईको लागि, हामी Flask प्रयोग गर्दैछौं, तर कुनै पनि वेब फ्रेमवर्क राम्रो हुन सक्छ। यसको कोड यसरी देखिन्छ: -उत्तम, हामीले एआई भाग पूरा गर्यौं, अब हेर्नुहोस् कि हामी यसलाई वेब एपीआईमा कसरी एकीकृत गर्न सक्छौं। वेब एपीआईको लागि, हामी Flask प्रयोग गर्दैछौं, तर कुनै पनि वेब फ्रेमवर्क राम्रो हुनेछ। यसको कोड यसरी देखिन्छ: +### Python प्रयोग गर्दै ```python # api.py @@ -137,18 +141,18 @@ if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` -यहाँ, हामी एक फ्लास्क एपीआई सिर्जना गर्छौं र "/" र "/chat" नामक डिफल्ट रूट परिभाषित गर्छौं। दोस्रो रूट हाम्रो फ्रन्टएन्डले प्रश्नहरू पठाउन प्रयोग गर्नको लागि हो। +यहाँ, हामीले एउटा Flask API बनायौं र "/" र "/chat" नामक दुई रुट परिभाषित गर्यौं। दोस्रो रुट हाम्रो फ्रन्टएन्डले प्रश्नहरू पठाउन प्रयोग गर्ने उद्देश्यले बनाइएको हो। -*llm.py* लाई एकीकृत गर्नका लागि हामीले निम्न गर्नुपर्छ: +*llm.py* लाई एकीकृत गर्नका लागि, हामीले निम्न गर्नुपर्छ: -- `call_llm` फङ्सनलाई इम्पोर्ट गर्नुहोस्: +- `call_llm` फङ्सन इम्पोर्ट गर्नुहोस्: ```python from llm import call_llm from flask import Flask, request ``` -- "/chat" रूटबाट यसलाई कल गर्नुहोस्: +- "/chat" रुटबाट यसलाई कल गर्नुहोस्: ```python @app.route("/hello", methods=["POST"]) @@ -163,7 +167,7 @@ if __name__ == "__main__": }) ``` - यहाँ हामी आउने अनुरोधलाई पार्स गरेर JSON बडीबाट `message` प्रोपर्टी प्राप्त गर्छौं। त्यसपछि हामी यसलाई LLMसँग यसरी कल गर्छौं: + यहाँ हामी इनकमिङ अनुरोधलाई पार्स गरेर JSON बडीबाट `message` प्रोपर्टी निकाल्छौं। त्यसपछि हामी LLM लाई यसरी कल गर्छौं: ```python response = call_llm(message, "You are a helpful assistant") @@ -174,11 +178,15 @@ if __name__ == "__main__": }) ``` -उत्तम, अब हामीले आवश्यक सबै काम गर्यौं। +उत्तम, अब हामीले आवश्यक सबै काम गरिसक्यौं। + +## Cors कन्फिगर गर्नुहोस् -### Cors कन्फिगर गर्नुहोस् +हामीले CORS, अर्थात् क्रस-ओरिजिन रिसोर्स सेयरिङ सेटअप गरेको कुरा उल्लेख गर्नुपर्छ। यसको मतलब हाम्रो ब्याकएन्ड र फ्रन्टएन्ड फरक पोर्टमा चल्ने भएकाले, हामीले फ्रन्टएन्डलाई ब्याकएन्डमा कल गर्न अनुमति दिनुपर्छ। -हामीले Cors, अर्थात् क्रस-ओरिजिन रिसोर्स शेयरिङ सेटअप गरेको कुरा उल्लेख गर्नुपर्छ। यसको मतलब हाम्रो ब्याकएन्ड र फ्रन्टएन्ड फरक पोर्टमा चल्ने भएकाले, हामीले फ्रन्टएन्डलाई ब्याकएन्डमा कल गर्न अनुमति दिनुपर्छ। *api.py* मा यो सेटअप गर्ने कोड छ: +### Python प्रयोग गर्दै + +*api.py* मा यो सेटअप गर्ने कोडको टुक्रा छ: ```python from flask_cors import CORS @@ -187,13 +195,17 @@ app = Flask(__name__) CORS(app) # * example.com ``` -हाल यो "*" अर्थात् सबै ओरिजिनलाई अनुमति दिन सेट गरिएको छ, जुन अलि असुरक्षित छ। उत्पादनमा जाने बेला यसलाई सीमित गर्नुपर्छ। +हाल यो "*" अर्थात् सबै ओरिजिनलाई अनुमति दिन सेट गरिएको छ, जुन अलि असुरक्षित छ। उत्पादनमा जाँदा यसलाई सीमित गर्नुपर्छ। + +## तपाईंको प्रोजेक्ट चलाउनुहोस् -## आफ्नो प्रोजेक्ट चलाउनुहोस् +तपाईंको प्रोजेक्ट चलाउन, पहिले ब्याकएन्ड र त्यसपछि फ्रन्टएन्ड सुरु गर्नुपर्छ। -ठिक छ, हामीसँग *llm.py* र *api.py* छ, अब हामीले ब्याकएन्डसँग यसलाई कसरी चलाउने? दुई कुरा गर्नुपर्छ: +### Python प्रयोग गर्दै -- निर्भरता स्थापना गर्नुहोस्: +ठिक छ, हामीसँग *llm.py* र *api.py* छ, अब ब्याकएन्डसँग यो कसरी काम गर्ने बनाउने? दुई कुरा गर्नुपर्छ: + +- निर्भरता इन्स्टल गर्नुहोस्: ```sh cd backend @@ -209,11 +221,11 @@ CORS(app) # * example.com python api.py ``` - यदि तपाईं Codespaces मा हुनुहुन्छ भने, तपाईंले एडिटरको तल्लो भागमा पोर्ट्समा जानुपर्छ, त्यसमा राइट-क्लिक गरेर "Port Visibility" क्लिक गर्नुहोस् र "Public" चयन गर्नुहोस्। + यदि तपाईं Codespaces मा हुनुहुन्छ भने, सम्पादकको तल्लो भागमा रहेको पोर्टमा जानुहोस्, त्यसमा दायाँ-क्लिक गर्नुहोस् र "Port Visibility" मा क्लिक गरेर "Public" चयन गर्नुहोस्। ### फ्रन्टएन्डमा काम गर्नुहोस् -अब हामीसँग एपीआई चलिरहेको छ, यसका लागि फ्रन्टएन्ड बनाऔं। न्यूनतम फ्रन्टएन्ड जसलाई हामी क्रमिक रूपमा सुधार गर्नेछौं। *frontend* फोल्डरमा निम्न सिर्जना गर्नुहोस्: +अब हामीसँग एपीआई चलिरहेको छ, यसका लागि फ्रन्टएन्ड बनाऔं। एक न्यूनतम फ्रन्टएन्ड जसलाई हामी क्रमशः सुधार गर्नेछौं। *frontend* फोल्डरमा निम्न बनाउनुहोस्: ```text backend/ @@ -241,7 +253,7 @@ styles.css ``` -माथिको कोड च्याट विन्डोलाई समर्थन गर्नको लागि न्यूनतम आवश्यक हो। यसमा टेक्स्ट एरिया छ जहाँ सन्देशहरू देखिन्छन्, इनपुट छ जहाँ सन्देश टाइप गर्न सकिन्छ, र बटन छ जसले सन्देशलाई ब्याकएन्डमा पठाउँछ। अब *app.js* मा JavaScript हेर्नुहोस्। +माथिको कोडले च्याट विन्डोलाई समर्थन गर्न आवश्यक न्यूनतम कुरा समावेश गर्दछ। यसमा सन्देशहरू देखाउनका लागि एउटा textarea, सन्देश टाइप गर्नका लागि इनपुट र ब्याकएन्डमा सन्देश पठाउनका लागि बटन छ। अब *app.js* मा JavaScript हेरौं: **app.js** @@ -298,14 +310,14 @@ styles.css })(); ``` -कोडलाई खण्ड अनुसार जाऔं: +कोडलाई खण्ड अनुसार हेरौं: -- 1) यहाँ हामी सबै एलिमेन्टहरूको रेफरेन्स लिन्छौं जसलाई पछि कोडमा प्रयोग गरिन्छ। -- 2) यस खण्डमा, हामी एक फङ्सन बनाउँछौं जसले बिल्ट-इन `fetch` मेथड प्रयोग गरेर हाम्रो ब्याकएन्डलाई कल गर्छ। -- 3) `appendMessage` ले प्रतिक्रिया र प्रयोगकर्ताले टाइप गरेको सन्देश थप्न मद्दत गर्छ। -- 4) यहाँ हामी सबमिट इभेन्टलाई सुन्छौं र इनपुट फिल्ड पढ्छौं, प्रयोगकर्ताको सन्देशलाई टेक्स्ट एरियामा राख्छौं, एपीआईलाई कल गर्छौं, र प्रतिक्रिया टेक्स्ट एरियामा देखाउँछौं। +- 1) यहाँ हामीले सबै तत्वहरूको रेफरेन्स लिन्छौं जसलाई पछि कोडमा प्रयोग गरिन्छ। +- 2) यस खण्डमा, हामीले `fetch` विधि प्रयोग गरेर ब्याकएन्डलाई कल गर्ने फङ्सन बनाउँछौं। +- 3) `appendMessage` ले प्रयोगकर्ताले टाइप गरेको र असिस्टेन्टको प्रतिक्रिया दुवै थप्न मद्दत गर्छ। +- 4) यहाँ हामीले submit इभेन्टलाई सुन्छौं र इनपुट फिल्ड पढ्छौं, प्रयोगकर्ताको सन्देशलाई textarea मा राख्छौं, एपीआईलाई कल गर्छौं, र प्रतिक्रिया textarea मा देखाउँछौं। -अब स्टाइलिङ हेर्नुहोस्, यहाँ तपाईंले आफ्नो इच्छाअनुसार डिजाइन गर्न सक्नुहुन्छ, तर केही सुझावहरू छन्: +अब स्टाइलिङ हेरौं, यहाँ तपाईंले आफ्नो इच्छाअनुसार परिवर्तन गर्न सक्नुहुन्छ, तर केही सुझावहरू यस्ता छन्: **styles.css** @@ -326,18 +338,18 @@ styles.css } ``` -यी तीन क्लासहरूले सन्देशलाई फरक शैली दिन्छन्, यो असिस्टेन्टबाट आएको हो वा प्रयोगकर्ताबाट। प्रेरित हुन चाहनुहुन्छ भने `solution/frontend/styles.css` फोल्डर हेर्नुहोस्। +यी तीन कक्षाहरूले सन्देशहरूलाई स्रोत अनुसार फरक तरिकाले स्टाइल गर्छन्, चाहे त्यो असिस्टेन्टबाट होस् वा प्रयोगकर्ताबाट। प्रेरणाका लागि, `solution/frontend/styles.css` फोल्डर हेर्नुहोस्। ### बेस युआरएल परिवर्तन गर्नुहोस् -यहाँ एउटा कुरा सेट गरिएको थिएन, त्यो हो `BASE_URL`, यो ब्याकएन्ड सुरु नभएसम्म थाहा हुँदैन। यसलाई सेट गर्न: +यहाँ एउटा कुरा सेट गरिएको थिएन, त्यो हो `BASE_URL`, जुन ब्याकएन्ड सुरु नभएसम्म थाहा हुँदैन। यसलाई सेट गर्न: -- यदि तपाईंले एपीआई स्थानीय रूपमा चलाउनुहुन्छ भने, यसलाई `http://localhost:5000` जस्तो सेट गर्नुपर्छ। +- यदि तपाईंले एपीआई स्थानीय रूपमा चलाउनुहुन्छ भने, यो `http://localhost:5000` जस्तो हुनुपर्छ। - यदि Codespaces मा चलाउनुहुन्छ भने, यो "[name]app.github.dev" जस्तो देखिन्छ। ## असाइनमेन्ट -आफ्नो *project* फोल्डर बनाउनुहोस् जसको सामग्री यसरी होस्: +तपाईंको आफ्नै *project* फोल्डर बनाउनुहोस् जसमा निम्न सामग्री होस्: ```text project/ @@ -346,11 +358,10 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` -माथि उल्लेख गरिएको सामग्रीलाई प्रतिलिपि गर्नुहोस् तर आफ्नो इच्छाअनुसार अनुकूलित गर्न स्वतन्त्र महसुस गर्नुहोस्। +माथि दिइएको निर्देशनबाट सामग्री प्रतिलिपि गर्नुहोस् तर तपाईंको इच्छाअनुसार अनुकूलन गर्न स्वतन्त्र महसुस गर्नुहोस्। ## समाधान @@ -358,32 +369,38 @@ project/ ## बोनस -एआई असिस्टेन्टको व्यक्तित्व परिवर्तन गर्न प्रयास गर्नुहोस्। जब तपाईं *api.py* मा `call_llm` कल गर्नुहुन्छ, तपाईं दोस्रो आर्गुमेन्टलाई आफ्नो इच्छाअनुसार परिवर्तन गर्न सक्नुहुन्छ, उदाहरणका लागि: +एआई असिस्टेन्टको व्यक्तित्व परिवर्तन गर्ने प्रयास गर्नुहोस्। + +### Python को लागि + +जब तपाईं *api.py* मा `call_llm` कल गर्नुहुन्छ, तपाईं दोस्रो आर्गुमेन्टलाई आफ्नो इच्छाअनुसार परिवर्तन गर्न सक्नुहुन्छ, जस्तै: ```python call_llm(message, "You are Captain Picard") ``` -CSS र टेक्स्टलाई पनि आफ्नो इच्छाअनुसार परिवर्तन गर्नुहोस्, त्यसैले *index.html* र *styles.css* मा परिवर्तन गर्नुहोस्। +### फ्रन्टएन्ड + +CSS र पाठलाई पनि आफ्नो इच्छाअनुसार परिवर्तन गर्नुहोस्, त्यसैले *index.html* र *styles.css* मा परिवर्तन गर्नुहोस्। -## सारांश +## संक्षेप -उत्तम, तपाईंले एआई प्रयोग गरेर व्यक्तिगत असिस्टेन्ट कसरी बनाउने भन्ने कुरा सुरुबाट सिक्नुभयो। हामीले GitHub Models, Python मा ब्याकएन्ड, र HTML, CSS, JavaScript मा फ्रन्टएन्ड प्रयोग गरेर यो गरेका छौं। +उत्तम, तपाईंले एआई प्रयोग गरेर व्यक्तिगत असिस्टेन्ट कसरी बनाउने भनेर सुरुबाट सिक्नुभयो। हामीले GitHub Models, Python मा ब्याकएन्ड, र HTML, CSS, JavaScript मा फ्रन्टएन्ड प्रयोग गरेर यो गरेका छौं। ## Codespaces सेटअप गर्नुहोस् - यहाँ जानुहोस्: [Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) -- टेम्प्लेटबाट सिर्जना गर्नुहोस् (पक्का गर्नुहोस् कि तपाईं GitHub मा लगइन हुनुहुन्छ) माथि-दायाँ कुनामा: +- टेम्प्लेटबाट सिर्जना गर्नुहोस् (GitHub मा लगइन भएको सुनिश्चित गर्नुहोस्) माथिल्लो दायाँ कुनामा: - ![Create from template](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.ne.png) + ![टेम्प्लेटबाट सिर्जना गर्नुहोस्](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.ne.png) - एकपटक तपाईंको रिपोमा, Codespace सिर्जना गर्नुहोस्: - ![Create codespace](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.ne.png) + ![Codespace सिर्जना गर्नुहोस्](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.ne.png) - यसले तपाईंलाई काम गर्न सकिने वातावरण सुरु गर्नुपर्छ। + यसले तपाईंलाई काम गर्न मिल्ने वातावरण सुरु गर्नेछ। --- **अस्वीकरण**: -यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं। \ No newline at end of file +यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं। \ No newline at end of file diff --git a/translations/ne/9-chat-project/solution/README.md b/translations/ne/9-chat-project/solution/README.md index 8bb0d8be..c749875b 100644 --- a/translations/ne/9-chat-project/solution/README.md +++ b/translations/ne/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# कोड चलाउनुहोस् +# समाधान चलाउनुहोस् -## सेट अप गर्नुहोस् - -भर्चुअल वातावरण बनाउनुहोस् - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## निर्भरता स्थापना गर्नुहोस् - -```sh -pip install openai flask flask-cors -``` - -## API चलाउनुहोस् - -```sh -python api.py -``` - -## फ्रन्टएन्ड चलाउनुहोस् - -पक्का गर्नुहोस् कि तपाईं फ्रन्टएन्ड फोल्डरमा हुनुहुन्छ - -*app.js* फाइल खोज्नुहोस्, `BASE_URL` लाई तपाईंको ब्याकएन्ड URL मा परिवर्तन गर्नुहोस् - -यसलाई चलाउनुहोस् - -``` -npx http-server -p 8000 -``` - -च्याटमा सन्देश टाइप गर्न प्रयास गर्नुहोस्, तपाईंले प्रतिक्रिया देख्नुहुनेछ (यदि तपाईंले यो Codespace मा चलाउनु भएको छ वा पहुँच टोकन सेट अप गर्नुभएको छ भने)। - -## पहुँच टोकन सेट अप गर्नुहोस् (यदि तपाईंले यो Codespace मा चलाउनुहुन्न भने) - -[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) हेर्नुहोस् +1. [ब्याकएन्ड](./backend/README.md) सुरु गर्नुहोस् +1. अब [फ्रन्टएन्ड](./frontend/README.md) सुरु गर्नुहोस् --- **अस्वीकरण**: -यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं। \ No newline at end of file +यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरी अनुवाद गरिएको हो। हामी यथासम्भव सटीकता सुनिश्चित गर्न प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटि वा अशुद्धता हुन सक्छ। यसको मूल भाषामा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्त्वपूर्ण जानकारीका लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याका लागि हामी जिम्मेवार हुने छैनौं। \ No newline at end of file diff --git a/translations/ne/9-chat-project/solution/backend/README.md b/translations/ne/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..6f5bb1c2 --- /dev/null +++ b/translations/ne/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +आफ्नो रनटाइम चयन गर्नुहोस् + +- [Python](./python/README.md) + +--- + +**अस्वीकरण**: +यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटि वा अशुद्धता हुन सक्छ। यसको मूल भाषामा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं। \ No newline at end of file diff --git a/translations/ne/9-chat-project/solution/backend/python/README.md b/translations/ne/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..37c40d30 --- /dev/null +++ b/translations/ne/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# कोड चलाउनुहोस् + +## सेट अप + +भर्चुअल वातावरण बनाउनुहोस् + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## निर्भरता स्थापना गर्नुहोस् + +```sh +pip install openai flask flask-cors +``` + +## एपीआई चलाउनुहोस् + +```sh +python api.py +``` + +## फ्रन्टएन्ड चलाउनुहोस् + +पक्का गर्नुहोस् कि तपाईं फ्रन्टएन्ड फोल्डरमा हुनुहुन्छ + +*app.js* फाइल खोज्नुहोस्, `BASE_URL` लाई तपाईंको ब्याकएन्ड URL मा परिवर्तन गर्नुहोस् + +यसलाई चलाउनुहोस् + +``` +npx http-server -p 8000 +``` + +च्याटमा सन्देश टाइप गर्न प्रयास गर्नुहोस्, तपाईंले प्रतिक्रिया देख्नुहुनेछ (यदि तपाईंले यो Codespace मा चलाउनु भएको छ वा पहुँच टोकन सेट अप गर्नुभएको छ भने)। + +## पहुँच टोकन सेट अप गर्नुहोस् (यदि तपाईंले यो Codespace मा चलाउनुहुन्न भने) + +[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) हेर्नुहोस् + +--- + +**अस्वीकरण**: +यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको हो। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं। \ No newline at end of file diff --git a/translations/ne/9-chat-project/solution/frontend/README.md b/translations/ne/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..09f33fe7 --- /dev/null +++ b/translations/ne/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# कोड चलाउनुहोस् + +```sh +npx http-server -p 3000 +``` + +`app.js` मा रहेको `BASE_URL` खोज्नुहोस् र यसलाई ब्याकएन्डको URL सँग मिल्ने गरी परिवर्तन गर्नुहोस्। + +--- + +**अस्वीकरण**: +यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको हो। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटि वा अशुद्धता हुन सक्छ। यसको मूल भाषामा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं। \ No newline at end of file diff --git a/translations/nl/9-chat-project/README.md b/translations/nl/9-chat-project/README.md index 803553ca..134eb39a 100644 --- a/translations/nl/9-chat-project/README.md +++ b/translations/nl/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Code uitvoeren +# Oplossing uitvoeren -## Instellen - -Maak een virtuele omgeving aan - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Installeer afhankelijkheden - -```sh -pip install openai flask flask-cors -``` - -## Start API - -```sh -python api.py -``` - -## Start frontend - -Zorg ervoor dat je in de frontend-map staat - -Zoek *app.js*, wijzig `BASE_URL` naar de URL van je backend - -Start het - -``` -npx http-server -p 8000 -``` - -Probeer een bericht in de chat te typen, je zou een reactie moeten zien (mits je dit in een Codespace uitvoert of een toegangstoken hebt ingesteld). - -## Stel toegangstoken in (als je dit niet in een Codespace uitvoert) - -Zie [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Start de [backend](./backend/README.md) +1. Start vervolgens de [frontend](./frontend/README.md) --- **Disclaimer**: -Dit document is vertaald met behulp van de AI-vertalingsservice [Co-op Translator](https://github.com/Azure/co-op-translator). Hoewel we streven naar nauwkeurigheid, willen we u erop wijzen dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in de oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor kritieke informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling. \ No newline at end of file +Dit document is vertaald met behulp van de AI-vertalingsservice [Co-op Translator](https://github.com/Azure/co-op-translator). Hoewel we streven naar nauwkeurigheid, dient u zich ervan bewust te zijn dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in zijn oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor cruciale informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling. \ No newline at end of file diff --git a/translations/nl/9-chat-project/solution/backend/README.md b/translations/nl/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..80ce00cb --- /dev/null +++ b/translations/nl/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Kies je runtime + +- [Python](./python/README.md) + +--- + +**Disclaimer**: +Dit document is vertaald met behulp van de AI-vertalingsservice [Co-op Translator](https://github.com/Azure/co-op-translator). Hoewel we streven naar nauwkeurigheid, dient u zich ervan bewust te zijn dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in zijn oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor cruciale informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling. \ No newline at end of file diff --git a/translations/nl/9-chat-project/solution/backend/python/README.md b/translations/nl/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..5ddfd819 --- /dev/null +++ b/translations/nl/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Code uitvoeren + +## Instellen + +Maak een virtuele omgeving aan + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Installeer afhankelijkheden + +```sh +pip install openai flask flask-cors +``` + +## Start API + +```sh +python api.py +``` + +## Start frontend + +Zorg ervoor dat je in de frontend-map staat + +Zoek *app.js*, verander `BASE_URL` naar de URL van je backend + +Start het + +``` +npx http-server -p 8000 +``` + +Probeer een bericht in de chat te typen, je zou een reactie moeten zien (mits je dit in een Codespace uitvoert of een toegangstoken hebt ingesteld). + +## Stel toegangstoken in (als je dit niet in een Codespace uitvoert) + +Zie [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Disclaimer**: +Dit document is vertaald met behulp van de AI-vertalingsservice [Co-op Translator](https://github.com/Azure/co-op-translator). Hoewel we streven naar nauwkeurigheid, dient u zich ervan bewust te zijn dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in zijn oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor cruciale informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling. \ No newline at end of file diff --git a/translations/nl/9-chat-project/solution/frontend/README.md b/translations/nl/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..86720765 --- /dev/null +++ b/translations/nl/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Voer de code uit + +```sh +npx http-server -p 3000 +``` + +Zoek de `BASE_URL` in `app.js` en wijzig deze zodat deze overeenkomt met de URL van de backend. + +--- + +**Disclaimer**: +Dit document is vertaald met behulp van de AI-vertalingsservice [Co-op Translator](https://github.com/Azure/co-op-translator). Hoewel we ons best doen voor nauwkeurigheid, dient u zich ervan bewust te zijn dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in zijn oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor cruciale informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling. \ No newline at end of file diff --git a/translations/no/9-chat-project/README.md b/translations/no/9-chat-project/README.md index 1477100d..457bdbc5 100644 --- a/translations/no/9-chat-project/README.md +++ b/translations/no/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Kjør kode +# Kjør løsning -## Oppsett - -Opprett et virtuelt miljø - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Installer avhengigheter - -```sh -pip install openai flask flask-cors -``` - -## Kjør API - -```sh -python api.py -``` - -## Kjør frontend - -Sørg for at du står i frontend-mappen - -Finn *app.js*, endre `BASE_URL` til URL-en for din backend - -Kjør det - -``` -npx http-server -p 8000 -``` - -Prøv å skrive en melding i chatten, du bør se et svar (forutsatt at du kjører dette i en Codespace eller har satt opp en tilgangstoken). - -## Sett opp tilgangstoken (hvis du ikke kjører dette i en Codespace) - -Se [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Start opp [backend](./backend/README.md) +1. Start deretter [frontend](./frontend/README.md) --- **Ansvarsfraskrivelse**: -Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selv om vi tilstreber nøyaktighet, vennligst vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen. \ No newline at end of file +Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen. \ No newline at end of file diff --git a/translations/no/9-chat-project/solution/backend/README.md b/translations/no/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..3d9c8d1c --- /dev/null +++ b/translations/no/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Velg ditt kjøremiljø + +- [Python](./python/README.md) + +--- + +**Ansvarsfraskrivelse**: +Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen. \ No newline at end of file diff --git a/translations/no/9-chat-project/solution/backend/python/README.md b/translations/no/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..b1d1a6f0 --- /dev/null +++ b/translations/no/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Kjør kode + +## Sett opp + +Opprett et virtuelt miljø + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Installer avhengigheter + +```sh +pip install openai flask flask-cors +``` + +## Kjør API + +```sh +python api.py +``` + +## Kjør frontend + +Sørg for at du står i frontend-mappen + +Finn *app.js*, endre `BASE_URL` til URL-en for din backend + +Kjør det + +``` +npx http-server -p 8000 +``` + +Prøv å skrive en melding i chatten, du bør se et svar (forutsatt at du kjører dette i en Codespace eller har satt opp en tilgangstoken). + +## Sett opp tilgangstoken (hvis du ikke kjører dette i en Codespace) + +Se [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Ansvarsfraskrivelse**: +Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen. \ No newline at end of file diff --git a/translations/no/9-chat-project/solution/frontend/README.md b/translations/no/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..d0bd6256 --- /dev/null +++ b/translations/no/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Kjør koden + +```sh +npx http-server -p 3000 +``` + +Finn `BASE_URL` i `app.js` og endre den slik at den samsvarer med URL-en til backend. + +--- + +**Ansvarsfraskrivelse**: +Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten [Co-op Translator](https://github.com/Azure/co-op-translator). Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen. \ No newline at end of file diff --git a/translations/pa/9-chat-project/README.md b/translations/pa/9-chat-project/README.md index 582639ee..12c7b560 100644 --- a/translations/pa/9-chat-project/README.md +++ b/translations/pa/9-chat-project/README.md @@ -1,39 +1,41 @@ # ਚੈਟ ਪ੍ਰੋਜੈਕਟ -ਇਹ ਚੈਟ ਪ੍ਰੋਜੈਕਟ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਗਿਟਹੱਬ ਮਾਡਲਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਚੈਟ ਅਸਿਸਟੈਂਟ ਕਿਵੇਂ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। +ਇਹ ਚੈਟ ਪ੍ਰੋਜੈਕਟ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ GitHub ਮਾਡਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਚੈਟ ਅਸਿਸਟੈਂਟ ਕਿਵੇਂ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। -ਇਹ ਹੈ ਕਿ ਤਿਆਰ ਪ੍ਰੋਜੈਕਟ ਕਿਵੇਂ ਲੱਗਦਾ ਹੈ: +ਇਹ ਹੈ ਕਿ ਅੰਤਮ ਪ੍ਰੋਜੈਕਟ ਕਿਵੇਂ ਦਿਖਾਈ ਦੇਵੇਗਾ:
ਚੈਟ ਐਪ
-ਕੁਝ ਸੰਦਰਭ, ਜਨਰੇਟਿਵ AI ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਚੈਟ ਅਸਿਸਟੈਂਟ ਬਣਾਉਣਾ AI ਬਾਰੇ ਸਿੱਖਣ ਦੀ ਸ਼ੁਰੂਆਤ ਕਰਨ ਦਾ ਵਧੀਆ ਤਰੀਕਾ ਹੈ। ਇਸ ਪਾਠ ਦੌਰਾਨ ਤੁਸੀਂ ਸਿੱਖੋਗੇ ਕਿ ਜਨਰੇਟਿਵ AI ਨੂੰ ਵੈੱਬ ਐਪ ਵਿੱਚ ਕਿਵੇਂ ਜੋੜਨਾ ਹੈ। ਆਓ ਸ਼ੁਰੂ ਕਰੀਏ। +ਕੁਝ ਸੰਦਰਭ, ਜਨਰੇਟਿਵ AI ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਚੈਟ ਅਸਿਸਟੈਂਟ ਬਣਾਉਣਾ AI ਬਾਰੇ ਸਿੱਖਣ ਦੀ ਸ਼ੁਰੂਆਤ ਕਰਨ ਦਾ ਇੱਕ ਵਧੀਆ ਤਰੀਕਾ ਹੈ। ਇਸ ਪਾਠ ਦੌਰਾਨ ਤੁਸੀਂ ਸਿੱਖੋਗੇ ਕਿ ਜਨਰੇਟਿਵ AI ਨੂੰ ਇੱਕ ਵੈੱਬ ਐਪ ਵਿੱਚ ਕਿਵੇਂ ਜੋੜਨਾ ਹੈ। ਚਲੋ ਸ਼ੁਰੂ ਕਰੀਏ। ## ਜਨਰੇਟਿਵ AI ਨਾਲ ਕਨੈਕਟ ਕਰਨਾ -ਬੈਕਐਂਡ ਲਈ, ਅਸੀਂ ਗਿਟਹੱਬ ਮਾਡਲਜ਼ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ। ਇਹ ਇੱਕ ਸ਼ਾਨਦਾਰ ਸੇਵਾ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਮੁਫ਼ਤ ਵਿੱਚ AI ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ। ਇਸਦੇ ਪਲੇਗ੍ਰਾਊਂਡ ਤੇ ਜਾਓ ਅਤੇ ਆਪਣੇ ਚੁਣੇ ਹੋਏ ਬੈਕਐਂਡ ਭਾਸ਼ਾ ਨਾਲ ਸਬੰਧਤ ਕੋਡ ਲਵੋ। ਇਹ [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) 'ਤੇ ਇਸ ਤਰ੍ਹਾਂ ਲੱਗਦਾ ਹੈ। +ਬੈਕਐਂਡ ਲਈ, ਅਸੀਂ GitHub ਮਾਡਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ। ਇਹ ਇੱਕ ਵਧੀਆ ਸੇਵਾ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਮੁਫ਼ਤ ਵਿੱਚ AI ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ। ਇਸਦੇ ਪਲੇਗ੍ਰਾਊਂਡ 'ਤੇ ਜਾਓ ਅਤੇ ਆਪਣੀ ਚੁਣੀ ਹੋਈ ਬੈਕਐਂਡ ਭਾਸ਼ਾ ਦੇ ਅਨੁਸਾਰ ਕੋਡ ਲਵੋ। ਇਹ [GitHub ਮਾਡਲ ਪਲੇਗ੍ਰਾਊਂਡ](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) 'ਤੇ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ।
- GitHub ਮਾਡਲਜ਼ AI ਪਲੇਗ੍ਰਾਊਂਡ + GitHub ਮਾਡਲ AI ਪਲੇਗ੍ਰਾਊਂਡ
-ਜਿਵੇਂ ਅਸੀਂ ਕਿਹਾ ਸੀ, "Code" ਟੈਬ ਅਤੇ ਆਪਣੀ ਚੁਣੀ ਹੋਈ ਰਨਟਾਈਮ ਚੁਣੋ। +ਜਿਵੇਂ ਅਸੀਂ ਕਿਹਾ, "Code" ਟੈਬ ਅਤੇ ਆਪਣੀ ਚੁਣੀ ਹੋਈ ਰਨਟਾਈਮ ਚੁਣੋ।
ਪਲੇਗ੍ਰਾਊਂਡ ਚੋਣ
-ਇਸ ਮਾਮਲੇ ਵਿੱਚ ਅਸੀਂ Python ਚੁਣਦੇ ਹਾਂ, ਜਿਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਅਸੀਂ ਇਹ ਕੋਡ ਚੁਣਾਂਗੇ: +### ਪਾਇਥਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ + +ਇਸ ਮਾਮਲੇ ਵਿੱਚ ਅਸੀਂ ਪਾਇਥਨ ਚੁਣਦੇ ਹਾਂ, ਜਿਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਅਸੀਂ ਇਹ ਕੋਡ ਚੁਣਦੇ ਹਾਂ: ```python """Run this model in Python @@ -70,7 +72,7 @@ response = client.chat.completions.create( print(response.choices[0].message.content) ``` -ਆਓ ਇਸ ਕੋਡ ਨੂੰ ਕੁਝ ਸਾਫ ਕਰੀਏ ਤਾਂ ਜੋ ਇਹ ਦੁਬਾਰਾ ਵਰਤਣ ਯੋਗ ਹੋਵੇ: +ਆਓ ਇਸ ਕੋਡ ਨੂੰ ਕੁਝ ਸਾਫ਼ ਕਰੀਏ ਤਾਂ ਜੋ ਇਹ ਦੁਬਾਰਾ ਵਰਤਣਯੋਗ ਹੋ ਸਕੇ: ```python def call_llm(prompt: str, system_message: str): @@ -94,19 +96,21 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -ਇਸ ਫੰਕਸ਼ਨ `call_llm` ਨਾਲ ਹੁਣ ਅਸੀਂ ਇੱਕ ਪ੍ਰੌਮਪਟ ਅਤੇ ਇੱਕ ਸਿਸਟਮ ਪ੍ਰੌਮਪਟ ਲੈ ਸਕਦੇ ਹਾਂ ਅਤੇ ਫੰਕਸ਼ਨ ਨਤੀਜਾ ਵਾਪਸ ਕਰਦਾ ਹੈ। +ਇਸ ਫੰਕਸ਼ਨ `call_llm` ਨਾਲ ਹੁਣ ਅਸੀਂ ਇੱਕ ਪ੍ਰੋੰਪਟ ਅਤੇ ਇੱਕ ਸਿਸਟਮ ਪ੍ਰੋੰਪਟ ਲੈ ਸਕਦੇ ਹਾਂ ਅਤੇ ਫੰਕਸ਼ਨ ਅੰਤ ਵਿੱਚ ਨਤੀਜਾ ਵਾਪਸ ਕਰਦਾ ਹੈ। ### AI ਅਸਿਸਟੈਂਟ ਨੂੰ ਕਸਟਮਾਈਜ਼ ਕਰੋ -ਜੇ ਤੁਸੀਂ AI ਅਸਿਸਟੈਂਟ ਨੂੰ ਕਸਟਮਾਈਜ਼ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਸਿਸਟਮ ਪ੍ਰੌਮਪਟ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਭਰ ਕੇ ਇਸਦੀ ਵਰਤੋਂ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰ ਸਕਦੇ ਹੋ: +ਜੇ ਤੁਸੀਂ AI ਅਸਿਸਟੈਂਟ ਨੂੰ ਕਸਟਮਾਈਜ਼ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਸਿਸਟਮ ਪ੍ਰੋੰਪਟ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਭਰ ਕੇ ਇਸਦੀ ਵਿਵਹਾਰਤਾ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰ ਸਕਦੇ ਹੋ: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") ``` -## ਇਸਨੂੰ ਵੈੱਬ API ਰਾਹੀਂ ਐਕਸਪੋਜ਼ ਕਰੋ +## ਇਸਨੂੰ ਵੈੱਬ API ਰਾਹੀਂ ਉਜਾਗਰ ਕਰੋ + +ਵਧੀਆ, ਅਸੀਂ AI ਭਾਗ ਪੂਰਾ ਕਰ ਲਿਆ ਹੈ, ਆਓ ਵੇਖੀਏ ਕਿ ਅਸੀਂ ਇਸਨੂੰ ਵੈੱਬ API ਵਿੱਚ ਕਿਵੇਂ ਜੋੜ ਸਕਦੇ ਹਾਂ। ਵੈੱਬ API ਲਈ, ਅਸੀਂ Flask ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ, ਪਰ ਕੋਈ ਵੀ ਵੈੱਬ ਫਰੇਮਵਰਕ ਚੰਗਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਆਓ ਇਸਦਾ ਕੋਡ ਵੇਖੀਏ: -ਵਧੀਆ, ਅਸੀਂ AI ਹਿੱਸਾ ਤਿਆਰ ਕਰ ਲਿਆ ਹੈ, ਆਓ ਵੇਖੀਏ ਕਿ ਅਸੀਂ ਇਸਨੂੰ ਵੈੱਬ API ਵਿੱਚ ਕਿਵੇਂ ਜੋੜ ਸਕਦੇ ਹਾਂ। ਵੈੱਬ API ਲਈ, ਅਸੀਂ Flask ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ, ਪਰ ਕੋਈ ਵੀ ਵੈੱਬ ਫਰੇਮਵਰਕ ਚੰਗਾ ਹੋਵੇਗਾ। ਆਓ ਇਸਦਾ ਕੋਡ ਵੇਖੀਏ: +### ਪਾਇਥਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ```python # api.py @@ -137,9 +141,9 @@ if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` -ਇੱਥੇ, ਅਸੀਂ ਇੱਕ Flask API ਬਣਾਉਂਦੇ ਹਾਂ ਅਤੇ ਇੱਕ ਡਿਫਾਲਟ ਰੂਟ "/" ਅਤੇ "/chat" ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹਾਂ। ਦੂਜਾ ਰੂਟ ਸਾਡੇ ਫਰੰਟਐਂਡ ਦੁਆਰਾ ਪ੍ਰਸ਼ਨ ਭੇਜਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। +ਇਥੇ, ਅਸੀਂ ਇੱਕ Flask API ਬਣਾਉਂਦੇ ਹਾਂ ਅਤੇ ਇੱਕ ਡਿਫਾਲਟ ਰੂਟ "/" ਅਤੇ "/chat" ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹਾਂ। ਦੂਜਾ ਰੂਟ ਸਾਡੇ ਫਰੰਟਐਂਡ ਦੁਆਰਾ ਇਸਨੂੰ ਸਵਾਲ ਭੇਜਣ ਲਈ ਵਰਤਿਆ ਜਾਣਾ ਹੈ। -*llm.py* ਨੂੰ ਜੋੜਨ ਲਈ, ਅਸੀਂ ਇਹ ਕਰਨਾ ਹੈ: +*llm.py* ਨੂੰ ਜੋੜਨ ਲਈ, ਇਹ ਹੈ ਜੋ ਅਸੀਂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ: - `call_llm` ਫੰਕਸ਼ਨ ਨੂੰ ਇੰਪੋਰਟ ਕਰੋ: @@ -148,7 +152,7 @@ if __name__ == "__main__": from flask import Flask, request ``` -- "/chat" ਰੂਟ ਤੋਂ ਇਸਨੂੰ ਕਾਲ ਕਰੋ: +- ਇਸਨੂੰ "/chat" ਰੂਟ ਤੋਂ ਕਾਲ ਕਰੋ: ```python @app.route("/hello", methods=["POST"]) @@ -163,7 +167,7 @@ if __name__ == "__main__": }) ``` - ਇੱਥੇ ਅਸੀਂ ਆਉਣ ਵਾਲੀ ਰਿਕਵੈਸਟ ਨੂੰ ਪਾਰਸ ਕਰਦੇ ਹਾਂ ਤਾਂ ਜੋ JSON ਬਾਡੀ ਤੋਂ `message` ਪ੍ਰਾਪਰਟੀ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾ ਸਕੇ। ਇਸ ਤੋਂ ਬਾਅਦ ਅਸੀਂ LLM ਨੂੰ ਇਸ ਕਾਲ ਨਾਲ ਕਾਲ ਕਰਦੇ ਹਾਂ: + ਇਥੇ ਅਸੀਂ ਆਉਣ ਵਾਲੀ ਬੇਨਤੀ ਨੂੰ ਪਾਰਸ ਕਰਦੇ ਹਾਂ ਤਾਂ ਜੋ JSON ਬਾਡੀ ਤੋਂ `message` ਪ੍ਰਾਪਰਟੀ ਨੂੰ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕੇ। ਇਸ ਤੋਂ ਬਾਅਦ ਅਸੀਂ LLM ਨੂੰ ਇਸ ਕਾਲ ਨਾਲ ਕਾਲ ਕਰਦੇ ਹਾਂ: ```python response = call_llm(message, "You are a helpful assistant") @@ -176,9 +180,13 @@ if __name__ == "__main__": ਵਧੀਆ, ਹੁਣ ਅਸੀਂ ਜੋ ਲੋੜ ਸੀ ਉਹ ਕਰ ਲਿਆ ਹੈ। -### Cors ਕਨਫਿਗਰ ਕਰੋ +## Cors ਕਨਫਿਗਰ ਕਰੋ + +ਅਸੀਂ ਇਹ ਗੱਲ ਦੱਸਣੀ ਚਾਹੁੰਦੇ ਹਾਂ ਕਿ ਅਸੀਂ ਕੁਝ Cors ਸੈਟਅਪ ਕੀਤਾ ਹੈ, ਕ੍ਰਾਸ-ਓਰਿਜਨ ਰਿਸੋਰਸ ਸ਼ੇਅਰਿੰਗ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਕਿਉਂਕਿ ਸਾਡਾ ਬੈਕਐਂਡ ਅਤੇ ਫਰੰਟਐਂਡ ਵੱਖ-ਵੱਖ ਪੋਰਟਾਂ 'ਤੇ ਚੱਲੇਗਾ, ਸਾਨੂੰ ਫਰੰਟਐਂਡ ਨੂੰ ਬੈਕਐਂਡ ਨੂੰ ਕਾਲ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਪਵੇਗੀ। -ਸਾਨੂੰ ਇਹ ਗੱਲ ਦੱਸਣੀ ਚਾਹੀਦੀ ਹੈ ਕਿ ਅਸੀਂ CORS (ਕਰਾਸ-ਓਰਿਜਿਨ ਰਿਸੋਰਸ ਸ਼ੇਅਰਿੰਗ) ਸੈਟਅੱਪ ਕੀਤਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਕਿਉਂਕਿ ਸਾਡਾ ਬੈਕਐਂਡ ਅਤੇ ਫਰੰਟਐਂਡ ਵੱਖ-ਵੱਖ ਪੋਰਟਾਂ 'ਤੇ ਚੱਲਣਗੇ, ਸਾਨੂੰ ਫਰੰਟਐਂਡ ਨੂੰ ਬੈਕਐਂਡ ਵਿੱਚ ਕਾਲ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਪਵੇਗੀ। *api.py* ਵਿੱਚ ਇੱਕ ਕੋਡ ਦਾ ਟੁਕੜਾ ਹੈ ਜੋ ਇਸਨੂੰ ਸੈਟਅੱਪ ਕਰਦਾ ਹੈ: +### ਪਾਇਥਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ + +*api.py* ਵਿੱਚ ਇੱਕ ਕੋਡ ਦਾ ਟੁਕੜਾ ਹੈ ਜੋ ਇਸਨੂੰ ਸੈਟਅਪ ਕਰਦਾ ਹੈ: ```python from flask_cors import CORS @@ -187,13 +195,17 @@ app = Flask(__name__) CORS(app) # * example.com ``` -ਇਸ ਵੇਲੇ ਇਹ "*" (ਸਾਰੇ ਓਰਿਜਿਨ) ਦੀ ਆਗਿਆ ਦੇਣ ਲਈ ਸੈਟ ਕੀਤਾ ਗਿਆ ਹੈ ਜੋ ਕਿ ਕੁਝ ਅਸੁਰੱਖਿਅਤ ਹੈ। ਜਦੋਂ ਅਸੀਂ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਜਾਵਾਂਗੇ ਤਾਂ ਇਸਨੂੰ ਸੀਮਿਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। +ਇਸ ਸਮੇਂ ਇਹ "*" ਨੂੰ ਆਗਿਆ ਦੇਣ ਲਈ ਸੈਟਅਪ ਕੀਤਾ ਗਿਆ ਹੈ ਜੋ ਸਾਰੇ ਔਰਿਜਿਨ ਹਨ ਅਤੇ ਇਹ ਕੁਝ ਅਸੁਰੱਖਿਅਤ ਹੈ। ਜਦੋਂ ਅਸੀਂ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਜਾਂਦੇ ਹਾਂ ਤਾਂ ਇਸਨੂੰ ਸੀਮਿਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ## ਆਪਣਾ ਪ੍ਰੋਜੈਕਟ ਚਲਾਓ -ਠੀਕ ਹੈ, ਤਾਂ ਸਾਡੇ ਕੋਲ *llm.py* ਅਤੇ *api.py* ਹੈ। ਹੁਣ ਅਸੀਂ ਇਸਨੂੰ ਬੈਕਐਂਡ ਨਾਲ ਕਿਵੇਂ ਚਲਾ ਸਕਦੇ ਹਾਂ? ਖੈਰ, ਦੋ ਚੀਜ਼ਾਂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ: +ਆਪਣਾ ਪ੍ਰੋਜੈਕਟ ਚਲਾਉਣ ਲਈ, ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਆਪਣਾ ਬੈਕਐਂਡ ਅਤੇ ਫਿਰ ਆਪਣਾ ਫਰੰਟਐਂਡ ਸ਼ੁਰੂ ਕਰਨਾ ਪਵੇਗਾ। + +### ਪਾਇਥਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ -- ਡਿਪੈਂਡੈਂਸੀਜ਼ ਇੰਸਟਾਲ ਕਰੋ: +ਠੀਕ ਹੈ, ਤਾਂ ਸਾਡੇ ਕੋਲ *llm.py* ਅਤੇ *api.py* ਹੈ, ਅਸੀਂ ਇਸਨੂੰ ਬੈਕਐਂਡ ਨਾਲ ਕਿਵੇਂ ਚਲਾਉਂਦੇ ਹਾਂ? ਖੈਰ, ਦੋ ਚੀਜ਼ਾਂ ਹਨ ਜੋ ਅਸੀਂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ: + +- Dependencies ਇੰਸਟਾਲ ਕਰੋ: ```sh cd backend @@ -203,17 +215,17 @@ CORS(app) # * example.com pip install openai flask flask-cors openai ``` -- API ਸ਼ੁਰੂ ਕਰੋ: +- API ਸ਼ੁਰੂ ਕਰੋ ```sh python api.py ``` - ਜੇ ਤੁਸੀਂ Codespaces ਵਿੱਚ ਹੋ ਤਾਂ ਤੁਹਾਨੂੰ ਐਡੀਟਰ ਦੇ ਹੇਠਲੇ ਹਿੱਸੇ ਵਿੱਚ ਪੋਰਟਸ 'ਤੇ ਜਾਣਾ ਪਵੇਗਾ, ਇਸ 'ਤੇ ਰਾਈਟ-ਕਲਿਕ ਕਰੋ ਅਤੇ "Port Visibility" ਤੇ ਕਲਿਕ ਕਰੋ ਅਤੇ "Public" ਚੁਣੋ। + ਜੇ ਤੁਸੀਂ Codespaces ਵਿੱਚ ਹੋ ਤਾਂ ਤੁਹਾਨੂੰ ਐਡੀਟਰ ਦੇ ਹੇਠਲੇ ਭਾਗ ਵਿੱਚ ਪੋਰਟਸ 'ਤੇ ਜਾਣ ਦੀ ਲੋੜ ਹੈ, ਇਸ 'ਤੇ ਰਾਈਟ-ਕਲਿਕ ਕਰੋ ਅਤੇ "Port Visibility" 'ਤੇ ਕਲਿਕ ਕਰੋ ਅਤੇ "Public" ਚੁਣੋ। ### ਫਰੰਟਐਂਡ 'ਤੇ ਕੰਮ ਕਰੋ -ਹੁਣ ਜਦੋਂ ਸਾਡਾ API ਚੱਲ ਰਿਹਾ ਹੈ, ਆਓ ਇਸ ਲਈ ਇੱਕ ਫਰੰਟਐਂਡ ਬਣਾਈਏ। ਇੱਕ ਬੇਸਿਕ ਫਰੰਟਐਂਡ ਜੋ ਅਸੀਂ ਕਦਮ-ਦਰ-ਕਦਮ ਸੁਧਾਰਾਂਗੇ। ਇੱਕ *frontend* ਫੋਲਡਰ ਵਿੱਚ ਇਹ ਬਣਾਓ: +ਹੁਣ ਜਦੋਂ ਸਾਡੇ ਕੋਲ API ਚਲ ਰਹੀ ਹੈ, ਆਓ ਇਸ ਲਈ ਇੱਕ ਫਰੰਟਐਂਡ ਬਣਾਈਏ। ਇੱਕ ਬੇਅਰ ਮਿਨੀਮਮ ਫਰੰਟਐਂਡ ਜਿਸਨੂੰ ਅਸੀਂ ਕਦਮ-ਦਰ-ਕਦਮ ਸੁਧਾਰਾਂਗੇ। *frontend* ਫੋਲਡਰ ਵਿੱਚ, ਹੇਠਾਂ ਦਿੱਤੇ ਨੂੰ ਬਣਾਓ: ```text backend/ @@ -223,7 +235,7 @@ app.js styles.css ``` -**index.html** ਨਾਲ ਸ਼ੁਰੂ ਕਰੀਏ: +ਆਓ **index.html** ਨਾਲ ਸ਼ੁਰੂ ਕਰੀਏ: ```html @@ -241,7 +253,7 @@ styles.css ``` -ਉਪਰੋਕਤ ਘੱਟੋ-ਘੱਟ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਇੱਕ ਚੈਟ ਵਿੰਡੋ ਨੂੰ ਸਹਾਰਾ ਦੇਣ ਲਈ ਲੋੜੀਂਦਾ ਹੈ। ਇਸ ਵਿੱਚ ਇੱਕ ਟੈਕਸਟਏਰੀਆ ਹੈ ਜਿੱਥੇ ਸੁਨੇਹੇ ਰੈਂਡਰ ਕੀਤੇ ਜਾਣਗੇ, ਇੱਕ ਇਨਪੁਟ ਜਿੱਥੇ ਸੁਨੇਹਾ ਲਿਖਿਆ ਜਾਵੇਗਾ ਅਤੇ ਇੱਕ ਬਟਨ ਜੋ ਤੁਹਾਡੇ ਸੁਨੇਹੇ ਨੂੰ ਬੈਕਐਂਡ ਨੂੰ ਭੇਜਣ ਲਈ ਹੈ। ਆਓ *app.js* ਵਿੱਚ ਜਾਵਾਸਕ੍ਰਿਪਟ ਵੇਖੀਏ। +ਉਪਰੋਕਤ ਚੈਟ ਵਿੰਡੋ ਨੂੰ ਸਹਾਇਕ ਕਰਨ ਲਈ ਬਿਲਕੁਲ ਘੱਟੋ-ਘੱਟ ਹੈ, ਕਿਉਂਕਿ ਇਸ ਵਿੱਚ ਇੱਕ ਟੈਕਸਟਏਰੀਆ ਸ਼ਾਮਲ ਹੈ ਜਿੱਥੇ ਸੁਨੇਹੇ ਰੇਂਡਰ ਕੀਤੇ ਜਾਣਗੇ, ਇੱਕ ਇਨਪੁਟ ਜਿੱਥੇ ਸੁਨੇਹਾ ਟਾਈਪ ਕੀਤਾ ਜਾਵੇਗਾ ਅਤੇ ਇੱਕ ਬਟਨ ਜੋ ਤੁਹਾਡੇ ਸੁਨੇਹੇ ਨੂੰ ਬੈਕਐਂਡ ਨੂੰ ਭੇਜਣ ਲਈ ਹੈ। ਆਓ *app.js* ਵਿੱਚ ਜਾਵਾਸਕ੍ਰਿਪਟ ਦੇ ਕੋਡ ਨੂੰ ਵੇਖੀਏ। **app.js** @@ -298,14 +310,14 @@ styles.css })(); ``` -ਆਓ ਕੋਡ ਨੂੰ ਹਰੇਕ ਭਾਗ ਅਨੁਸਾਰ ਸਮਝੀਏ: +ਆਓ ਕੋਡ ਨੂੰ ਹਰੇਕ ਸੈਕਸ਼ਨ ਦੇ ਅਨੁਸਾਰ ਸਮਝੀਏ: -- 1) ਇੱਥੇ ਅਸੀਂ ਸਾਰੇ ਐਲੀਮੈਂਟਸ ਦੇ ਰਿਫਰੈਂਸ ਲੈਂਦੇ ਹਾਂ ਜਿਨ੍ਹਾਂ ਨੂੰ ਅਸੀਂ ਬਾਅਦ ਵਿੱਚ ਕੋਡ ਵਿੱਚ ਵਰਤਾਂਗੇ। -- 2) ਇਸ ਭਾਗ ਵਿੱਚ, ਅਸੀਂ ਇੱਕ ਫੰਕਸ਼ਨ ਬਣਾਉਂਦੇ ਹਾਂ ਜੋ ਬਿਲਟ-ਇਨ `fetch` ਮੈਥਡ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਜੋ ਸਾਡੇ ਬੈਕਐਂਡ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ। -- 3) `appendMessage` ਸਹਾਇਕ ਹੁੰਦਾ ਹੈ ਜਵਾਬਾਂ ਅਤੇ ਜੋ ਤੁਸੀਂ ਯੂਜ਼ਰ ਵਜੋਂ ਲਿਖਦੇ ਹੋ, ਦੋਹਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਵਿੱਚ। -- 4) ਇੱਥੇ ਅਸੀਂ ਸਬਮਿਟ ਇਵੈਂਟ ਨੂੰ ਸੁਣਦੇ ਹਾਂ ਅਤੇ ਅਸੀਂ ਇਨਪੁਟ ਫੀਲਡ ਨੂੰ ਪੜ੍ਹਦੇ ਹਾਂ, ਯੂਜ਼ਰ ਦਾ ਸੁਨੇਹਾ ਟੈਕਸਟਏਰੀਆ ਵਿੱਚ ਰੱਖਦੇ ਹਾਂ, API ਨੂੰ ਕਾਲ ਕਰਦੇ ਹਾਂ ਅਤੇ ਟੈਕਸਟਏਰੀਆ ਵਿੱਚ ਜਵਾਬ ਰੈਂਡਰ ਕਰਦੇ ਹਾਂ। +- 1) ਇਥੇ ਅਸੀਂ ਆਪਣੇ ਸਾਰੇ ਐਲੀਮੈਂਟਸ ਦਾ ਰਿਫਰੈਂਸ ਲੈਂਦੇ ਹਾਂ ਜਿਨ੍ਹਾਂ ਨੂੰ ਅਸੀਂ ਬਾਅਦ ਵਿੱਚ ਕੋਡ ਵਿੱਚ ਰਿਫਰ ਕਰਾਂਗੇ। +- 2) ਇਸ ਸੈਕਸ਼ਨ ਵਿੱਚ, ਅਸੀਂ ਇੱਕ ਫੰਕਸ਼ਨ ਬਣਾਉਂਦੇ ਹਾਂ ਜੋ ਬਿਲਟ-ਇਨ `fetch` ਮੈਥਡ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਜੋ ਸਾਡੇ ਬੈਕਐਂਡ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ। +- 3) `appendMessage` ਸਹਾਇਕ ਹੈ ਜਵਾਬਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਵਿੱਚ ਅਤੇ ਜੋ ਤੁਸੀਂ ਇੱਕ ਯੂਜ਼ਰ ਵਜੋਂ ਟਾਈਪ ਕਰਦੇ ਹੋ। +- 4) ਇਥੇ ਅਸੀਂ submit ਇਵੈਂਟ ਨੂੰ ਸੁਣਦੇ ਹਾਂ ਅਤੇ ਅਸੀਂ ਇਨਪੁਟ ਫੀਲਡ ਨੂੰ ਪੜ੍ਹਦੇ ਹਾਂ, ਯੂਜ਼ਰ ਦਾ ਸੁਨੇਹਾ ਟੈਕਸਟਏਰੀਆ ਵਿੱਚ ਰੱਖਦੇ ਹਾਂ, API ਨੂੰ ਕਾਲ ਕਰਦੇ ਹਾਂ, ਅਤੇ ਟੈਕਸਟਏਰੀਆ ਵਿੱਚ ਜਵਾਬ ਰੇਂਡਰ ਕਰਦੇ ਹਾਂ। -ਹੁਣ ਸਟਾਈਲਿੰਗ ਵੇਖੀਏ। ਇੱਥੇ ਤੁਸੀਂ ਆਪਣੀ ਪਸੰਦ ਅਨੁਸਾਰ ਬਦਲਾਅ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ ਇੱਥੇ ਕੁਝ ਸੁਝਾਅ ਹਨ: +ਆਓ ਅਗਲੇ ਸਟਾਈਲਿੰਗ ਨੂੰ ਵੇਖੀਏ, ਇਥੇ ਤੁਸੀਂ ਇਸਨੂੰ ਆਪਣੀ ਪਸੰਦ ਦੇ ਅਨੁਸਾਰ ਬਣਾਉਣ ਲਈ ਪੂਰੀ ਛੂਟ ਹੈ, ਪਰ ਇਥੇ ਕੁਝ ਸੁਝਾਅ ਹਨ: **styles.css** @@ -326,18 +338,18 @@ styles.css } ``` -ਇਹ ਤਿੰਨ ਕਲਾਸਾਂ ਨਾਲ, ਤੁਸੀਂ ਸੁਨੇਹਿਆਂ ਨੂੰ ਸਟਾਈਲ ਕਰ ਸਕਦੇ ਹੋ ਕਿ ਉਹ ਕਿੱਥੋਂ ਆ ਰਹੇ ਹਨ - ਅਸਿਸਟੈਂਟ ਤੋਂ ਜਾਂ ਯੂਜ਼ਰ ਤੋਂ। ਜੇ ਤੁਸੀਂ ਪ੍ਰੇਰਿਤ ਹੋਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ `solution/frontend/styles.css` ਫੋਲਡਰ ਵੇਖੋ। +ਇਹ ਤਿੰਨ ਕਲਾਸਾਂ ਨਾਲ, ਤੁਸੀਂ ਸੁਨੇਹਿਆਂ ਨੂੰ ਸਟਾਈਲ ਕਰ ਸਕਦੇ ਹੋ ਇਸਦੇ ਆਧਾਰ 'ਤੇ ਕਿ ਇਹ ਸਹਾਇਕ ਤੋਂ ਆਉਂਦੇ ਹਨ ਜਾਂ ਤੁਹਾਡੇ ਵਜੋਂ ਯੂਜ਼ਰ। ਜੇ ਤੁਸੀਂ ਪ੍ਰੇਰਿਤ ਹੋਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ `solution/frontend/styles.css` ਫੋਲਡਰ ਨੂੰ ਵੇਖੋ। ### ਬੇਸ URL ਬਦਲੋ -ਇੱਥੇ ਇੱਕ ਗੱਲ ਸੀ ਜੋ ਅਸੀਂ ਸੈਟ ਨਹੀਂ ਕੀਤੀ ਸੀ ਅਤੇ ਉਹ ਸੀ `BASE_URL`, ਇਹ ਤੁਹਾਡੇ ਬੈਕਐਂਡ ਦੇ ਸ਼ੁਰੂ ਹੋਣ ਤੱਕ ਪਤਾ ਨਹੀਂ ਹੁੰਦੀ। ਇਸਨੂੰ ਸੈਟ ਕਰਨ ਲਈ: +ਇਥੇ ਇੱਕ ਚੀਜ਼ ਸੀ ਜੋ ਅਸੀਂ ਸੈਟ ਨਹੀਂ ਕੀਤੀ ਸੀ ਅਤੇ ਉਹ ਸੀ `BASE_URL`, ਇਹ ਤੁਹਾਡੇ ਬੈਕਐਂਡ ਸ਼ੁਰੂ ਹੋਣ ਤੱਕ ਪਤਾ ਨਹੀਂ ਹੁੰਦੀ। ਇਸਨੂੰ ਸੈਟ ਕਰਨ ਲਈ: - ਜੇ ਤੁਸੀਂ API ਨੂੰ ਲੋਕਲ ਚਲਾਉਂਦੇ ਹੋ, ਤਾਂ ਇਹ ਕੁਝ ਇਸ ਤਰ੍ਹਾਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ `http://localhost:5000`। -- ਜੇ Codespaces ਵਿੱਚ ਚਲਾਇਆ ਜਾਵੇ, ਤਾਂ ਇਹ ਕੁਝ ਇਸ ਤਰ੍ਹਾਂ ਲੱਗੇਗਾ "[name]app.github.dev"। +- ਜੇ Codespaces ਵਿੱਚ ਚਲਾਇਆ ਜਾਵੇ, ਤਾਂ ਇਹ ਕੁਝ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਈ ਦੇਵੇਗਾ "[name]app.github.dev"। ## ਅਸਾਈਨਮੈਂਟ -ਆਪਣਾ ਇੱਕ ਫੋਲਡਰ *project* ਬਣਾਓ ਜਿਸ ਵਿੱਚ ਇਸ ਤਰ੍ਹਾਂ ਦੀ ਸਮੱਗਰੀ ਹੋਵੇ: +ਆਪਣਾ ਫੋਲਡਰ *project* ਬਣਾਓ ਜਿਸ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੇ ਤਰ੍ਹਾਂ ਸਮੱਗਰੀ ਹੋਵੇ: ```text project/ @@ -346,44 +358,49 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` -ਉਪਰ ਦਿੱਤੇ ਨਿਰਦੇਸ਼ਾਂ ਤੋਂ ਸਮੱਗਰੀ ਕਾਪੀ ਕਰੋ ਪਰ ਆਪਣੀ ਪਸੰਦ ਅਨੁਸਾਰ ਕਸਟਮਾਈਜ਼ ਕਰੋ। +ਉਪਰੋਕਤ ਤੋਂ ਦਿੱਤੇ ਨਿਰਦੇਸ਼ਾਂ ਤੋਂ ਸਮੱਗਰੀ ਕਾਪੀ ਕਰੋ ਪਰ ਆਪਣੀ ਪਸੰਦ ਦੇ ਅਨੁਸਾਰ ਕਸਟਮਾਈਜ਼ ਕਰਨ ਲਈ ਮੁਫ਼ਤ ਮਹਿਸੂਸ ਕਰੋ। ## ਹੱਲ -[ਹੱਲ](./solution/README.md) +[Solution](./solution/README.md) ## ਬੋਨਸ -AI ਅਸਿਸਟੈਂਟ ਦੀ ਪਸੰਸਨਲਿਟੀ ਬਦਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਜਦੋਂ ਤੁਸੀਂ *api.py* ਵਿੱਚ `call_llm` ਨੂੰ ਕਾਲ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਦੂਜੇ ਆਰਗੂਮੈਂਟ ਨੂੰ ਆਪਣੀ ਪਸੰਦ ਅਨੁਸਾਰ ਬਦਲ ਸਕਦੇ ਹੋ, ਉਦਾਹਰਨ ਲਈ: +AI ਅਸਿਸਟੈਂਟ ਦੀ ਪर्सਨਾਲਿਟੀ ਨੂੰ ਬਦਲਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ। + +### ਪਾਇਥਨ ਲਈ + +ਜਦੋਂ ਤੁਸੀਂ *api.py* ਵਿੱਚ `call_llm` ਨੂੰ ਕਾਲ ਕਰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਦੂਜੇ ਆਰਗੂਮੈਂਟ ਨੂੰ ਆਪਣੀ ਪਸੰਦ ਦੇ ਅਨੁਸਾਰ ਬਦਲ ਸਕਦੇ ਹੋ, ਉਦਾਹਰਨ ਲਈ: ```python call_llm(message, "You are Captain Picard") ``` -CSS ਅਤੇ ਟੈਕਸਟ ਨੂੰ ਵੀ ਆਪਣੀ ਪਸੰਦ ਅਨੁਸਾਰ ਬਦਲੋ, ਇਸ ਲਈ *index.html* ਅਤੇ *styles.css* ਵਿੱਚ ਬਦਲਾਅ ਕਰੋ। +### ਫਰੰਟਐਂਡ + +CSS ਅਤੇ ਟੈਕਸਟ ਨੂੰ ਆਪਣੀ ਪਸੰਦ ਦੇ ਅਨੁਸਾਰ ਬਦਲੋ, ਇਸ ਲਈ *index.html* ਅਤੇ *styles.css* ਵਿੱਚ ਬਦਲਾਅ ਕਰੋ। ## ਸਾਰ -ਵਧੀਆ, ਤੁਸੀਂ ਸ਼ੁਰੂ ਤੋਂ ਸਿੱਖ ਲਿਆ ਕਿ AI ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਨਿੱਜੀ ਅਸਿਸਟੈਂਟ ਕਿਵੇਂ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। ਅਸੀਂ ਇਹ ਗਿਟਹੱਬ ਮਾਡਲਜ਼, Python ਵਿੱਚ ਬੈਕਐਂਡ ਅਤੇ HTML, CSS ਅਤੇ ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਿੱਚ ਫਰੰਟਐਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤਾ। +ਵਧੀਆ, ਤੁਸੀਂ ਸ਼ੁਰੂ ਤੋਂ ਸਿੱਖਿਆ ਕਿ AI ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਪर्सਨਲ ਅਸਿਸਟੈਂਟ ਕਿਵੇਂ ਬਣਾਇਆ ਜਾਵੇ। ਅਸੀਂ ਇਹ GitHub ਮਾਡਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਪਾਇਥਨ ਵਿੱਚ ਬੈਕਐਂਡ ਅਤੇ HTML, CSS ਅਤੇ ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਿੱਚ ਫਰੰਟਐਂਡ ਨਾਲ ਕੀਤਾ। -## Codespaces ਨਾਲ ਸੈਟਅੱਪ ਕਰੋ +## Codespaces ਨਾਲ ਸੈਟਅਪ ਕਰੋ - ਜਾਓ: [Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) -- ਇੱਕ ਟੈਂਪਲੇਟ ਤੋਂ ਬਣਾਓ (ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਗਿਟਹੱਬ ਵਿੱਚ ਲੌਗਇਨ ਹੋ): +- ਟੈਮਪਲੇਟ ਤੋਂ ਬਣਾਓ (ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ ਤੁਸੀਂ GitHub ਵਿੱਚ ਲੌਗਇਨ ਹੋ): - ![ਟੈਂਪਲੇਟ ਤੋਂ ਬਣਾਓ](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.pa.png) + ![ਟੈਮਪਲੇਟ ਤੋਂ ਬਣਾਓ](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.pa.png) -- ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਰਿਪੋ ਵਿੱਚ ਹੋ, ਤਾਂ ਇੱਕ ਕੋਡਸਪੇਸ ਬਣਾਓ: +- ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਰਿਪੋ ਵਿੱਚ ਹੋ, ਇੱਕ Codespace ਬਣਾਓ: - ![ਕੋਡਸਪੇਸ ਬਣਾਓ](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.pa.png) + ![Codespace ਬਣਾਓ](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.pa.png) - ਇਹ ਇੱਕ ਐਨਵਾਇਰਨਮੈਂਟ ਸ਼ੁਰੂ ਕਰੇਗਾ ਜਿਸ ਵਿੱਚ ਤੁਸੀਂ ਹੁਣ ਕੰਮ ਕਰ ਸਕਦੇ ਹੋ। + ਇਹ ਇੱਕ ਵਾਤਾਵਰਣ ਸ਼ੁਰੂ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਜਿਸ 'ਤੇ ਤੁਸੀਂ ਹੁਣ ਕੰਮ ਕਰ ਸਕਦੇ ਹੋ। --- -**ਅਸਵੀਕਾਰਨਾ**: -ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਹਾਲਾਂਕਿ ਅਸੀਂ ਸਹੀਅਤ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁੱਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼, ਜੋ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਹੈ, ਨੂੰ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ। \ No newline at end of file +**ਅਸਵੀਕਰਤਾ**: +ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਚਨਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ। \ No newline at end of file diff --git a/translations/pa/9-chat-project/solution/README.md b/translations/pa/9-chat-project/solution/README.md index 3cac890d..b60087a6 100644 --- a/translations/pa/9-chat-project/solution/README.md +++ b/translations/pa/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# ਕੋਡ ਚਲਾਓ +# ਹੱਲ ਚਲਾਓ -## ਸੈਟਅੱਪ - -ਵਰਚੁਅਲ ਐਨਵਾਇਰਨਮੈਂਟ ਬਣਾਓ - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## ਡਿਪੈਂਡੈਂਸੀਜ਼ ਇੰਸਟਾਲ ਕਰੋ - -```sh -pip install openai flask flask-cors -``` - -## API ਚਲਾਓ - -```sh -python api.py -``` - -## ਫਰੰਟਐਂਡ ਚਲਾਓ - -ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ ਫਰੰਟਐਂਡ ਫੋਲਡਰ ਵਿੱਚ ਹੋ - -*app.js* ਨੂੰ ਲੱਭੋ, `BASE_URL` ਨੂੰ ਆਪਣੇ ਬੈਕਐਂਡ URL ਨਾਲ ਬਦਲੋ - -ਇਸਨੂੰ ਚਲਾਓ - -``` -npx http-server -p 8000 -``` - -ਚੈਟ ਵਿੱਚ ਕੋਈ ਸੁਨੇਹਾ ਟਾਈਪ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ, ਤੁਹਾਨੂੰ ਇੱਕ ਜਵਾਬ ਮਿਲਣਾ ਚਾਹੀਦਾ ਹੈ (ਜੇ ਤੁਸੀਂ ਇਸਨੂੰ Codespace ਵਿੱਚ ਚਲਾ ਰਹੇ ਹੋ ਜਾਂ ਇੱਕ ਐਕਸੈਸ ਟੋਕਨ ਸੈਟਅੱਪ ਕੀਤਾ ਹੋਇਆ ਹੈ)। - -## ਐਕਸੈਸ ਟੋਕਨ ਸੈਟਅੱਪ ਕਰੋ (ਜੇਕਰ ਤੁਸੀਂ ਇਸਨੂੰ Codespace ਵਿੱਚ ਨਹੀਂ ਚਲਾਉਂਦੇ) - -[ਪੈਟ ਸੈਟਅੱਪ ਕਰੋ](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) ਨੂੰ ਵੇਖੋ +1. [ਬੈਕਐਂਡ](./backend/README.md) ਸ਼ੁਰੂ ਕਰੋ +1. ਹੁਣ [ਫਰੰਟਐਂਡ](./frontend/README.md) ਸ਼ੁਰੂ ਕਰੋ --- **ਅਸਵੀਕਤੀ**: -ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁੱਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ। \ No newline at end of file +ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀ ਹੋਣ ਦਾ ਯਤਨ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਣੀਕਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼, ਜੋ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਹੈ, ਨੂੰ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ। \ No newline at end of file diff --git a/translations/pa/9-chat-project/solution/backend/README.md b/translations/pa/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..0a448f1b --- /dev/null +++ b/translations/pa/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +ਆਪਣਾ ਰਨਟਾਈਮ ਚੁਣੋ + +- [Python](./python/README.md) + +--- + +**ਅਸਵੀਕਰਤੀ**: +ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀ ਹੋਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁੱਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼, ਜੋ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਹੈ, ਨੂੰ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤ ਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ। \ No newline at end of file diff --git a/translations/pa/9-chat-project/solution/backend/python/README.md b/translations/pa/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..b175efb2 --- /dev/null +++ b/translations/pa/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# ਕੋਡ ਚਲਾਓ + +## ਸੈਟਅੱਪ + +ਵਰਚੁਅਲ ਐਨਵਾਇਰਨਮੈਂਟ ਬਣਾਓ + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Dependencies ਇੰਸਟਾਲ ਕਰੋ + +```sh +pip install openai flask flask-cors +``` + +## API ਚਲਾਓ + +```sh +python api.py +``` + +## ਫਰੰਟਐਂਡ ਚਲਾਓ + +ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ ਫਰੰਟਐਂਡ ਫੋਲਡਰ ਵਿੱਚ ਹੋ + +*app.js* ਲੱਭੋ, `BASE_URL` ਨੂੰ ਆਪਣੇ ਬੈਕਐਂਡ URL ਵਿੱਚ ਬਦਲੋ + +ਇਸਨੂੰ ਚਲਾਓ + +``` +npx http-server -p 8000 +``` + +ਚੈਟ ਵਿੱਚ ਕੋਈ ਸੁਨੇਹਾ ਟਾਈਪ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ, ਤੁਹਾਨੂੰ ਜਵਾਬ ਮਿਲਣਾ ਚਾਹੀਦਾ ਹੈ (ਜੇ ਤੁਸੀਂ ਇਸਨੂੰ Codespace ਵਿੱਚ ਚਲਾ ਰਹੇ ਹੋ ਜਾਂ ਪਹੁੰਚ ਟੋਕਨ ਸੈਟਅੱਪ ਕੀਤਾ ਹੈ)। + +## ਪਹੁੰਚ ਟੋਕਨ ਸੈਟਅੱਪ ਕਰੋ (ਜੇ ਤੁਸੀਂ ਇਸਨੂੰ Codespace ਵਿੱਚ ਨਹੀਂ ਚਲਾ ਰਹੇ) + +[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) ਵੇਖੋ + +--- + +**ਅਸਵੀਕਤੀ**: +ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀ ਹੋਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਚੀਤਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤ ਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ। \ No newline at end of file diff --git a/translations/pa/9-chat-project/solution/frontend/README.md b/translations/pa/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..07933424 --- /dev/null +++ b/translations/pa/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# ਕੋਡ ਚਲਾਓ + +```sh +npx http-server -p 3000 +``` + +`app.js` ਵਿੱਚ `BASE_URL` ਨੂੰ ਲੱਭੋ ਅਤੇ ਇਸਨੂੰ ਬੈਕਐਂਡ ਦੇ URL ਨਾਲ ਮਿਲਾਉਣ ਲਈ ਬਦਲੋ। + +--- + +**ਅਸਵੀਕਾਰਨਾ**: +ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਚੀਤਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ। \ No newline at end of file diff --git a/translations/pl/9-chat-project/README.md b/translations/pl/9-chat-project/README.md index 3d825c5e..c117374f 100644 --- a/translations/pl/9-chat-project/README.md +++ b/translations/pl/9-chat-project/README.md @@ -1,27 +1,27 @@ # Projekt czatu -Ten projekt czatu pokazuje, jak zbudować Asystenta Czatu przy użyciu modeli GitHub. +Ten projekt czatu pokazuje, jak zbudować Asystenta Czatu korzystając z GitHub Models. -Oto jak wygląda ukończony projekt: +Tak wygląda ukończony projekt:
Aplikacja czatu
-Kilka słów wstępu: budowanie asystentów czatu z wykorzystaniem generatywnej AI to świetny sposób na rozpoczęcie nauki o sztucznej inteligencji. W tej lekcji nauczysz się, jak zintegrować generatywną AI z aplikacją webową. Zaczynajmy! +Kilka słów wstępu: budowanie asystentów czatu przy użyciu generatywnej AI to świetny sposób na rozpoczęcie nauki o sztucznej inteligencji. W trakcie tej lekcji nauczysz się, jak zintegrować generatywną AI z aplikacją internetową. Zaczynajmy! ## Połączenie z generatywną AI -Na backendzie używamy modeli GitHub. To świetna usługa, która pozwala korzystać z AI za darmo. Przejdź do jej playground i skopiuj kod odpowiadający wybranemu językowi backendu. Oto jak wygląda [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground): +Na backendzie używamy GitHub Models. To świetna usługa, która pozwala korzystać z AI za darmo. Przejdź do jej playground i pobierz kod odpowiadający wybranemu przez Ciebie językowi backendu. Tak wygląda [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground).
GitHub Models AI Playground @@ -30,10 +30,12 @@ Na backendzie używamy modeli GitHub. To świetna usługa, która pozwala korzys Jak wspomniano, wybierz zakładkę "Code" i swój preferowany runtime.
- Wybór w playground + Wybór playground
-W tym przypadku wybieramy Python, co oznacza, że użyjemy tego kodu: +### Korzystanie z Pythona + +W tym przypadku wybieramy Python, co oznacza, że wybieramy ten kod: ```python """Run this model in Python @@ -70,7 +72,7 @@ response = client.chat.completions.create( print(response.choices[0].message.content) ``` -Oczyśćmy ten kod, aby był bardziej uniwersalny: +Oczyśćmy ten kod, aby był bardziej użyteczny: ```python def call_llm(prompt: str, system_message: str): @@ -94,11 +96,11 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -Dzięki tej funkcji `call_llm` możemy teraz podać prompt i system prompt, a funkcja zwróci wynik. +Dzięki funkcji `call_llm` możemy teraz podać prompt i system prompt, a funkcja zwróci wynik. -### Dostosowanie Asystenta AI +### Personalizacja Asystenta AI -Jeśli chcesz dostosować Asystenta AI, możesz określić, jak ma się zachowywać, wypełniając system prompt w ten sposób: +Jeśli chcesz dostosować zachowanie Asystenta AI, możesz określić, jak ma się zachowywać, wypełniając system prompt w ten sposób: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") @@ -106,7 +108,9 @@ call_llm("Tell me about you", "You're Albert Einstein, you only know of things i ## Udostępnienie przez Web API -Świetnie, mamy już część AI, zobaczmy, jak możemy zintegrować ją z Web API. Do Web API użyjemy Flask, ale każdy framework webowy będzie odpowiedni. Oto kod: +Świetnie, mamy część AI gotową, zobaczmy, jak możemy zintegrować ją z Web API. Dla Web API wybieramy Flask, ale każdy framework webowy powinien być odpowiedni. Oto kod: + +### Korzystanie z Pythona ```python # api.py @@ -137,9 +141,9 @@ if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` -Tutaj tworzymy API Flask i definiujemy domyślną trasę "/" oraz "/chat". Ta druga jest przeznaczona do przesyłania pytań z frontendu. +Tutaj tworzymy API Flask i definiujemy domyślną trasę "/" oraz "/chat". Ta ostatnia jest przeznaczona dla naszego frontend, aby przesyłać pytania. -Aby zintegrować *llm.py*, musimy wykonać następujące kroki: +Aby zintegrować *llm.py*, musimy zrobić następujące kroki: - Zaimportować funkcję `call_llm`: @@ -148,7 +152,7 @@ Aby zintegrować *llm.py*, musimy wykonać następujące kroki: from flask import Flask, request ``` -- Wywołać ją w trasie "/chat": +- Wywołać ją z trasy "/chat": ```python @app.route("/hello", methods=["POST"]) @@ -163,7 +167,7 @@ Aby zintegrować *llm.py*, musimy wykonać następujące kroki: }) ``` - Tutaj analizujemy przychodzące żądanie, aby pobrać właściwość `message` z ciała JSON. Następnie wywołujemy LLM w ten sposób: + Tutaj analizujemy przychodzące żądanie, aby pobrać właściwość `message` z ciała JSON. Następnie wywołujemy LLM za pomocą tego wywołania: ```python response = call_llm(message, "You are a helpful assistant") @@ -174,11 +178,15 @@ Aby zintegrować *llm.py*, musimy wykonać następujące kroki: }) ``` -Świetnie, mamy to, czego potrzebujemy. +Świetnie, teraz mamy to, czego potrzebujemy. + +## Konfiguracja Cors -### Konfiguracja Cors +Warto wspomnieć, że ustawiamy coś takiego jak CORS, czyli cross-origin resource sharing. Oznacza to, że ponieważ nasz backend i frontend będą działać na różnych portach, musimy pozwolić frontendowi na wywoływanie backendu. -Warto wspomnieć, że ustawiliśmy coś takiego jak CORS, czyli współdzielenie zasobów między różnymi domenami. Oznacza to, że ponieważ nasz backend i frontend będą działać na różnych portach, musimy pozwolić frontendowi na wywoływanie backendu. W pliku *api.py* znajduje się fragment kodu, który to ustawia: +### Korzystanie z Pythona + +W pliku *api.py* znajduje się kod, który to ustawia: ```python from flask_cors import CORS @@ -187,11 +195,15 @@ app = Flask(__name__) CORS(app) # * example.com ``` -Obecnie jest ustawione na "*" (wszystkie domeny), co jest nieco niebezpieczne. Powinniśmy to ograniczyć, gdy przejdziemy do produkcji. +Obecnie jest ustawiony na "*" (wszystkie źródła), co jest trochę niebezpieczne. Powinniśmy to ograniczyć, gdy przejdziemy do produkcji. ## Uruchomienie projektu -Ok, mamy *llm.py* i *api.py*. Jak to uruchomić z backendem? Są dwa kroki: +Aby uruchomić projekt, najpierw musisz uruchomić backend, a potem frontend. + +### Korzystanie z Pythona + +Ok, mamy *llm.py* i *api.py*. Jak sprawić, żeby działały z backendem? Są dwa kroki: - Zainstaluj zależności: @@ -209,7 +221,7 @@ Ok, mamy *llm.py* i *api.py*. Jak to uruchomić z backendem? Są dwa kroki: python api.py ``` - Jeśli korzystasz z Codespaces, przejdź do sekcji Ports w dolnej części edytora, kliknij prawym przyciskiem myszy i wybierz "Port Visibility", a następnie "Public". + Jeśli korzystasz z Codespaces, musisz przejść do sekcji Ports w dolnej części edytora, kliknąć prawym przyciskiem myszy i wybrać "Port Visibility", a następnie "Public". ### Praca nad frontendem @@ -241,7 +253,7 @@ Zacznijmy od **index.html**: ``` -Powyższy kod to absolutne minimum potrzebne do obsługi okna czatu. Składa się z pola tekstowego, w którym będą wyświetlane wiadomości, pola wejściowego do wpisywania wiadomości oraz przycisku do wysyłania wiadomości do backendu. Teraz spójrzmy na JavaScript w pliku *app.js*. +Powyższy kod to absolutne minimum potrzebne do obsługi okna czatu. Składa się z pola tekstowego, w którym będą wyświetlane wiadomości, pola wejściowego do wpisywania wiadomości oraz przycisku do wysyłania wiadomości do backendu. Teraz przejdźmy do JavaScript w pliku *app.js*. **app.js** @@ -300,7 +312,7 @@ Powyższy kod to absolutne minimum potrzebne do obsługi okna czatu. Składa si Omówmy kod sekcja po sekcji: -- 1) Tutaj uzyskujemy referencje do wszystkich elementów, których będziemy używać w kodzie. +- 1) Tutaj uzyskujemy referencje do wszystkich elementów, które będziemy później używać w kodzie. - 2) W tej sekcji tworzymy funkcję, która korzysta z wbudowanej metody `fetch` do wywoływania naszego backendu. - 3) `appendMessage` pomaga dodawać odpowiedzi oraz wiadomości wpisane przez użytkownika. - 4) Tutaj nasłuchujemy zdarzenia submit, odczytujemy pole wejściowe, umieszczamy wiadomość użytkownika w polu tekstowym, wywołujemy API i renderujemy odpowiedź w polu tekstowym. @@ -326,18 +338,18 @@ Teraz przejdźmy do stylizacji. Możesz tutaj zaszaleć i dostosować wygląd we } ``` -Dzięki tym trzem klasom możesz stylizować wiadomości w zależności od tego, czy pochodzą od asystenta, czy od użytkownika. Jeśli potrzebujesz inspiracji, zajrzyj do folderu `solution/frontend/styles.css`. +Dzięki tym trzem klasom możesz stylizować wiadomości w zależności od ich pochodzenia – od asystenta lub od użytkownika. Jeśli potrzebujesz inspiracji, zajrzyj do folderu `solution/frontend/styles.css`. ### Zmiana Base Url -Jest jedna rzecz, której jeszcze nie ustawiliśmy, a mianowicie `BASE_URL`. Nie jest ona znana, dopóki backend nie zostanie uruchomiony. Aby ją ustawić: +Jest jedna rzecz, której tutaj nie ustawiliśmy, a mianowicie `BASE_URL`. Nie jest ona znana, dopóki backend nie zostanie uruchomiony. Aby ją ustawić: -- Jeśli uruchamiasz API lokalnie, powinna być ustawiona na coś w rodzaju `http://localhost:5000`. -- Jeśli uruchamiasz w Codespaces, powinna wyglądać mniej więcej tak: "[name]app.github.dev". +- Jeśli uruchamiasz API lokalnie, powinno być ustawione na coś w rodzaju `http://localhost:5000`. +- Jeśli uruchamiasz w Codespaces, powinno wyglądać jak "[name]app.github.dev". ## Zadanie -Utwórz własny folder *project* z zawartością jak poniżej: +Stwórz własny folder *project* z zawartością jak poniżej: ```text project/ @@ -346,44 +358,49 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` -Skopiuj zawartość z powyższych instrukcji, ale dostosuj ją według własnych upodobań. +Skopiuj zawartość zgodnie z instrukcjami powyżej, ale możesz dostosować ją według własnych upodobań. ## Rozwiązanie -[Solution](./solution/README.md) +[Rozwiązanie](./solution/README.md) ## Bonus -Spróbuj zmienić osobowość Asystenta AI. Gdy wywołujesz `call_llm` w *api.py*, możesz zmienić drugi argument na dowolny, na przykład: +Spróbuj zmienić osobowość Asystenta AI. + +### Dla Pythona + +Podczas wywoływania `call_llm` w *api.py* możesz zmienić drugi argument na dowolny, na przykład: ```python call_llm(message, "You are Captain Picard") ``` -Zmień także CSS i tekst według własnych upodobań, wprowadzając zmiany w *index.html* i *styles.css*. +### Frontend + +Zmień również CSS i tekst według własnych upodobań, dokonując zmian w *index.html* i *styles.css*. ## Podsumowanie -Świetnie, nauczyłeś się od podstaw, jak stworzyć osobistego asystenta z wykorzystaniem AI. Zrobiliśmy to, korzystając z modeli GitHub, backendu w Pythonie oraz frontendu w HTML, CSS i JavaScript. +Świetnie, nauczyłeś się od podstaw, jak stworzyć osobistego asystenta korzystając z AI. Zrobiliśmy to używając GitHub Models, backendu w Pythonie oraz frontendu w HTML, CSS i JavaScript. -## Konfiguracja w Codespaces +## Konfiguracja z Codespaces - Przejdź do: [Repozytorium Web Dev For Beginners](https://github.com/microsoft/Web-Dev-For-Beginners) -- Utwórz repozytorium z szablonu (upewnij się, że jesteś zalogowany na GitHub) w prawym górnym rogu: +- Utwórz z szablonu (upewnij się, że jesteś zalogowany na GitHub) w prawym górnym rogu: ![Utwórz z szablonu](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.pl.png) -- Po wejściu do swojego repozytorium utwórz Codespace: +- Po przejściu do swojego repozytorium, utwórz Codespace: - ![Utwórz codespace](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.pl.png) + ![Utwórz Codespace](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.pl.png) - To powinno uruchomić środowisko, w którym możesz teraz pracować. + Powinno to uruchomić środowisko, w którym możesz teraz pracować. --- **Zastrzeżenie**: -Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za źródło autorytatywne. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia. \ No newline at end of file +Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego języku źródłowym powinien być uznawany za autorytatywne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia. \ No newline at end of file diff --git a/translations/pl/9-chat-project/solution/README.md b/translations/pl/9-chat-project/solution/README.md index dfd28b2f..6a2c27a9 100644 --- a/translations/pl/9-chat-project/solution/README.md +++ b/translations/pl/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# Uruchom kod +# Uruchom rozwiązanie -## Konfiguracja - -Utwórz wirtualne środowisko - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Zainstaluj zależności - -```sh -pip install openai flask flask-cors -``` - -## Uruchom API - -```sh -python api.py -``` - -## Uruchom frontend - -Upewnij się, że znajdujesz się w folderze frontend - -Znajdź *app.js*, zmień `BASE_URL` na URL swojego backendu - -Uruchom - -``` -npx http-server -p 8000 -``` - -Spróbuj wpisać wiadomość w czacie, powinieneś zobaczyć odpowiedź (zakładając, że uruchamiasz to w Codespace lub skonfigurowałeś token dostępu). - -## Skonfiguruj token dostępu (jeśli nie uruchamiasz tego w Codespace) - -Zobacz [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Uruchom [backend](./backend/README.md) +1. Następnie uruchom [frontend](./frontend/README.md) --- **Zastrzeżenie**: -Ten dokument został przetłumaczony za pomocą usługi tłumaczeniowej AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy wszelkich starań, aby zapewnić dokładność, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za autorytatywne źródło. W przypadku informacji krytycznych zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia. \ No newline at end of file +Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia. \ No newline at end of file diff --git a/translations/pl/9-chat-project/solution/backend/README.md b/translations/pl/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..29f8b73c --- /dev/null +++ b/translations/pl/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Wybierz środowisko uruchomieniowe + +- [Python](./python/README.md) + +--- + +**Zastrzeżenie**: +Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za źródło autorytatywne. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia. \ No newline at end of file diff --git a/translations/pl/9-chat-project/solution/backend/python/README.md b/translations/pl/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..94d5a5b7 --- /dev/null +++ b/translations/pl/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Uruchom kod + +## Konfiguracja + +Utwórz wirtualne środowisko + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Zainstaluj zależności + +```sh +pip install openai flask flask-cors +``` + +## Uruchom API + +```sh +python api.py +``` + +## Uruchom frontend + +Upewnij się, że znajdujesz się w folderze frontend + +Znajdź *app.js*, zmień `BASE_URL` na URL swojego backendu + +Uruchom + +``` +npx http-server -p 8000 +``` + +Spróbuj wpisać wiadomość w czacie, powinieneś zobaczyć odpowiedź (zakładając, że uruchamiasz to w Codespace lub skonfigurowałeś token dostępu). + +## Skonfiguruj token dostępu (jeśli nie uruchamiasz tego w Codespace) + +Zobacz [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Zastrzeżenie**: +Ten dokument został przetłumaczony za pomocą usługi tłumaczeniowej AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia. \ No newline at end of file diff --git a/translations/pl/9-chat-project/solution/frontend/README.md b/translations/pl/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..4a953374 --- /dev/null +++ b/translations/pl/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Uruchom kod + +```sh +npx http-server -p 3000 +``` + +Znajdź `BASE_URL` w pliku `app.js` i zmień go tak, aby odpowiadał adresowi URL backendu. + +--- + +**Zastrzeżenie**: +Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za źródło autorytatywne. W przypadku informacji krytycznych zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia. \ No newline at end of file diff --git a/translations/pt/9-chat-project/README.md b/translations/pt/9-chat-project/README.md index 1c158d46..7495ca5f 100644 --- a/translations/pt/9-chat-project/README.md +++ b/translations/pt/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Executar o código +# Executar solução -## Configuração - -Criar um ambiente virtual - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Instalar dependências - -```sh -pip install openai flask flask-cors -``` - -## Executar a API - -```sh -python api.py -``` - -## Executar o frontend - -Certifique-se de estar na pasta do frontend. - -Localize o ficheiro *app.js* e altere `BASE_URL` para o URL do seu backend. - -Execute-o - -``` -npx http-server -p 8000 -``` - -Experimente escrever uma mensagem no chat; deverá ver uma resposta (desde que esteja a executar isto num Codespace ou tenha configurado um token de acesso). - -## Configurar o token de acesso (caso não esteja a executar isto num Codespace) - -Consulte [Configurar PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Inicie o [backend](./backend/README.md) +1. Agora inicie o [frontend](./frontend/README.md) --- **Aviso Legal**: -Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos pela precisão, é importante notar que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes da utilização desta tradução. \ No newline at end of file +Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, é importante notar que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução. \ No newline at end of file diff --git a/translations/pt/9-chat-project/solution/backend/README.md b/translations/pt/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..d697575d --- /dev/null +++ b/translations/pt/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Escolha o seu ambiente de execução + +- [Python](./python/README.md) + +--- + +**Aviso Legal**: +Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, é importante notar que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se uma tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes da utilização desta tradução. \ No newline at end of file diff --git a/translations/pt/9-chat-project/solution/backend/python/README.md b/translations/pt/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..632cd190 --- /dev/null +++ b/translations/pt/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Executar o código + +## Configuração + +Criar um ambiente virtual + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Instalar dependências + +```sh +pip install openai flask flask-cors +``` + +## Executar a API + +```sh +python api.py +``` + +## Executar o frontend + +Certifique-se de que está na pasta do frontend. + +Localize o ficheiro *app.js* e altere `BASE_URL` para o URL do seu backend. + +Execute-o + +``` +npx http-server -p 8000 +``` + +Experimente escrever uma mensagem no chat, deverá ver uma resposta (desde que esteja a executar isto num Codespace ou tenha configurado um token de acesso). + +## Configurar o token de acesso (caso não esteja a executar isto num Codespace) + +Consulte [Configurar PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Aviso Legal**: +Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, é importante ter em conta que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes da utilização desta tradução. \ No newline at end of file diff --git a/translations/pt/9-chat-project/solution/frontend/README.md b/translations/pt/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..81d02121 --- /dev/null +++ b/translations/pt/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Executar o código + +```sh +npx http-server -p 3000 +``` + +Localize o `BASE_URL` em `app.js` e altere-o para corresponder ao URL do backend. + +--- + +**Aviso Legal**: +Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, é importante notar que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes da utilização desta tradução. \ No newline at end of file diff --git a/translations/ro/9-chat-project/README.md b/translations/ro/9-chat-project/README.md index dbbacde3..ee362d42 100644 --- a/translations/ro/9-chat-project/README.md +++ b/translations/ro/9-chat-project/README.md @@ -1,38 +1,40 @@ -# Proiect de Chat +# Proiect Chat -Acest proiect de chat arată cum să construiești un Asistent de Chat folosind Modelele GitHub. +Acest proiect de chat arată cum să construiești un Asistent Chat folosind Modelele GitHub. Iată cum arată proiectul finalizat:
- Aplicație de chat + Aplicație Chat
-Un pic de context: construirea asistenților de chat folosind AI generativ este o modalitate excelentă de a începe să înveți despre AI. Vei învăța cum să integrezi AI generativ într-o aplicație web pe parcursul acestei lecții. Să începem. +Un pic de context: construirea asistenților de chat folosind AI generativ este o modalitate excelentă de a începe să înveți despre AI. Ce vei învăța este cum să integrezi AI generativ într-o aplicație web pe parcursul acestei lecții. Să începem. ## Conectarea la AI generativ -Pentru backend, folosim Modelele GitHub. Este un serviciu excelent care îți permite să utilizezi AI gratuit. Accesează playground-ul său și preia codul corespunzător limbajului de backend ales. Iată cum arată la [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) +Pentru backend, folosim Modelele GitHub. Este un serviciu excelent care îți permite să folosești AI gratuit. Accesează playground-ul său și obține codul corespunzător limbajului backend ales. Iată cum arată la [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground)
GitHub Models AI Playground
-Așa cum am menționat, selectează fila "Code" și runtime-ul ales. +Așa cum am spus, selectează fila "Code" și runtime-ul ales.
- alegerea playground-ului + alegere playground
+### Utilizarea Python + În acest caz, selectăm Python, ceea ce înseamnă că alegem acest cod: ```python @@ -98,7 +100,7 @@ Cu această funcție `call_llm`, putem acum să luăm un prompt și un prompt de ### Personalizarea Asistentului AI -Dacă dorești să personalizezi asistentul AI, poți specifica cum vrei să se comporte, completând promptul de sistem astfel: +Dacă dorești să personalizezi asistentul AI, poți specifica cum vrei să se comporte prin completarea promptului de sistem astfel: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") @@ -106,7 +108,9 @@ call_llm("Tell me about you", "You're Albert Einstein, you only know of things i ## Expunerea printr-un Web API -Grozav, am terminat partea de AI, să vedem cum putem integra aceasta într-un Web API. Pentru Web API, alegem să folosim Flask, dar orice framework web ar trebui să fie bun. Iată codul pentru aceasta: +Excelent, am terminat partea AI, să vedem cum putem integra aceasta într-un Web API. Pentru Web API, alegem să folosim Flask, dar orice framework web ar trebui să fie bun. Să vedem codul pentru aceasta: + +### Utilizarea Python ```python # api.py @@ -137,7 +141,7 @@ if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` -Aici, creăm un API Flask și definim o rută implicită "/" și "/chat". Cea din urmă este destinată utilizării de către frontend pentru a trimite întrebări. +Aici, creăm un API Flask și definim o rută implicită "/" și "/chat". Ultima este destinată să fie utilizată de frontend-ul nostru pentru a transmite întrebări. Pentru a integra *llm.py*, iată ce trebuie să facem: @@ -148,7 +152,7 @@ Pentru a integra *llm.py*, iată ce trebuie să facem: from flask import Flask, request ``` -- Apeleaz-o din ruta "/chat": +- Apelează funcția din ruta "/chat": ```python @app.route("/hello", methods=["POST"]) @@ -174,11 +178,15 @@ Pentru a integra *llm.py*, iată ce trebuie să facem: }) ``` -Grozav, acum am făcut ce era necesar. +Excelent, acum am făcut ce era necesar. + +## Configurarea Cors -### Configurarea Cors +Trebuie să menționăm că am configurat ceva numit CORS, partajarea resurselor între origini. Acest lucru înseamnă că, deoarece backend-ul și frontend-ul nostru vor rula pe porturi diferite, trebuie să permitem frontend-ului să apeleze backend-ul. -Trebuie să menționăm că am configurat ceva numit CORS, partajarea resurselor între origini diferite. Asta înseamnă că, deoarece backend-ul și frontend-ul nostru vor rula pe porturi diferite, trebuie să permitem frontend-ului să apeleze backend-ul. Există un fragment de cod în *api.py* care configurează acest lucru: +### Utilizarea Python + +Există un fragment de cod în *api.py* care configurează acest lucru: ```python from flask_cors import CORS @@ -187,10 +195,14 @@ app = Flask(__name__) CORS(app) # * example.com ``` -În prezent, este configurat să permită "*" (toate originile), ceea ce este puțin nesigur. Ar trebui să restricționăm acest lucru odată ce trecem la producție. +În prezent, este configurat să permită "*" adică toate originile, ceea ce este puțin nesigur. Ar trebui să restricționăm acest lucru odată ce trecem la producție. ## Rulează proiectul +Pentru a rula proiectul, trebuie să pornești mai întâi backend-ul și apoi frontend-ul. + +### Utilizarea Python + Ok, avem *llm.py* și *api.py*, cum putem face să funcționeze cu un backend? Ei bine, sunt două lucruri pe care trebuie să le facem: - Instalează dependențele: @@ -203,13 +215,13 @@ Ok, avem *llm.py* și *api.py*, cum putem face să funcționeze cu un backend? E pip install openai flask flask-cors openai ``` -- Pornește API-ul: +- Pornește API-ul ```sh python api.py ``` - Dacă ești în Codespaces, trebuie să mergi la Ports în partea de jos a editorului, să dai clic dreapta pe el, să selectezi "Port Visibility" și să alegi "Public". + Dacă ești în Codespaces, trebuie să mergi la Ports în partea de jos a editorului, să dai clic dreapta pe el și să selectezi "Port Visibility" și să alegi "Public". ### Lucrează la un frontend @@ -241,7 +253,7 @@ Să începem cu **index.html**: ``` -Acesta este minimul absolut necesar pentru a susține o fereastră de chat, deoarece constă dintr-o zonă de text unde vor fi afișate mesajele, un câmp de introducere pentru a scrie mesajul și un buton pentru a trimite mesajul către backend. Să analizăm următorul cod JavaScript din *app.js*. +Acesta este minimul absolut necesar pentru a susține o fereastră de chat, deoarece constă dintr-un textarea unde mesajele vor fi afișate, un input pentru a scrie mesajul și un buton pentru a trimite mesajul către backend. Să vedem următorul cod JavaScript în *app.js* **app.js** @@ -300,12 +312,12 @@ Acesta este minimul absolut necesar pentru a susține o fereastră de chat, deoa Să parcurgem codul pe secțiuni: -- 1) Aici obținem o referință la toate elementele noastre pe care le vom folosi mai târziu în cod. +- 1) Aici obținem o referință la toate elementele pe care le vom folosi mai târziu în cod. - 2) În această secțiune, creăm o funcție care folosește metoda încorporată `fetch` pentru a apela backend-ul nostru. - 3) `appendMessage` ajută la adăugarea răspunsurilor, precum și a ceea ce tastezi ca utilizator. -- 4) Aici ascultăm evenimentul de submit și citim câmpul de introducere, plasăm mesajul utilizatorului în zona de text, apelăm API-ul și afișăm răspunsul în zona de text. +- 4) Aici ascultăm evenimentul de submit și citim câmpul de input, plasăm mesajul utilizatorului în textarea, apelăm API-ul și afișăm răspunsul în textarea. -Să analizăm acum stilizarea. Aici poți fi foarte creativ și să faci să arate cum dorești, dar iată câteva sugestii: +Să vedem stilizarea, unde poți fi creativ și să faci să arate cum dorești, dar iată câteva sugestii: **styles.css** @@ -326,18 +338,18 @@ Să analizăm acum stilizarea. Aici poți fi foarte creativ și să faci să ara } ``` -Cu aceste trei clase, vei stiliza mesajele diferit, în funcție de unde provin: de la asistent sau de la tine ca utilizator. Dacă vrei să te inspiri, verifică folderul `solution/frontend/styles.css`. +Cu aceste trei clase, vei stiliza mesajele diferit, în funcție de sursa lor: asistent sau utilizator. Dacă vrei să te inspiri, verifică folderul `solution/frontend/styles.css`. ### Schimbă URL-ul de bază -A fost un lucru pe care nu l-am setat aici și acesta este `BASE_URL`. Acesta nu este cunoscut până când backend-ul tău este pornit. Pentru a-l seta: +Există un lucru pe care nu l-am setat aici și acesta este `BASE_URL`, care nu este cunoscut până când backend-ul tău este pornit. Pentru a-l seta: - Dacă rulezi API-ul local, ar trebui să fie ceva de genul `http://localhost:5000`. - Dacă rulezi în Codespaces, ar trebui să arate ceva de genul "[name]app.github.dev". -## Sarcină +## Temă -Creează propriul tău folder *project* cu conținutul astfel: +Creează propriul folder *project* cu conținutul astfel: ```text project/ @@ -346,11 +358,10 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` -Copiază conținutul din ceea ce a fost instruit mai sus, dar simte-te liber să personalizezi după bunul plac. +Copiază conținutul din ceea ce a fost instruit mai sus, dar simte-te liber să personalizezi după preferințe. ## Soluție @@ -358,32 +369,38 @@ Copiază conținutul din ceea ce a fost instruit mai sus, dar simte-te liber să ## Bonus -Încearcă să schimbi personalitatea asistentului AI. Când apelezi `call_llm` în *api.py*, poți schimba al doilea argument la ceea ce dorești, de exemplu: +Încearcă să schimbi personalitatea asistentului AI. + +### Pentru Python + +Când apelezi `call_llm` în *api.py*, poți schimba al doilea argument cu ceea ce dorești, de exemplu: ```python call_llm(message, "You are Captain Picard") ``` -Schimbă, de asemenea, CSS-ul și textul după bunul plac, făcând modificări în *index.html* și *styles.css*. +### Frontend + +Schimbă și CSS-ul și textul după preferințe, fă modificări în *index.html* și *styles.css*. ## Rezumat -Grozav, ai învățat de la zero cum să creezi un asistent personal folosind AI. Am făcut acest lucru folosind Modelele GitHub, un backend în Python și un frontend în HTML, CSS și JavaScript. +Excelent, ai învățat de la zero cum să creezi un asistent personal folosind AI. Am făcut acest lucru folosind Modelele GitHub, un backend în Python și un frontend în HTML, CSS și JavaScript. ## Configurare cu Codespaces - Navighează la: [Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) -- Creează dintr-un șablon (asigură-te că ești conectat la GitHub) în colțul din dreapta sus: +- Creează dintr-un template (asigură-te că ești autentificat în GitHub) în colțul din dreapta sus: - ![Creează din șablon](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.ro.png) + ![Creează din template](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.ro.png) - Odată ajuns în repo-ul tău, creează un Codespace: ![Creează codespace](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.ro.png) - Acest lucru ar trebui să pornească un mediu cu care poți lucra acum. + Acesta ar trebui să pornească un mediu cu care poți lucra acum. --- -**Declinarea responsabilității**: -Acest document a fost tradus utilizând serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși depunem eforturi pentru a asigura acuratețea, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm răspunderea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri. \ No newline at end of file +**Declinare de responsabilitate**: +Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim să asigurăm acuratețea, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa natală ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri. \ No newline at end of file diff --git a/translations/ro/9-chat-project/solution/README.md b/translations/ro/9-chat-project/solution/README.md index 0aba4c36..6d95c2a7 100644 --- a/translations/ro/9-chat-project/solution/README.md +++ b/translations/ro/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# Rularea codului +# Rulează soluția -## Configurare - -Creează un mediu virtual - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Instalează dependențele - -```sh -pip install openai flask flask-cors -``` - -## Rulează API-ul - -```sh -python api.py -``` - -## Rulează interfața - -Asigură-te că te afli în folderul frontend - -Găsește *app.js*, schimbă `BASE_URL` cu URL-ul backend-ului tău - -Rulează-l - -``` -npx http-server -p 8000 -``` - -Încearcă să tastezi un mesaj în chat, ar trebui să vezi un răspuns (presupunând că rulezi acest lucru într-un Codespace sau ai configurat un token de acces). - -## Configurează token-ul de acces (dacă nu rulezi acest lucru într-un Codespace) - -Vezi [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Pornește [backend-ul](./backend/README.md) +1. Acum pornește [frontend-ul](./frontend/README.md) --- -**Declinarea responsabilității**: -Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși depunem eforturi pentru a asigura acuratețea, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm răspunderea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri. \ No newline at end of file +**Declinare de responsabilitate**: +Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim să asigurăm acuratețea, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa natală ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri. \ No newline at end of file diff --git a/translations/ro/9-chat-project/solution/backend/README.md b/translations/ro/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..c009b9fb --- /dev/null +++ b/translations/ro/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Alegeți mediul de execuție + +- [Python](./python/README.md) + +--- + +**Declinare de responsabilitate**: +Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim să asigurăm acuratețea, vă rugăm să fiți conștienți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa natală ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri. \ No newline at end of file diff --git a/translations/ro/9-chat-project/solution/backend/python/README.md b/translations/ro/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..ea506bc8 --- /dev/null +++ b/translations/ro/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Rulează codul + +## Configurare + +Creează un mediu virtual + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Instalează dependențele + +```sh +pip install openai flask flask-cors +``` + +## Rulează API-ul + +```sh +python api.py +``` + +## Rulează interfața frontend + +Asigură-te că te afli în folderul frontend + +Găsește *app.js*, schimbă `BASE_URL` cu URL-ul backend-ului tău + +Rulează-l + +``` +npx http-server -p 8000 +``` + +Încearcă să tastezi un mesaj în chat, ar trebui să vezi un răspuns (presupunând că rulezi acest lucru într-un Codespace sau ai configurat un token de acces). + +## Configurează token-ul de acces (dacă nu rulezi acest lucru într-un Codespace) + +Vezi [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Declinare de responsabilitate**: +Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim să asigurăm acuratețea, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa natală ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri. \ No newline at end of file diff --git a/translations/ro/9-chat-project/solution/frontend/README.md b/translations/ro/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..c315e3b5 --- /dev/null +++ b/translations/ro/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Rulează codul + +```sh +npx http-server -p 3000 +``` + +Găsește `BASE_URL` în `app.js` și modifică-l astfel încât să corespundă URL-ului backend-ului. + +--- + +**Declinare de responsabilitate**: +Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim să asigurăm acuratețea, vă rugăm să fiți conștienți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa natală ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri. \ No newline at end of file diff --git a/translations/ru/9-chat-project/README.md b/translations/ru/9-chat-project/README.md index cca84d2d..bf3bc8b0 100644 --- a/translations/ru/9-chat-project/README.md +++ b/translations/ru/9-chat-project/README.md @@ -1,38 +1,40 @@ -# Проект Чат +# Проект чата -Этот проект демонстрирует, как создать Чат-ассистента с использованием GitHub Models. +Этот проект чата демонстрирует, как создать чат-ассистента, используя GitHub Models. -Вот как будет выглядеть готовый проект: +Вот как выглядит готовый проект:
- Чат-приложение + Приложение чата
Немного контекста: создание чат-ассистентов с использованием генеративного ИИ — отличный способ начать изучение ИИ. В этом уроке вы научитесь интегрировать генеративный ИИ в веб-приложение. Давайте начнем. ## Подключение к генеративному ИИ -Для бэкенда мы используем GitHub Models. Это отличный сервис, который позволяет использовать ИИ бесплатно. Перейдите в его playground и возьмите код, соответствующий вашему выбранному языку программирования для бэкенда. Вот как это выглядит: [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) +Для бэкенда мы используем GitHub Models. Это отличный сервис, который позволяет использовать ИИ бесплатно. Перейдите в его playground и возьмите код, соответствующий выбранному вами языку бэкенда. Вот как это выглядит: [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground)
GitHub Models AI Playground
-Как мы уже сказали, выберите вкладку "Code" и ваш предпочитаемый runtime. +Как мы уже сказали, выберите вкладку "Code" и ваш runtime.
- Выбор в playground + Выбор playground
+### Использование Python + В данном случае мы выбираем Python, что означает, что мы берем следующий код: ```python @@ -94,11 +96,11 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -С помощью этой функции `call_llm` мы можем передать подсказку (prompt) и системную подсказку, а функция вернет результат. +С помощью этой функции `call_llm` мы можем передать подсказку и системную подсказку, а функция вернет результат. -### Настройка ИИ-ассистента +### Настройка чат-ассистента -Если вы хотите настроить ИИ-ассистента, вы можете указать, как он должен себя вести, заполнив системную подсказку следующим образом: +Если вы хотите настроить чат-ассистента, вы можете указать, как он должен себя вести, заполнив системную подсказку следующим образом: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") @@ -106,7 +108,9 @@ call_llm("Tell me about you", "You're Albert Einstein, you only know of things i ## Экспонирование через Web API -Отлично, мы завершили часть с ИИ, давайте посмотрим, как интегрировать это в Web API. Для Web API мы выбрали Flask, но подойдет любой веб-фреймворк. Вот код: +Отлично, мы завершили часть с ИИ, теперь посмотрим, как интегрировать это в Web API. Для Web API мы выбрали Flask, но подойдет любой веб-фреймворк. Вот код: + +### Использование Python ```python # api.py @@ -139,7 +143,7 @@ if __name__ == "__main__": Здесь мы создаем API на Flask и определяем маршруты "/" и "/chat". Последний предназначен для использования нашим фронтендом для передачи вопросов. -Чтобы интегрировать *llm.py*, нужно сделать следующее: +Чтобы интегрировать *llm.py*, нам нужно сделать следующее: - Импортировать функцию `call_llm`: @@ -163,7 +167,7 @@ if __name__ == "__main__": }) ``` - Здесь мы разбираем входящий запрос, чтобы получить свойство `message` из тела JSON. Затем мы вызываем LLM с помощью следующего вызова: + Здесь мы анализируем входящий запрос, чтобы извлечь свойство `message` из JSON-тела. Затем мы вызываем LLM следующим образом: ```python response = call_llm(message, "You are a helpful assistant") @@ -174,11 +178,15 @@ if __name__ == "__main__": }) ``` -Отлично, теперь у нас все готово. +Отлично, теперь мы сделали все необходимое. + +## Настройка Cors -### Настройка Cors +Стоит отметить, что мы настроили CORS (совместное использование ресурсов между источниками). Это означает, что поскольку наш бэкенд и фронтенд будут работать на разных портах, нам нужно разрешить фронтенду обращаться к бэкенду. -Стоит отметить, что мы настроили CORS (Cross-Origin Resource Sharing). Это необходимо, так как наш бэкенд и фронтенд будут работать на разных портах, и нужно разрешить фронтенду обращаться к бэкенду. В файле *api.py* есть код, который это настраивает: +### Использование Python + +В *api.py* есть кусок кода, который это настраивает: ```python from flask_cors import CORS @@ -187,11 +195,15 @@ app = Flask(__name__) CORS(app) # * example.com ``` -Сейчас он настроен на разрешение всех источников ("*"), что небезопасно. Это следует ограничить перед переходом в продакшн. +Сейчас он настроен на разрешение "*" (все источники), что небезопасно. Мы должны ограничить это перед переходом в продакшн. ## Запуск проекта -Итак, у нас есть *llm.py* и *api.py*. Как это запустить с бэкендом? Нужно сделать две вещи: +Чтобы запустить проект, сначала нужно запустить бэкенд, а затем фронтенд. + +### Использование Python + +Итак, у нас есть *llm.py* и *api.py*. Как заставить это работать с бэкендом? Нужно сделать два шага: - Установить зависимости: @@ -209,11 +221,11 @@ CORS(app) # * example.com python api.py ``` - Если вы используете Codespaces, перейдите в раздел Ports в нижней части редактора, щелкните правой кнопкой мыши и выберите "Port Visibility", затем выберите "Public". + Если вы используете Codespaces, вам нужно перейти в раздел Ports в нижней части редактора, щелкнуть правой кнопкой мыши и выбрать "Port Visibility", затем выбрать "Public". ### Работа над фронтендом -Теперь, когда у нас есть работающий API, давайте создадим фронтенд. Начнем с минимального варианта, который будем улучшать поэтапно. В папке *frontend* создайте следующее: +Теперь, когда у нас есть работающий API, давайте создадим фронтенд. Минимальный фронтенд, который мы будем улучшать шаг за шагом. В папке *frontend* создайте следующее: ```text backend/ @@ -241,7 +253,7 @@ styles.css ``` -Этот код — абсолютный минимум, необходимый для поддержки окна чата. Он включает текстовую область для отображения сообщений, поле ввода для ввода сообщения и кнопку для отправки сообщения на бэкенд. Теперь посмотрим на JavaScript в *app.js*. +Этот код — абсолютный минимум, необходимый для поддержки окна чата. Он состоит из текстовой области, где будут отображаться сообщения, поля ввода для ввода сообщения и кнопки для отправки сообщения на бэкенд. Теперь посмотрим на JavaScript в *app.js*. **app.js** @@ -298,14 +310,14 @@ styles.css })(); ``` -Разберем код по секциям: +Разберем код по разделам: - 1) Здесь мы получаем ссылки на все элементы, которые будем использовать в коде. - 2) В этом разделе мы создаем функцию, которая использует встроенный метод `fetch` для вызова нашего бэкенда. -- 3) `appendMessage` помогает добавлять ответы, а также то, что вы вводите как пользователь. -- 4) Здесь мы слушаем событие отправки, читаем поле ввода, добавляем сообщение пользователя в текстовую область, вызываем API и отображаем ответ в текстовой области. +- 3) `appendMessage` помогает добавлять ответы, а также то, что вводит пользователь. +- 4) Здесь мы слушаем событие submit, читаем поле ввода, помещаем сообщение пользователя в текстовую область, вызываем API и отображаем ответ в текстовой области. -Теперь перейдем к стилям. Здесь вы можете проявить фантазию и сделать так, как вам нравится. Вот несколько предложений: +Теперь посмотрим на стили. Здесь можно проявить фантазию и сделать так, как вам нравится, но вот несколько предложений: **styles.css** @@ -326,18 +338,18 @@ styles.css } ``` -С помощью этих трех классов вы сможете стилизовать сообщения в зависимости от того, от кого они исходят: от ассистента или от пользователя. Если вам нужно вдохновение, загляните в папку `solution/frontend/styles.css`. +С помощью этих трех классов вы сможете стилизовать сообщения в зависимости от их источника — ассистент или пользователь. Если хотите вдохновиться, загляните в папку `solution/frontend/styles.css`. ### Изменение Base Url -Есть один момент, который мы еще не настроили, — это `BASE_URL`. Этот параметр станет известен только после запуска вашего бэкенда. Чтобы его настроить: +Есть одна вещь, которую мы не настроили — это `BASE_URL`. Она неизвестна до запуска вашего бэкенда. Чтобы ее настроить: -- Если вы запускаете API локально, он должен быть установлен как `http://localhost:5000`. -- Если вы используете Codespaces, он будет выглядеть примерно так: "[name]app.github.dev". +- Если вы запускаете API локально, она должна быть чем-то вроде `http://localhost:5000`. +- Если запускаете в Codespaces, она будет выглядеть примерно как "[name]app.github.dev". ## Задание -Создайте собственную папку *project* со следующим содержимым: +Создайте свою папку *project* с содержимым, как указано ниже: ```text project/ @@ -346,11 +358,10 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` -Скопируйте содержимое из инструкций выше, но при желании настройте его под себя. +Скопируйте содержимое из инструкций выше, но не стесняйтесь настраивать его по своему усмотрению. ## Решение @@ -358,22 +369,28 @@ project/ ## Бонус -Попробуйте изменить личность ИИ-ассистента. Когда вы вызываете `call_llm` в *api.py*, вы можете изменить второй аргумент на любой, например: +Попробуйте изменить личность чат-ассистента. + +### Для Python + +Когда вы вызываете `call_llm` в *api.py*, вы можете изменить второй аргумент на то, что вам нужно, например: ```python call_llm(message, "You are Captain Picard") ``` +### Фронтенд + Также измените CSS и текст по своему вкусу, внесите изменения в *index.html* и *styles.css*. ## Итог -Отлично, вы с нуля научились создавать персонального ассистента с использованием ИИ. Мы сделали это с помощью GitHub Models, бэкенда на Python и фронтенда на HTML, CSS и JavaScript. +Отлично, вы научились с нуля создавать персонального ассистента с использованием ИИ. Мы сделали это, используя GitHub Models, бэкенд на Python и фронтенд на HTML, CSS и JavaScript. ## Настройка с Codespaces -- Перейдите в: [Репозиторий Web Dev For Beginners](https://github.com/microsoft/Web-Dev-For-Beginners) -- Создайте проект из шаблона (убедитесь, что вы вошли в GitHub) в правом верхнем углу: +- Перейдите в: [репозиторий Web Dev For Beginners](https://github.com/microsoft/Web-Dev-For-Beginners) +- Создайте из шаблона (убедитесь, что вы вошли в GitHub) в правом верхнем углу: ![Создать из шаблона](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.ru.png) @@ -381,9 +398,9 @@ call_llm(message, "You are Captain Picard") ![Создать Codespace](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.ru.png) - Это запустит среду, с которой вы теперь можете работать. + Это должно запустить среду, с которой вы можете работать. --- **Отказ от ответственности**: -Этот документ был переведен с помощью сервиса автоматического перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникающие в результате использования данного перевода. \ No newline at end of file +Этот документ был переведен с помощью сервиса автоматического перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода. \ No newline at end of file diff --git a/translations/ru/9-chat-project/solution/README.md b/translations/ru/9-chat-project/solution/README.md index 6021a3de..83b10386 100644 --- a/translations/ru/9-chat-project/solution/README.md +++ b/translations/ru/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# Запуск кода +# Запуск решения -## Настройка - -Создайте виртуальное окружение - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Установите зависимости - -```sh -pip install openai flask flask-cors -``` - -## Запустите API - -```sh -python api.py -``` - -## Запустите фронтенд - -Убедитесь, что вы находитесь в папке фронтенда - -Найдите *app.js*, измените `BASE_URL` на URL вашего бэкенда - -Запустите - -``` -npx http-server -p 8000 -``` - -Попробуйте ввести сообщение в чат, вы должны увидеть ответ (при условии, что вы запускаете это в Codespace или настроили токен доступа). - -## Настройка токена доступа (если вы не запускаете это в Codespace) - -См. [Настройка PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Запустите [backend](./backend/README.md) +1. Затем запустите [frontend](./frontend/README.md) --- **Отказ от ответственности**: -Этот документ был переведен с помощью сервиса автоматического перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Хотя мы стремимся к точности, пожалуйста, учитывайте, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода. \ No newline at end of file +Этот документ был переведен с помощью сервиса автоматического перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Хотя мы стремимся к точности, пожалуйста, учитывайте, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода. \ No newline at end of file diff --git a/translations/ru/9-chat-project/solution/backend/README.md b/translations/ru/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..438e6aa2 --- /dev/null +++ b/translations/ru/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Выберите вашу среду выполнения + +- [Python](./python/README.md) + +--- + +**Отказ от ответственности**: +Этот документ был переведен с использованием сервиса автоматического перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникающие в результате использования данного перевода. \ No newline at end of file diff --git a/translations/ru/9-chat-project/solution/backend/python/README.md b/translations/ru/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..86f7d34a --- /dev/null +++ b/translations/ru/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Запуск кода + +## Настройка + +Создайте виртуальное окружение + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Установите зависимости + +```sh +pip install openai flask flask-cors +``` + +## Запустите API + +```sh +python api.py +``` + +## Запустите фронтенд + +Убедитесь, что вы находитесь в папке фронтенда. + +Найдите *app.js*, измените `BASE_URL` на URL вашего бэкенда. + +Запустите его + +``` +npx http-server -p 8000 +``` + +Попробуйте ввести сообщение в чат, вы должны увидеть ответ (при условии, что вы запускаете это в Codespace или настроили токен доступа). + +## Настройка токена доступа (если вы не запускаете это в Codespace) + +См. [Настройка PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Отказ от ответственности**: +Этот документ был переведен с помощью сервиса автоматического перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода. \ No newline at end of file diff --git a/translations/ru/9-chat-project/solution/frontend/README.md b/translations/ru/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..f3789281 --- /dev/null +++ b/translations/ru/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Запустите код + +```sh +npx http-server -p 3000 +``` + +Найдите `BASE_URL` в файле `app.js` и измените его, чтобы он соответствовал URL-адресу бэкенда. + +--- + +**Отказ от ответственности**: +Этот документ был переведен с помощью сервиса автоматического перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода. \ No newline at end of file diff --git a/translations/sk/9-chat-project/README.md b/translations/sk/9-chat-project/README.md index 47f7568c..11165336 100644 --- a/translations/sk/9-chat-project/README.md +++ b/translations/sk/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Spustenie kódu +# Spustenie riešenia -## Nastavenie - -Vytvorte virtuálne prostredie - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Inštalácia závislostí - -```sh -pip install openai flask flask-cors -``` - -## Spustenie API - -```sh -python api.py -``` - -## Spustenie frontend-u - -Uistite sa, že sa nachádzate v priečinku frontend - -Nájdite *app.js*, zmeňte `BASE_URL` na URL adresu vášho backendu - -Spustite ho - -``` -npx http-server -p 8000 -``` - -Skúste napísať správu do chatu, mali by ste vidieť odpoveď (za predpokladu, že to spúšťate v Codespace alebo máte nastavený prístupový token). - -## Nastavenie prístupového tokenu (ak to nespúšťate v Codespace) - -Pozrite si [Nastavenie PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Spustite [backend](./backend/README.md) +1. Teraz spustite [frontend](./frontend/README.md) --- **Upozornenie**: -Tento dokument bol preložený pomocou služby AI prekladu [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho rodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nenesieme zodpovednosť za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu. \ No newline at end of file +Tento dokument bol preložený pomocou služby AI prekladu [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu. \ No newline at end of file diff --git a/translations/sk/9-chat-project/solution/backend/README.md b/translations/sk/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..fed61c95 --- /dev/null +++ b/translations/sk/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Vyberte si svoj runtime + +- [Python](./python/README.md) + +--- + +**Upozornenie**: +Tento dokument bol preložený pomocou služby AI prekladu [Co-op Translator](https://github.com/Azure/co-op-translator). Aj keď sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu. \ No newline at end of file diff --git a/translations/sk/9-chat-project/solution/backend/python/README.md b/translations/sk/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..7b73e792 --- /dev/null +++ b/translations/sk/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Spustenie kódu + +## Nastavenie + +Vytvorte virtuálne prostredie + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Inštalácia závislostí + +```sh +pip install openai flask flask-cors +``` + +## Spustenie API + +```sh +python api.py +``` + +## Spustenie frontend-u + +Uistite sa, že sa nachádzate v priečinku frontend + +Nájdite *app.js*, zmeňte `BASE_URL` na URL vášho backendu + +Spustite ho + +``` +npx http-server -p 8000 +``` + +Skúste napísať správu do chatu, mali by ste vidieť odpoveď (za predpokladu, že to spúšťate v Codespace alebo ste nastavili prístupový token). + +## Nastavenie prístupového tokenu (ak to nespúšťate v Codespace) + +Pozrite si [Nastavenie PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Upozornenie**: +Tento dokument bol preložený pomocou služby AI prekladu [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu. \ No newline at end of file diff --git a/translations/sk/9-chat-project/solution/frontend/README.md b/translations/sk/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..6514ca00 --- /dev/null +++ b/translations/sk/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Spustite kód + +```sh +npx http-server -p 3000 +``` + +Nájdite `BASE_URL` v súbore `app.js` a zmeňte ho tak, aby zodpovedal URL adresy backendu. + +--- + +**Upozornenie**: +Tento dokument bol preložený pomocou služby AI prekladu [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho rodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu. \ No newline at end of file diff --git a/translations/sl/9-chat-project/README.md b/translations/sl/9-chat-project/README.md index 9e16cf6a..8d3f2f32 100644 --- a/translations/sl/9-chat-project/README.md +++ b/translations/sl/9-chat-project/README.md @@ -1,13 +1,13 @@ -# Projekt klepeta +# Projekt klepet Ta projekt klepeta prikazuje, kako zgraditi klepetalnega asistenta z uporabo GitHub Modelov. @@ -17,22 +17,24 @@ Tako izgleda končan projekt: Aplikacija za klepet
-Nekaj konteksta: gradnja klepetalnih asistentov z uporabo generativne umetne inteligence je odličen način za začetek učenja o umetni inteligenci. V tej lekciji se boste naučili, kako integrirati generativno umetno inteligenco v spletno aplikacijo. Začnimo. +Nekaj konteksta: gradnja klepetalnih asistentov z uporabo generativne umetne inteligence je odličen način za začetek učenja o AI. V tej lekciji se boste naučili, kako integrirati generativno AI v spletno aplikacijo. Začnimo. -## Povezovanje z generativno umetno inteligenco +## Povezovanje z generativno AI -Za zaledje uporabljamo GitHub Modele. To je odlična storitev, ki omogoča brezplačno uporabo umetne inteligence. Obiščite njihovo testno okolje in pridobite kodo, ki ustreza vašemu izbranemu programskemu jeziku za zaledje. Tako izgleda na [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground). +Za zaledje uporabljamo GitHub Model. To je odlična storitev, ki omogoča brezplačno uporabo AI. Obiščite njihov "playground" in pridobite kodo, ki ustreza vašemu izbranemu jeziku za zaledje. Tukaj je primer, kako to izgleda na [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground).
- GitHub Models AI Playground + GitHub Models AI Playground
-Kot rečeno, izberite zavihek "Code" in svoj izbrani runtime. +Kot smo omenili, izberite zavihek "Code" in vaš izbrani runtime.
- Izbira v testnem okolju + Izbira v playgroundu
+### Uporaba Pythona + V tem primeru izberemo Python, kar pomeni, da uporabimo to kodo: ```python @@ -70,7 +72,7 @@ response = client.chat.completions.create( print(response.choices[0].message.content) ``` -To kodo bomo nekoliko očistili, da bo bolj uporabna: +To kodo nekoliko očistimo, da bo bolj uporabna: ```python def call_llm(prompt: str, system_message: str): @@ -94,11 +96,11 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -S to funkcijo `call_llm` lahko zdaj podamo poziv in sistemski poziv, funkcija pa vrne rezultat. +S funkcijo `call_llm` lahko zdaj podamo poziv in sistemski poziv, funkcija pa vrne rezultat. ### Prilagoditev AI asistenta -Če želite prilagoditi AI asistenta, lahko določite, kako naj se obnaša, tako da izpolnite sistemski poziv, kot je prikazano: +Če želite prilagoditi AI asistenta, lahko določite, kako naj se obnaša, tako da izpolnite sistemski poziv, kot je prikazano tukaj: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") @@ -106,7 +108,9 @@ call_llm("Tell me about you", "You're Albert Einstein, you only know of things i ## Izpostavitev prek spletnega API-ja -Odlično, AI del je zaključen, poglejmo, kako ga lahko integriramo v spletni API. Za spletni API smo izbrali Flask, vendar je primeren kateri koli spletni okvir. Tukaj je koda: +Odlično, AI del je končan, poglejmo, kako ga lahko integriramo v spletni API. Za spletni API smo izbrali Flask, vendar je primeren katerikoli spletni okvir. Tukaj je koda: + +### Uporaba Pythona ```python # api.py @@ -137,7 +141,7 @@ if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` -Tukaj ustvarimo Flask API in definiramo privzeto pot "/" ter "/chat". Slednja je namenjena uporabi s strani našega uporabniškega vmesnika za posredovanje vprašanj. +Tukaj ustvarimo Flask API in definiramo privzeto pot "/" ter "/chat". Slednja je namenjena uporabi s strani našega sprednjega dela za posredovanje vprašanj. Za integracijo *llm.py* moramo narediti naslednje: @@ -163,7 +167,7 @@ Za integracijo *llm.py* moramo narediti naslednje: }) ``` - Tukaj razčlenimo dohodno zahtevo, da pridobimo lastnost `message` iz telesa JSON. Nato pokličemo LLM s tem klicem: + Tukaj razčlenimo dohodno zahtevo, da pridobimo lastnost `message` iz JSON telesa. Nato pokličemo LLM s tem klicem: ```python response = call_llm(message, "You are a helpful assistant") @@ -176,9 +180,13 @@ Za integracijo *llm.py* moramo narediti naslednje: Odlično, zdaj smo naredili, kar je potrebno. -### Konfiguracija Cors +## Konfiguracija Cors + +Omeniti moramo, da nastavimo nekaj, kot je CORS (cross-origin resource sharing). To pomeni, da ker bosta naše zaledje in sprednji del delovala na različnih vratih, moramo omogočiti sprednjemu delu, da kliče zaledje. -Omeniti moramo, da smo nastavili nekaj, kot je CORS (deljenje virov med različnimi izviri). To pomeni, da ker bosta naše zaledje in uporabniški vmesnik delovala na različnih vratih, moramo omogočiti, da uporabniški vmesnik kliče zaledje. V datoteki *api.py* je del kode, ki to omogoča: +### Uporaba Pythona + +V datoteki *api.py* je kos kode, ki to nastavi: ```python from flask_cors import CORS @@ -187,13 +195,17 @@ app = Flask(__name__) CORS(app) # * example.com ``` -Trenutno je nastavljeno, da dovoljuje "*", kar pomeni vse izvore, kar je nekoliko nevarno. To bi morali omejiti, ko gremo v produkcijo. +Trenutno je nastavljeno, da dovoljuje "*", kar pomeni vse izvorne naslove, kar je nekoliko nevarno. To bi morali omejiti, ko gremo v produkcijo. ## Zagon projekta -Torej, imamo *llm.py* in *api.py*, kako lahko to deluje z zaledjem? Potrebujemo dve stvari: +Za zagon projekta morate najprej zagnati zaledje in nato sprednji del. + +### Uporaba Pythona -- Namestitev odvisnosti: +Imamo *llm.py* in *api.py*, kako lahko to deluje z zaledjem? Tukaj sta dve stvari, ki ju moramo narediti: + +- Namestiti odvisnosti: ```sh cd backend @@ -203,17 +215,17 @@ Torej, imamo *llm.py* in *api.py*, kako lahko to deluje z zaledjem? Potrebujemo pip install openai flask flask-cors openai ``` -- Zagon API-ja: +- Zagnati API: ```sh python api.py ``` - Če uporabljate Codespaces, morate v spodnjem delu urejevalnika odpreti zavihke za vrata, z desno tipko miške klikniti nanje, izbrati "Port Visibility" in izbrati "Public". + Če ste v Codespaces, morate iti na "Ports" v spodnjem delu urejevalnika, desno klikniti nanj, izbrati "Port Visibility" in izbrati "Public". -### Delo na uporabniškem vmesniku +### Delo na sprednjem delu -Zdaj, ko imamo API, ustvarimo uporabniški vmesnik. Minimalni uporabniški vmesnik, ki ga bomo postopoma izboljšali. V mapi *frontend* ustvarite naslednje: +Zdaj, ko imamo API, ki deluje, ustvarimo sprednji del za to. Minimalni sprednji del, ki ga bomo postopoma izboljšali. V mapi *frontend* ustvarite naslednje: ```text backend/ @@ -241,7 +253,7 @@ Začnimo z **index.html**: ``` -Zgornje je absolutni minimum, ki ga potrebujete za podporo klepetalnega okna, saj vsebuje besedilno polje, kjer bodo prikazana sporočila, vnosno polje za vnos sporočila in gumb za pošiljanje sporočila zaledju. Poglejmo naslednji JavaScript v *app.js*. +Zgornje je absolutni minimum, ki ga potrebujete za podporo oknu za klepet, saj vsebuje besedilno polje, kjer se bodo prikazovala sporočila, vnosno polje za vnos sporočila in gumb za pošiljanje sporočila zaledju. Poglejmo naslednji JavaScript v *app.js*. **app.js** @@ -298,14 +310,14 @@ Zgornje je absolutni minimum, ki ga potrebujete za podporo klepetalnega okna, sa })(); ``` -Pojdimo skozi kodo po odsekih: +Pojdimo skozi kodo po delih: -- 1) Tukaj pridobimo sklice na vse elemente, na katere se bomo sklicevali kasneje v kodi. +- 1) Tukaj dobimo referenco na vse elemente, ki jih bomo kasneje uporabljali v kodi. - 2) V tem delu ustvarimo funkcijo, ki uporablja vgrajeno metodo `fetch` za klic našega zaledja. -- 3) `appendMessage` pomaga dodajati odgovore in tudi to, kar uporabnik vnese. -- 4) Tukaj poslušamo dogodek oddaje, preberemo vnosno polje, uporabnikovo sporočilo postavimo v besedilno polje, pokličemo API in prikažemo odgovor v besedilnem polju. +- 3) `appendMessage` pomaga dodajati odgovore, kot tudi sporočila, ki jih vnesete kot uporabnik. +- 4) Tukaj poslušamo dogodek "submit" in preberemo vnosno polje, postavimo uporabnikovo sporočilo v besedilno polje, pokličemo API in prikažemo odgovor v besedilnem polju. -Poglejmo še oblikovanje, tukaj lahko resnično ustvarite nekaj po svojem okusu, vendar so tukaj nekateri predlogi: +Poglejmo še oblikovanje, tukaj lahko resnično ustvarite videz po svoji želji, vendar tukaj so nekateri predlogi: **styles.css** @@ -326,14 +338,14 @@ Poglejmo še oblikovanje, tukaj lahko resnično ustvarite nekaj po svojem okusu, } ``` -S temi tremi razredi boste oblikovali sporočila različno, odvisno od tega, ali prihajajo od asistenta ali uporabnika. Če potrebujete navdih, si oglejte mapo `solution/frontend/styles.css`. +S temi tremi razredi boste oblikovali sporočila različno, odvisno od tega, ali prihajajo od asistenta ali od vas kot uporabnika. Če želite navdih, si oglejte mapo `solution/frontend/styles.css`. ### Sprememba osnovnega URL-ja -Ena stvar, ki je tukaj nismo nastavili, je `BASE_URL`. Ta ni znan, dokler zaledje ni zagnano. Za nastavitev: +Obstaja ena stvar, ki je tukaj nismo nastavili, in to je `BASE_URL`. Ta ni znan, dokler vaše zaledje ni zagnano. Za nastavitev: -- Če API zaženete lokalno, bi moral biti nastavljen na nekaj, kot je `http://localhost:5000`. -- Če ga zaženete v Codespaces, bi moral izgledati nekaj takega: "[name]app.github.dev". +- Če API deluje lokalno, ga nastavite na nekaj, kot je `http://localhost:5000`. +- Če deluje v Codespaces, bo videti nekaj takega: "[name]app.github.dev". ## Naloga @@ -346,11 +358,10 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` -Kopirajte vsebino iz zgoraj navedenih navodil, vendar jo po želji prilagodite. +Kopirajte vsebino iz zgoraj navedenih navodil, vendar jo prilagodite po svoji želji. ## Rešitev @@ -358,21 +369,27 @@ Kopirajte vsebino iz zgoraj navedenih navodil, vendar jo po želji prilagodite. ## Bonus -Poskusite spremeniti osebnost AI asistenta. Ko pokličete `call_llm` v *api.py*, lahko spremenite drugi argument v nekaj po svoji izbiri, na primer: +Poskusite spremeniti osebnost AI asistenta. + +### Za Python + +Ko pokličete `call_llm` v *api.py*, lahko spremenite drugi argument v kar koli želite, na primer: ```python call_llm(message, "You are Captain Picard") ``` -Prav tako spremenite CSS in besedilo po svojem okusu, torej naredite spremembe v *index.html* in *styles.css*. +### Sprednji del + +Spremenite tudi CSS in besedilo po svoji želji, torej naredite spremembe v *index.html* in *styles.css*. ## Povzetek -Odlično, naučili ste se, kako iz nič ustvariti osebnega asistenta z uporabo umetne inteligence. To smo naredili z uporabo GitHub Modelov, zaledja v Pythonu in uporabniškega vmesnika v HTML, CSS in JavaScript. +Odlično, naučili ste se, kako od začetka ustvariti osebnega asistenta z uporabo AI. To smo naredili z uporabo GitHub Modelov, zaledja v Pythonu in sprednjega dela v HTML, CSS in JavaScript. ## Nastavitev s Codespaces -- Pojdite na: [Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) +- Pojdite na: [Repozitorij Web Dev For Beginners](https://github.com/microsoft/Web-Dev-For-Beginners) - Ustvarite iz predloge (prepričajte se, da ste prijavljeni v GitHub) v zgornjem desnem kotu: ![Ustvari iz predloge](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.sl.png) @@ -386,4 +403,4 @@ Odlično, naučili ste se, kako iz nič ustvariti osebnega asistenta z uporabo u --- **Omejitev odgovornosti**: -Ta dokument je bil preveden z uporabo storitve za strojno prevajanje [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo strokovno človeško prevajanje. Ne prevzemamo odgovornosti za morebitna nesporazumevanja ali napačne razlage, ki izhajajo iz uporabe tega prevoda. \ No newline at end of file +Ta dokument je bil preveden z uporabo storitve za prevajanje z umetno inteligenco [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem maternem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne prevzemamo odgovornosti za morebitne nesporazume ali napačne razlage, ki bi nastale zaradi uporabe tega prevoda. \ No newline at end of file diff --git a/translations/sl/9-chat-project/solution/README.md b/translations/sl/9-chat-project/solution/README.md index c2c1f5d3..7d4b4257 100644 --- a/translations/sl/9-chat-project/solution/README.md +++ b/translations/sl/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# Zagon kode +# Zaženi rešitev -## Nastavitev - -Ustvari virtualno okolje - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Namesti odvisnosti - -```sh -pip install openai flask flask-cors -``` - -## Zaženi API - -```sh -python api.py -``` - -## Zaženi frontend - -Prepričaj se, da si v mapi frontend - -Poišči *app.js*, spremeni `BASE_URL` na URL svojega backend-a - -Zaženi - -``` -npx http-server -p 8000 -``` - -Poskusi vtipkati sporočilo v klepet, moral bi videti odgovor (če to izvajaš v Codespace ali si nastavil dostopni žeton). - -## Nastavi dostopni žeton (če tega ne izvajaš v Codespace) - -Poglej [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Zaženite [backend](./backend/README.md) +1. Nato zaženite [frontend](./frontend/README.md) --- **Omejitev odgovornosti**: -Ta dokument je bil preveden z uporabo storitve za strojno prevajanje [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas opozarjamo, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo strokovno človeško prevajanje. Ne prevzemamo odgovornosti za morebitna nesporazumevanja ali napačne razlage, ki bi izhajale iz uporabe tega prevoda. \ No newline at end of file +Ta dokument je bil preveden z uporabo storitve za strojno prevajanje [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo strokovno človeško prevajanje. Ne prevzemamo odgovornosti za morebitna nesporazumevanja ali napačne razlage, ki izhajajo iz uporabe tega prevoda. \ No newline at end of file diff --git a/translations/sl/9-chat-project/solution/backend/README.md b/translations/sl/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..12b47ef3 --- /dev/null +++ b/translations/sl/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Izberite svoj čas izvajanja + +- [Python](./python/README.md) + +--- + +**Omejitev odgovornosti**: +Ta dokument je bil preveden z uporabo storitve AI za prevajanje [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne prevzemamo odgovornosti za morebitna napačna razumevanja ali napačne interpretacije, ki bi nastale zaradi uporabe tega prevoda. \ No newline at end of file diff --git a/translations/sl/9-chat-project/solution/backend/python/README.md b/translations/sl/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..f18b19da --- /dev/null +++ b/translations/sl/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Zaženi kodo + +## Nastavitev + +Ustvari virtualno okolje + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Namesti odvisnosti + +```sh +pip install openai flask flask-cors +``` + +## Zaženi API + +```sh +python api.py +``` + +## Zaženi frontend + +Prepričaj se, da si v mapi frontend + +Poišči *app.js*, spremeni `BASE_URL` na URL svojega backend strežnika + +Zaženi + +``` +npx http-server -p 8000 +``` + +Poskusi vtipkati sporočilo v klepetu, moral bi videti odgovor (če to izvajaš v Codespace ali si nastavil dostopni žeton). + +## Nastavi dostopni žeton (če tega ne izvajaš v Codespace) + +Glej [Nastavitev PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Omejitev odgovornosti**: +Ta dokument je bil preveden z uporabo storitve za prevajanje z umetno inteligenco [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem maternem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne prevzemamo odgovornosti za morebitna nesporazumevanja ali napačne razlage, ki bi nastale zaradi uporabe tega prevoda. \ No newline at end of file diff --git a/translations/sl/9-chat-project/solution/frontend/README.md b/translations/sl/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..482dbe58 --- /dev/null +++ b/translations/sl/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Zaženi kodo + +```sh +npx http-server -p 3000 +``` + +Poiščite `BASE_URL` v `app.js` in ga spremenite, da ustreza URL-ju zalednega sistema. + +--- + +**Omejitev odgovornosti**: +Ta dokument je bil preveden z uporabo storitve za prevajanje z umetno inteligenco [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne prevzemamo odgovornosti za morebitna nesporazumevanja ali napačne razlage, ki bi nastale zaradi uporabe tega prevoda. \ No newline at end of file diff --git a/translations/sr/9-chat-project/README.md b/translations/sr/9-chat-project/README.md index d547b51e..13e8eb97 100644 --- a/translations/sr/9-chat-project/README.md +++ b/translations/sr/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Покрени код +# Покрени решење -## Подешавање - -Креирај виртуелно окружење - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Инсталирај зависности - -```sh -pip install openai flask flask-cors -``` - -## Покрени API - -```sh -python api.py -``` - -## Покрени фронтенд - -Увери се да се налазиш у фасцикли фронтенда - -Пронађи *app.js*, промени `BASE_URL` на URL твог бекенда - -Покрени га - -``` -npx http-server -p 8000 -``` - -Пробај да укуцаш поруку у чету, требало би да видиш одговор (под условом да ово покрећеш у Codespace-у или да си подесио access token). - -## Подеси access token (ако ово не покрећеш у Codespace-у) - -Погледај [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Покрените [бекенд](./backend/README.md) +1. Сада покрените [фронтенд](./frontend/README.md) --- **Одрицање од одговорности**: -Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције [Co-op Translator](https://github.com/Azure/co-op-translator). Иако настојимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални превод од стране људи. Не сносимо одговорност за било каква погрешна тумачења или неспоразуме који могу произаћи из коришћења овог превода. \ No newline at end of file +Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције [Co-op Translator](https://github.com/Azure/co-op-translator). Иако се трудимо да превод буде тачан, молимо вас да имате у виду да аутоматизовани преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу произаћи из коришћења овог превода. \ No newline at end of file diff --git a/translations/sr/9-chat-project/solution/backend/README.md b/translations/sr/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..8872dcc9 --- /dev/null +++ b/translations/sr/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Изаберите своје окружење за извршавање + +- [Python](./python/README.md) + +--- + +**Одрицање од одговорности**: +Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције [Co-op Translator](https://github.com/Azure/co-op-translator). Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода. \ No newline at end of file diff --git a/translations/sr/9-chat-project/solution/backend/python/README.md b/translations/sr/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..837bb1eb --- /dev/null +++ b/translations/sr/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Покрени код + +## Подешавање + +Креирај виртуелно окружење + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Инсталирај зависности + +```sh +pip install openai flask flask-cors +``` + +## Покрени API + +```sh +python api.py +``` + +## Покрени фронтенд + +Увери се да се налазиш у фасцикли фронтенда + +Пронађи *app.js*, промени `BASE_URL` на URL твог бекенда + +Покрени га + +``` +npx http-server -p 8000 +``` + +Пробај да укуцаш поруку у чету, требало би да видиш одговор (под условом да ово покрећеш у Codespace-у или си подесио access token). + +## Подеси access token (ако ово не покрећеш у Codespace-у) + +Погледај [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Одрицање од одговорности**: +Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције [Co-op Translator](https://github.com/Azure/co-op-translator). Иако се трудимо да превод буде тачан, молимо вас да имате у виду да аутоматизовани преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људског преводиоца. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода. \ No newline at end of file diff --git a/translations/sr/9-chat-project/solution/frontend/README.md b/translations/sr/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..b3467b33 --- /dev/null +++ b/translations/sr/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Покрените код + +```sh +npx http-server -p 3000 +``` + +Пронађите `BASE_URL` у `app.js` и промените га тако да одговара URL-у позадинског система. + +--- + +**Одрицање од одговорности**: +Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције [Co-op Translator](https://github.com/Azure/co-op-translator). Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу произаћи из коришћења овог превода. \ No newline at end of file diff --git a/translations/sv/9-chat-project/README.md b/translations/sv/9-chat-project/README.md index 36a42a6e..e3d672f9 100644 --- a/translations/sv/9-chat-project/README.md +++ b/translations/sv/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Kör kod +# Kör lösning -## Förberedelser - -Skapa en virtuell miljö - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Installera beroenden - -```sh -pip install openai flask flask-cors -``` - -## Starta API - -```sh -python api.py -``` - -## Starta frontend - -Se till att du befinner dig i frontend-mappen - -Leta upp *app.js*, ändra `BASE_URL` till din backend-URL - -Kör det - -``` -npx http-server -p 8000 -``` - -Prova att skriva ett meddelande i chatten, du bör få ett svar (förutsatt att du kör detta i en Codespace eller har ställt in en access token). - -## Ställ in access token (om du inte kör detta i en Codespace) - -Se [Ställ in PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Starta [backend](./backend/README.md) +1. Starta sedan [frontend](./frontend/README.md) --- **Ansvarsfriskrivning**: -Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, vänligen notera att automatiska översättningar kan innehålla fel eller felaktigheter. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning. \ No newline at end of file +Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, bör det noteras att automatiserade översättningar kan innehålla fel eller inexaktheter. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning. \ No newline at end of file diff --git a/translations/sv/9-chat-project/solution/backend/README.md b/translations/sv/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..49a11297 --- /dev/null +++ b/translations/sv/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Välj din runtime + +- [Python](./python/README.md) + +--- + +**Ansvarsfriskrivning**: +Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, bör du vara medveten om att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning. \ No newline at end of file diff --git a/translations/sv/9-chat-project/solution/backend/python/README.md b/translations/sv/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..61a85557 --- /dev/null +++ b/translations/sv/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Kör kod + +## Ställ in + +Skapa en virtuell miljö + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Installera beroenden + +```sh +pip install openai flask flask-cors +``` + +## Kör API + +```sh +python api.py +``` + +## Kör frontend + +Se till att du befinner dig i frontend-mappen + +Leta upp *app.js*, ändra `BASE_URL` till din backend-URL + +Kör det + +``` +npx http-server -p 8000 +``` + +Prova att skriva ett meddelande i chatten, du bör se ett svar (förutsatt att du kör detta i en Codespace eller har ställt in en åtkomsttoken). + +## Ställ in åtkomsttoken (om du inte kör detta i en Codespace) + +Se [Ställ in PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Ansvarsfriskrivning**: +Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, bör du vara medveten om att automatiska översättningar kan innehålla fel eller felaktigheter. Det ursprungliga dokumentet på dess ursprungliga språk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning. \ No newline at end of file diff --git a/translations/sv/9-chat-project/solution/frontend/README.md b/translations/sv/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..ffb555ae --- /dev/null +++ b/translations/sv/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Kör koden + +```sh +npx http-server -p 3000 +``` + +Hitta `BASE_URL` i `app.js` och ändra den så att den matchar URL:en för backend. + +--- + +**Ansvarsfriskrivning**: +Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, bör det noteras att automatiska översättningar kan innehålla fel eller inexaktheter. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som kan uppstå vid användning av denna översättning. \ No newline at end of file diff --git a/translations/sw/9-chat-project/README.md b/translations/sw/9-chat-project/README.md index 5c442254..226aff0b 100644 --- a/translations/sw/9-chat-project/README.md +++ b/translations/sw/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Endesha kodu +# Endesha suluhisho -## Kuandaa - -Unda mazingira ya kawaida - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Sakinisha utegemezi - -```sh -pip install openai flask flask-cors -``` - -## Endesha API - -```sh -python api.py -``` - -## Endesha frontend - -Hakikisha uko kwenye folda ya frontend - -Tafuta *app.js*, badilisha `BASE_URL` kuwa URL ya backend yako - -Endesha - -``` -npx http-server -p 8000 -``` - -Jaribu kuandika ujumbe kwenye mazungumzo, unapaswa kuona jibu (ikiwa unaendesha hii kwenye Codespace au umeweka tokeni ya ufikiaji). - -## Weka tokeni ya ufikiaji (ikiwa huendeshi hii kwenye Codespace) - -Tazama [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Anzisha [backend](./backend/README.md) +1. Sasa anzisha [frontend](./frontend/README.md) --- **Kanusho**: -Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, inashauriwa kutumia huduma ya tafsiri ya kitaalamu ya binadamu. Hatutawajibika kwa maelewano mabaya au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii. \ No newline at end of file +Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati asilia katika lugha yake ya awali inapaswa kuchukuliwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii. \ No newline at end of file diff --git a/translations/sw/9-chat-project/solution/backend/README.md b/translations/sw/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..fb2756c0 --- /dev/null +++ b/translations/sw/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Chagua mazingira yako ya kukimbia + +- [Python](./python/README.md) + +--- + +**Kanusho**: +Hati hii imetafsiriwa kwa kutumia huduma ya kutafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuhakikisha usahihi, tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii. \ No newline at end of file diff --git a/translations/sw/9-chat-project/solution/backend/python/README.md b/translations/sw/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..d474c083 --- /dev/null +++ b/translations/sw/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Endesha msimbo + +## Kuandaa mazingira + +Tengeneza mazingira ya mtandaoni + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Sakinisha mahitaji + +```sh +pip install openai flask flask-cors +``` + +## Endesha API + +```sh +python api.py +``` + +## Endesha frontend + +Hakikisha uko kwenye folda ya frontend + +Tafuta *app.js*, badilisha `BASE_URL` kuwa URL ya backend yako + +Endesha + +``` +npx http-server -p 8000 +``` + +Jaribu kuandika ujumbe kwenye mazungumzo, unapaswa kuona jibu (ikiwa unaendesha hii kwenye Codespace au umeweka tokeni ya ufikiaji). + +## Weka tokeni ya ufikiaji (ikiwa huendeshi hii kwenye Codespace) + +Tazama [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Kanusho**: +Hati hii imetafsiriwa kwa kutumia huduma ya kutafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutokuelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii. \ No newline at end of file diff --git a/translations/sw/9-chat-project/solution/frontend/README.md b/translations/sw/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..4d2dd587 --- /dev/null +++ b/translations/sw/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Endesha msimbo + +```sh +npx http-server -p 3000 +``` + +Tafuta `BASE_URL` ndani ya `app.js` na ubadilishe ili ilingane na URL ya backend. + +--- + +**Kanusho**: +Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ingawa tunajitahidi kuhakikisha usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii. \ No newline at end of file diff --git a/translations/th/9-chat-project/README.md b/translations/th/9-chat-project/README.md index 696a6f9c..7d4945d6 100644 --- a/translations/th/9-chat-project/README.md +++ b/translations/th/9-chat-project/README.md @@ -1,8 +1,8 @@ -# รันโค้ด +# เรียกใช้งานโซลูชัน -## การตั้งค่า - -สร้าง virtual environment - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## ติดตั้ง dependencies - -```sh -pip install openai flask flask-cors -``` - -## รัน API - -```sh -python api.py -``` - -## รัน frontend - -ตรวจสอบให้แน่ใจว่าคุณอยู่ในโฟลเดอร์ frontend - -ค้นหา *app.js* และเปลี่ยน `BASE_URL` เป็น URL ของ backend ของคุณ - -รันโปรแกรม - -``` -npx http-server -p 8000 -``` - -ลองพิมพ์ข้อความในแชท คุณควรเห็นการตอบกลับ (หากคุณกำลังรันใน Codespace หรือได้ตั้งค่า access token แล้ว) - -## ตั้งค่า access token (หากคุณไม่ได้รันใน Codespace) - -ดู [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. เริ่มต้น [backend](./backend/README.md) +1. จากนั้นเริ่มต้น [frontend](./frontend/README.md) --- **ข้อจำกัดความรับผิดชอบ**: -เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษาจากผู้เชี่ยวชาญ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้ \ No newline at end of file +เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้ \ No newline at end of file diff --git a/translations/th/9-chat-project/solution/backend/README.md b/translations/th/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..295dd8fd --- /dev/null +++ b/translations/th/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +เลือกสภาพแวดล้อมการทำงานของคุณ + +- [Python](./python/README.md) + +--- + +**ข้อจำกัดความรับผิดชอบ**: +เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราจะไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้ \ No newline at end of file diff --git a/translations/th/9-chat-project/solution/backend/python/README.md b/translations/th/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..81989386 --- /dev/null +++ b/translations/th/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# รันโค้ด + +## การตั้งค่า + +สร้าง virtual environment + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## ติดตั้ง dependencies + +```sh +pip install openai flask flask-cors +``` + +## รัน API + +```sh +python api.py +``` + +## รัน frontend + +ตรวจสอบให้แน่ใจว่าคุณอยู่ในโฟลเดอร์ frontend + +ค้นหา *app.js* และเปลี่ยน `BASE_URL` ให้เป็น URL ของ backend ของคุณ + +รันโปรแกรม + +``` +npx http-server -p 8000 +``` + +ลองพิมพ์ข้อความในแชท คุณควรเห็นการตอบกลับ (หากคุณกำลังรันใน Codespace หรือได้ตั้งค่า access token แล้ว) + +## ตั้งค่า access token (หากคุณไม่ได้รันใน Codespace) + +ดู [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**ข้อจำกัดความรับผิดชอบ**: +เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราจะไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้ \ No newline at end of file diff --git a/translations/th/9-chat-project/solution/frontend/README.md b/translations/th/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..1eb176a9 --- /dev/null +++ b/translations/th/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# รันโค้ด + +```sh +npx http-server -p 3000 +``` + +ค้นหา `BASE_URL` ใน `app.js` และเปลี่ยนให้ตรงกับ URL ของระบบ backend. + +--- + +**ข้อจำกัดความรับผิดชอบ**: +เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้ \ No newline at end of file diff --git a/translations/tl/9-chat-project/README.md b/translations/tl/9-chat-project/README.md index fedc3257..96f817b7 100644 --- a/translations/tl/9-chat-project/README.md +++ b/translations/tl/9-chat-project/README.md @@ -1,13 +1,13 @@ -# Chat Project +# Chat project Ang proyektong ito ay nagpapakita kung paano bumuo ng isang Chat Assistant gamit ang GitHub Models. @@ -17,9 +17,9 @@ Ganito ang magiging hitsura ng natapos na proyekto: Chat app -Kaunting konteksto, ang paggawa ng Chat assistants gamit ang generative AI ay isang mahusay na paraan upang magsimula sa pag-aaral tungkol sa AI. Sa araling ito, matututuhan mo kung paano i-integrate ang generative AI sa isang web app. Simulan na natin. +Kaunting konteksto, ang paggawa ng Chat assistants gamit ang generative AI ay isang mahusay na paraan upang magsimulang matuto tungkol sa AI. Sa araling ito, matututuhan mong isama ang generative AI sa isang web app. Simulan na natin. -## Pagkonekta sa Generative AI +## Pagkonekta sa generative AI Para sa backend, gagamit tayo ng GitHub Models. Isa itong mahusay na serbisyo na nagbibigay-daan sa iyo na gumamit ng AI nang libre. Pumunta sa playground nito at kunin ang code na tumutugma sa napili mong backend na wika. Ganito ang itsura nito sa [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) @@ -33,7 +33,9 @@ Tulad ng nabanggit, piliin ang tab na "Code" at ang runtime na gusto mo. playground choice -Sa kasong ito, pinili natin ang Python, kaya't ito ang code na gagamitin natin: +### Gamit ang Python + +Sa kasong ito, pipiliin natin ang Python, kaya't ito ang code na gagamitin: ```python """Run this model in Python @@ -98,7 +100,7 @@ Sa pamamagitan ng function na `call_llm`, maaari na nating kunin ang isang promp ### I-customize ang AI Assistant -Kung nais mong i-customize ang AI assistant, maaari mong tukuyin kung paano ito magpapakita ng ugali sa pamamagitan ng paglalagay ng system prompt tulad nito: +Kung nais mong i-customize ang AI assistant, maaari mong tukuyin kung paano ito dapat kumilos sa pamamagitan ng paglalagay ng system prompt tulad nito: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") @@ -106,7 +108,9 @@ call_llm("Tell me about you", "You're Albert Einstein, you only know of things i ## I-expose ito sa pamamagitan ng Web API -Magaling, natapos na natin ang AI na bahagi, tingnan natin kung paano natin ito maisasama sa isang Web API. Para sa Web API, gagamit tayo ng Flask, ngunit anumang web framework ay maaaring gamitin. Narito ang code para dito: +Magaling, tapos na natin ang AI na bahagi. Tingnan natin kung paano natin ito maisasama sa isang Web API. Para sa Web API, gagamit tayo ng Flask, ngunit anumang web framework ay maaaring gamitin. Narito ang code para dito: + +### Gamit ang Python ```python # api.py @@ -139,7 +143,7 @@ if __name__ == "__main__": Dito, lumikha tayo ng isang Flask API at nagtakda ng default na ruta na "/" at "/chat". Ang huli ay gagamitin ng ating frontend upang maipasa ang mga tanong dito. -Upang maisama ang *llm.py*, narito ang mga hakbang na dapat gawin: +Upang maisama ang *llm.py*, narito ang mga hakbang na kailangan gawin: - I-import ang function na `call_llm`: @@ -163,7 +167,7 @@ Upang maisama ang *llm.py*, narito ang mga hakbang na dapat gawin: }) ``` - Dito, ini-parse natin ang papasok na request upang makuha ang property na `message` mula sa JSON body. Pagkatapos nito, tinatawagan natin ang LLM gamit ang tawag na ito: + Dito, ini-parse natin ang papasok na request upang makuha ang property na `message` mula sa JSON body. Pagkatapos, tatawagin natin ang LLM gamit ang tawag na ito: ```python response = call_llm(message, "You are a helpful assistant") @@ -176,9 +180,13 @@ Upang maisama ang *llm.py*, narito ang mga hakbang na dapat gawin: Magaling, natapos na natin ang kailangan. -### I-configure ang Cors +## I-configure ang Cors + +Dapat nating banggitin na nag-set up tayo ng isang bagay tulad ng CORS, o cross-origin resource sharing. Nangangahulugan ito na dahil ang ating backend at frontend ay tatakbo sa magkaibang ports, kailangan nating payagan ang frontend na tumawag sa backend. -Dapat nating banggitin na nag-set up tayo ng isang bagay tulad ng CORS, o cross-origin resource sharing. Nangangahulugan ito na dahil ang ating backend at frontend ay tatakbo sa magkaibang ports, kailangan nating payagan ang frontend na tumawag sa backend. Narito ang isang piraso ng code sa *api.py* na nagse-set up nito: +### Gamit ang Python + +Narito ang isang piraso ng code sa *api.py* na nagse-set up nito: ```python from flask_cors import CORS @@ -187,11 +195,15 @@ app = Flask(__name__) CORS(app) # * example.com ``` -Sa ngayon, naka-set up ito upang payagan ang "*" o lahat ng origins, ngunit medyo hindi ito ligtas. Dapat natin itong limitahan kapag nasa production na. +Sa kasalukuyan, naka-set up ito upang payagan ang "*" o lahat ng origins, ngunit hindi ito ligtas. Dapat natin itong limitahan kapag nasa production na. + +## Patakbuhin ang iyong proyekto -## Patakbuhin ang Iyong Proyekto +Upang patakbuhin ang iyong proyekto, kailangan mong simulan muna ang iyong backend at pagkatapos ang iyong frontend. -Ok, mayroon na tayong *llm.py* at *api.py*, paano natin ito mapapagana kasama ang backend? Dalawang bagay ang kailangan nating gawin: +### Gamit ang Python + +Ok, mayroon tayong *llm.py* at *api.py*. Paano natin ito mapapagana sa backend? Narito ang dalawang hakbang: - I-install ang mga dependencies: @@ -203,7 +215,7 @@ Ok, mayroon na tayong *llm.py* at *api.py*, paano natin ito mapapagana kasama an pip install openai flask flask-cors openai ``` -- I-start ang API: +- Simulan ang API: ```sh python api.py @@ -211,9 +223,9 @@ Ok, mayroon na tayong *llm.py* at *api.py*, paano natin ito mapapagana kasama an Kung nasa Codespaces ka, pumunta sa Ports sa ibabang bahagi ng editor, i-right-click ito at i-click ang "Port Visibility" at piliin ang "Public". -### Gumawa ng Frontend +### Gumawa ng frontend -Ngayon na may API na tayong tumatakbo, gumawa tayo ng frontend para dito. Isang pinakasimpleng frontend na ating pagagandahin nang paunti-unti. Sa isang *frontend* folder, gumawa ng mga sumusunod: +Ngayon na may API na tayong tumatakbo, gumawa tayo ng frontend para dito. Isang pinakasimpleng frontend na unti-unti nating pagagandahin. Sa isang *frontend* folder, gumawa ng mga sumusunod: ```text backend/ @@ -298,14 +310,14 @@ Ang nasa itaas ay ang pinakapayak na kailangan mo upang suportahan ang isang cha })(); ``` -Talakayin natin ang code bawat seksyon: +Tingnan natin ang code bawat seksyon: - 1) Dito, kinukuha natin ang reference sa lahat ng mga elemento na gagamitin natin sa code. -- 2) Sa seksyong ito, lumikha tayo ng function na gumagamit ng built-in na `fetch` method upang tawagan ang ating backend. +- 2) Sa seksyong ito, lumikha tayo ng function na gumagamit ng built-in na `fetch` method upang tawagin ang ating backend. - 3) Ang `appendMessage` ay tumutulong magdagdag ng mga sagot pati na rin ang mga mensaheng tina-type ng user. -- 4) Dito, nakikinig tayo sa submit event, binabasa ang input field, inilalagay ang mensahe ng user sa textarea, tinatawagan ang API, at irerender ang sagot sa textarea. +- 4) Dito, nakikinig tayo sa submit event, binabasa ang input field, inilalagay ang mensahe ng user sa textarea, tinatawag ang API, at irerender ang sagot sa textarea. -Tingnan natin ang styling, narito kung saan maaari kang maging malikhain at gawing ayon sa gusto mo, ngunit narito ang ilang mungkahi: +Tingnan natin ang styling, narito kung saan maaari kang maging malikhain at gawing ayon sa gusto mo. Narito ang ilang mungkahi: **styles.css** @@ -326,14 +338,14 @@ Tingnan natin ang styling, narito kung saan maaari kang maging malikhain at gawi } ``` -Sa tatlong klase na ito, maitatakda mo ang estilo ng mga mensahe depende kung galing ito sa assistant o sa user. Kung nais mong ma-inspire, tingnan ang `solution/frontend/styles.css` folder. +Sa tatlong klase na ito, iba-iba ang istilo ng mga mensahe depende kung galing ito sa assistant o sa user. Kung nais mong ma-inspire, tingnan ang `solution/frontend/styles.css` folder. -### Baguhin ang Base URL +### Baguhin ang Base Url -May isang bagay dito na hindi pa natin na-set, at iyon ay ang `BASE_URL`. Hindi ito malalaman hanggang sa ma-start ang iyong backend. Upang i-set ito: +May isang bagay dito na hindi pa natin na-set, at iyon ay ang `BASE_URL`. Hindi ito malalaman hanggang sa magsimula ang iyong backend. Upang i-set ito: - Kung ang API ay tumatakbo nang lokal, dapat itong i-set sa `http://localhost:5000`. -- Kung tumatakbo sa Codespaces, dapat itong magmukhang ganito: "[name]app.github.dev". +- Kung tumatakbo sa Codespaces, dapat itong magmukhang "[name]app.github.dev". ## Gawain @@ -346,8 +358,7 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` Kopyahin ang nilalaman mula sa mga itinuro sa itaas ngunit malaya kang i-customize ayon sa gusto mo. @@ -358,12 +369,18 @@ Kopyahin ang nilalaman mula sa mga itinuro sa itaas ngunit malaya kang i-customi ## Bonus -Subukang baguhin ang personalidad ng AI assistant. Kapag tinawag ang `call_llm` sa *api.py*, maaari mong baguhin ang pangalawang argumento ayon sa gusto mo, halimbawa: +Subukang baguhin ang personalidad ng AI assistant. + +### Para sa Python + +Kapag tinawag mo ang `call_llm` sa *api.py*, maaari mong baguhin ang pangalawang argumento ayon sa gusto mo, halimbawa: ```python call_llm(message, "You are Captain Picard") ``` +### Frontend + Baguhin din ang CSS at teksto ayon sa gusto mo, kaya't gumawa ng mga pagbabago sa *index.html* at *styles.css*. ## Buod @@ -373,7 +390,7 @@ Magaling, natutunan mo mula sa simula kung paano gumawa ng personal assistant ga ## I-set up gamit ang Codespaces - Pumunta sa: [Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) -- Gumawa mula sa template (siguraduhing naka-log in ka sa GitHub) sa kanang itaas na bahagi: +- Gumawa mula sa isang template (siguraduhing naka-log in ka sa GitHub) sa kanang itaas na bahagi: ![Create from template](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.tl.png) diff --git a/translations/tl/9-chat-project/solution/README.md b/translations/tl/9-chat-project/solution/README.md index 909b349f..cdc88478 100644 --- a/translations/tl/9-chat-project/solution/README.md +++ b/translations/tl/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# Patakbuhin ang code +# Patakbuhin ang solusyon -## Pag-set up - -Gumawa ng virtual environment - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## I-install ang mga kinakailangan - -```sh -pip install openai flask flask-cors -``` - -## Patakbuhin ang API - -```sh -python api.py -``` - -## Patakbuhin ang frontend - -Siguraduhing nasa frontend folder ka - -Hanapin ang *app.js*, palitan ang `BASE_URL` sa URL ng iyong backend - -Patakbuhin ito - -``` -npx http-server -p 8000 -``` - -Subukang mag-type ng mensahe sa chat, dapat kang makakita ng sagot (kung pinapatakbo mo ito sa isang Codespace o na-set up mo ang access token). - -## I-set up ang access token (kung hindi mo ito pinapatakbo sa isang Codespace) - -Tingnan ang [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Simulan ang [backend](./backend/README.md) +1. Ngayon simulan ang [frontend](./frontend/README.md) --- **Paunawa**: -Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na pinagmulan. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/9-chat-project/solution/backend/README.md b/translations/tl/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..90b6b50f --- /dev/null +++ b/translations/tl/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Piliin ang iyong runtime + +- [Python](./python/README.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/9-chat-project/solution/backend/python/README.md b/translations/tl/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..1b1d270d --- /dev/null +++ b/translations/tl/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Patakbuhin ang code + +## I-set up + +Gumawa ng virtual environment + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## I-install ang mga kinakailangan + +```sh +pip install openai flask flask-cors +``` + +## Patakbuhin ang API + +```sh +python api.py +``` + +## Patakbuhin ang frontend + +Siguraduhing nasa loob ka ng frontend folder + +Hanapin ang *app.js*, palitan ang `BASE_URL` sa URL ng iyong backend + +Patakbuhin ito + +``` +npx http-server -p 8000 +``` + +Subukang mag-type ng mensahe sa chat, dapat kang makakita ng sagot (kung pinapatakbo mo ito sa isang Codespace o nakapag-set up ka ng access token). + +## I-set up ang access token (kung hindi mo ito pinapatakbo sa isang Codespace) + +Tingnan ang [Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na pinagmulan. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/9-chat-project/solution/frontend/README.md b/translations/tl/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..47025274 --- /dev/null +++ b/translations/tl/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Patakbuhin ang code + +```sh +npx http-server -p 3000 +``` + +Hanapin ang `BASE_URL` sa `app.js` at palitan ito upang tumugma sa URL ng backend. + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tr/9-chat-project/README.md b/translations/tr/9-chat-project/README.md index d9b07778..7c48e8e3 100644 --- a/translations/tr/9-chat-project/README.md +++ b/translations/tr/9-chat-project/README.md @@ -1,15 +1,15 @@ # Sohbet Projesi -Bu sohbet projesi, GitHub Modelleri kullanarak bir Sohbet Asistanı oluşturmayı gösterir. +Bu sohbet projesi, GitHub Modellerini kullanarak bir Sohbet Asistanı oluşturmayı gösterir. İşte bitmiş projenin nasıl göründüğü: @@ -17,23 +17,25 @@ Bu sohbet projesi, GitHub Modelleri kullanarak bir Sohbet Asistanı oluşturmay Sohbet uygulaması -Biraz bağlam vermek gerekirse, üretken yapay zeka kullanarak Sohbet asistanları oluşturmak, yapay zeka hakkında öğrenmeye başlamak için harika bir yoldur. Bu derste, üretken yapay zekayı bir web uygulamasına entegre etmeyi öğreneceksiniz. Hadi başlayalım. +Biraz bağlam vermek gerekirse, üretken yapay zeka kullanarak Sohbet Asistanları oluşturmak, yapay zeka hakkında öğrenmeye başlamak için harika bir yoldur. Bu derste, üretken yapay zekayı bir web uygulamasına entegre etmeyi öğreneceksiniz. Hadi başlayalım. ## Üretken Yapay Zekaya Bağlanma -Backend için GitHub Modellerini kullanıyoruz. Bu, yapay zekayı ücretsiz olarak kullanmanıza olanak tanıyan harika bir hizmettir. Oyun alanına gidin ve seçtiğiniz backend diline karşılık gelen kodu alın. İşte [GitHub Modelleri Oyun Alanı](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) böyle görünüyor: +Backend için GitHub Modellerini kullanıyoruz. Bu, yapay zekayı ücretsiz olarak kullanmanıza olanak tanıyan harika bir hizmettir. Playground'a gidin ve seçtiğiniz backend diline karşılık gelen kodu alın. İşte [GitHub Modelleri Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) adresinde nasıl göründüğü:
- GitHub Modelleri Yapay Zeka Oyun Alanı + GitHub Modelleri AI Playground
-Dediğimiz gibi, "Kod" sekmesini ve seçtiğiniz çalışma zamanını seçin. +Dediğimiz gibi, "Code" sekmesini ve seçtiğiniz çalışma zamanını seçin.
- oyun alanı seçimi + playground seçimi
-Bu durumda Python'u seçiyoruz, bu da şu kodu alacağımız anlamına geliyor: +### Python Kullanımı + +Bu durumda Python'u seçiyoruz, bu da şu kodu seçmemiz gerektiği anlamına geliyor: ```python """Run this model in Python @@ -94,19 +96,21 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -Bu `call_llm` fonksiyonu ile artık bir istem ve bir sistem istemi alabilir ve fonksiyon sonucu döndürebilir. +Bu `call_llm` fonksiyonu ile artık bir prompt ve bir sistem prompt alabilir ve fonksiyon sonucu döndürebilir. ### Yapay Zeka Asistanını Özelleştirme -Yapay zeka asistanını özelleştirmek isterseniz, sistem istemini şu şekilde doldurarak nasıl davranmasını istediğinizi belirtebilirsiniz: +Yapay zeka asistanını özelleştirmek isterseniz, sistem promptunu şu şekilde doldurarak nasıl davranmasını istediğinizi belirtebilirsiniz: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") ``` -## Bir Web API'si Üzerinden Sunma +## Bir Web API Üzerinden Sunma + +Harika, yapay zeka kısmını tamamladık, şimdi bunu bir Web API'ye nasıl entegre edebileceğimize bakalım. Web API için Flask kullanmayı seçiyoruz, ancak herhangi bir web çerçevesi uygun olacaktır. İşte bunun için kod: -Harika, yapay zeka kısmını tamamladık, şimdi bunu bir Web API'sine nasıl entegre edebileceğimize bakalım. Web API'si için Flask kullanmayı seçiyoruz, ancak herhangi bir web çerçevesi uygun olacaktır. İşte bunun için kod: +### Python Kullanımı ```python # api.py @@ -137,9 +141,9 @@ if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` -Burada bir Flask API'si oluşturuyoruz ve "/" ve "/chat" olmak üzere iki rota tanımlıyoruz. İkincisi, frontendimizin soruları backend'e iletmesi için tasarlanmıştır. +Burada bir Flask API oluşturuyoruz ve "/" ve "/chat" adında iki rota tanımlıyoruz. İkincisi, frontendimizin soruları backend'e iletmesi için kullanılır. -*llm.py* dosyasını entegre etmek için yapmamız gerekenler şunlardır: +*llm.py* dosyasını entegre etmek için şunları yapmamız gerekiyor: - `call_llm` fonksiyonunu içe aktarın: @@ -148,7 +152,7 @@ Burada bir Flask API'si oluşturuyoruz ve "/" ve "/chat" olmak üzere iki rota t from flask import Flask, request ``` -- "/chat" rotasından çağırın: +- "/chat" rotasında çağırın: ```python @app.route("/hello", methods=["POST"]) @@ -163,7 +167,7 @@ Burada bir Flask API'si oluşturuyoruz ve "/" ve "/chat" olmak üzere iki rota t }) ``` - Burada gelen isteği ayrıştırarak JSON gövdesindeki `message` özelliğini alıyoruz. Daha sonra bu çağrıyı LLM ile yapıyoruz: + Burada gelen isteği ayrıştırarak JSON gövdesindeki `message` özelliğini alıyoruz. Daha sonra LLM'yi şu şekilde çağırıyoruz: ```python response = call_llm(message, "You are a helpful assistant") @@ -174,11 +178,15 @@ Burada bir Flask API'si oluşturuyoruz ve "/" ve "/chat" olmak üzere iki rota t }) ``` -Harika, şimdi ihtiyacımız olan her şeyi yaptık. +Harika, şimdi ihtiyacımız olanı yaptık. + +## Cors'u Yapılandırma -### Cors'u Yapılandırma +Backend ve frontend farklı portlarda çalışacağı için, frontend'in backend'e çağrı yapmasına izin vermek için CORS (cross-origin resource sharing) gibi bir şey ayarlamamız gerektiğini belirtmeliyiz. -Backend ve frontend farklı portlarda çalışacağı için, frontend'in backend'e çağrı yapmasına izin vermek için CORS (çapraz kaynak paylaşımı) gibi bir şey ayarlamamız gerektiğini belirtmeliyiz. *api.py* dosyasında bunu ayarlayan bir kod parçası var: +### Python Kullanımı + +*api.py* dosyasında bunu ayarlayan bir kod parçası var: ```python from flask_cors import CORS @@ -187,10 +195,14 @@ app = Flask(__name__) CORS(app) # * example.com ``` -Şu anda "*" yani tüm kaynaklara izin verecek şekilde ayarlandı ve bu biraz güvensiz. Üretime geçtiğimizde bunu sınırlamalıyız. +Şu anda "*" yani tüm kökenlere izin verecek şekilde ayarlanmış durumda ve bu biraz güvensizdir. Üretime geçtiğimizde bunu kısıtlamalıyız. ## Projenizi Çalıştırma +Projenizi çalıştırmak için önce backend'i, ardından frontend'i başlatmanız gerekiyor. + +### Python Kullanımı + Tamam, elimizde *llm.py* ve *api.py* var, bunu bir backend ile nasıl çalıştırabiliriz? İki şey yapmamız gerekiyor: - Bağımlılıkları yükleyin: @@ -209,11 +221,11 @@ Tamam, elimizde *llm.py* ve *api.py* var, bunu bir backend ile nasıl çalışt python api.py ``` - Eğer Codespaces kullanıyorsanız, editörün alt kısmındaki Portlar bölümüne gidin, sağ tıklayın ve "Port Visibility" seçeneğini seçerek "Public" yapın. + Codespaces kullanıyorsanız, editörün alt kısmındaki Ports bölümüne gidin, sağ tıklayın ve "Port Visibility" seçeneğini seçerek "Public" yapın. -### Bir Frontend Üzerinde Çalışma +### Frontend Üzerinde Çalışma -Artık bir API'miz çalışıyor, bunun için bir frontend oluşturalım. Adım adım geliştireceğimiz minimum bir frontend ile başlayacağız. *frontend* klasöründe şu dosyaları oluşturun: +Artık bir API'miz çalışıyor, bunun için bir frontend oluşturalım. Adım adım geliştireceğimiz minimum bir frontend. *frontend* klasöründe şu dosyaları oluşturun: ```text backend/ @@ -241,7 +253,7 @@ styles.css ``` -Yukarıdaki, bir sohbet penceresini desteklemek için gereken minimum yapıdır. Bir textarea, mesajların görüntüleneceği bir alan, bir giriş alanı ve mesajınızı backend'e göndermek için bir düğme içerir. Şimdi *app.js* içindeki JavaScript'e bakalım. +Yukarıdaki kod, bir sohbet penceresini desteklemek için gereken mutlak minimumdur. Bir textarea, bir input ve bir gönderme butonundan oluşur. Şimdi *app.js* içindeki JavaScript'e bakalım. **app.js** @@ -300,12 +312,12 @@ Yukarıdaki, bir sohbet penceresini desteklemek için gereken minimum yapıdır. Kodu bölüm bölüm inceleyelim: -- 1) Burada, daha sonra kodda başvuracağımız tüm öğelere bir referans alıyoruz. -- 2) Bu bölümde, yerleşik `fetch` yöntemini kullanarak backend'e çağrı yapan bir fonksiyon oluşturuyoruz. -- 3) `appendMessage`, hem kullanıcı olarak yazdığınız mesajları hem de yanıtları eklemeye yardımcı olur. -- 4) Burada, gönderme olayını dinliyoruz ve giriş alanını okuyarak, kullanıcının mesajını textarea'ya yerleştiriyoruz, API'yi çağırıyoruz ve yanıtı textarea'da görüntülüyoruz. +- 1) Burada daha sonra kodda başvuracağımız tüm öğelere referans alıyoruz. +- 2) Bu bölümde, yerleşik `fetch` metodunu kullanarak backend'e çağrı yapan bir fonksiyon oluşturuyoruz. +- 3) `appendMessage`, yanıtları ve kullanıcı olarak yazdığınız mesajları eklemeye yardımcı olur. +- 4) Burada submit olayını dinliyoruz ve input alanını okuyarak, kullanıcının mesajını textarea'ya yerleştiriyoruz, API'yi çağırıyoruz ve yanıtı textarea'da gösteriyoruz. -Şimdi stil kısmına bakalım. Burada tamamen özgürsünüz ve istediğiniz gibi tasarlayabilirsiniz, ancak işte bazı öneriler: +Şimdi stil kısmına bakalım, burada tamamen özgürsünüz, ancak işte bazı öneriler: **styles.css** @@ -326,18 +338,18 @@ Kodu bölüm bölüm inceleyelim: } ``` -Bu üç sınıf ile, mesajları bir asistandan mı yoksa bir kullanıcıdan mı geldiğine bağlı olarak farklı şekilde stillendirebilirsiniz. İlham almak isterseniz, `solution/frontend/styles.css` klasörüne göz atabilirsiniz. +Bu üç sınıf ile mesajları, asistan veya kullanıcıdan gelmesine bağlı olarak farklı şekilde stillendirebilirsiniz. İlham almak isterseniz, `solution/frontend/styles.css` klasörüne göz atabilirsiniz. -### Base URL'yi Değiştirme +### Base Url'i Değiştirme -Burada ayarlamadığımız bir şey vardı, o da `BASE_URL`. Backend başlatılana kadar bu bilinmez. Bunu ayarlamak için: +Burada ayarlamadığımız bir şey vardı, o da `BASE_URL`. Bu, backend başlatılana kadar bilinmez. Ayarlamak için: - API'yi yerel olarak çalıştırıyorsanız, `http://localhost:5000` gibi bir şey olmalıdır. - Codespaces'te çalıştırıyorsanız, "[name]app.github.dev" gibi bir şey olmalıdır. ## Ödev -*project* adında kendi klasörünüzü oluşturun ve şu şekilde içerik ekleyin: +*project* adında bir klasör oluşturun ve şu şekilde içerik ekleyin: ```text project/ @@ -346,11 +358,10 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` -Yukarıda talimat verilen içerikleri kopyalayın, ancak istediğiniz gibi özelleştirmekten çekinmeyin. +Yukarıda talimat verilen içeriği kopyalayın, ancak istediğiniz gibi özelleştirmekten çekinmeyin. ## Çözüm @@ -358,13 +369,19 @@ Yukarıda talimat verilen içerikleri kopyalayın, ancak istediğiniz gibi özel ## Bonus -Yapay zeka asistanının kişiliğini değiştirmeyi deneyin. *api.py* dosyasında `call_llm` fonksiyonunu çağırırken ikinci argümanı istediğiniz gibi değiştirebilirsiniz, örneğin: +Yapay zeka asistanının kişiliğini değiştirmeyi deneyin. + +### Python İçin + +*api.py* dosyasında `call_llm` çağrıldığında, ikinci argümanı istediğiniz şekilde değiştirebilirsiniz, örneğin: ```python call_llm(message, "You are Captain Picard") ``` -Ayrıca CSS ve metni istediğiniz gibi değiştirin, bu nedenle *index.html* ve *styles.css* dosyalarında değişiklik yapın. +### Frontend + +Ayrıca CSS ve metni de istediğiniz gibi değiştirin, bu nedenle *index.html* ve *styles.css* dosyalarında değişiklik yapın. ## Özet @@ -377,13 +394,13 @@ Harika, sıfırdan bir yapay zeka kullanarak kişisel bir asistan oluşturmayı ![Şablondan oluştur](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.tr.png) -- Kendi deponuzda, bir Codespace oluşturun: +- Depo içindeyken bir Codespace oluşturun: ![Codespace oluştur](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.tr.png) - Bu, artık üzerinde çalışabileceğiniz bir ortam başlatacaktır. + Bu, artık çalışabileceğiniz bir ortam başlatmalıdır. --- **Feragatname**: -Bu belge, [Co-op Translator](https://github.com/Azure/co-op-translator) adlı yapay zeka çeviri hizmeti kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlama veya yanlış yorumlamalardan sorumlu değiliz. \ No newline at end of file +Bu belge, AI çeviri hizmeti [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluğu sağlamak için çaba göstersek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalardan sorumlu değiliz. \ No newline at end of file diff --git a/translations/tr/9-chat-project/solution/README.md b/translations/tr/9-chat-project/solution/README.md index 49b6e3b8..32b686ca 100644 --- a/translations/tr/9-chat-project/solution/README.md +++ b/translations/tr/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# Kod çalıştırma +# Çözümü Çalıştır -## Kurulum - -Sanal ortam oluştur - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Bağımlılıkları yükle - -```sh -pip install openai flask flask-cors -``` - -## API'yi çalıştır - -```sh -python api.py -``` - -## Frontend'i çalıştır - -Frontend klasöründe olduğunuzdan emin olun - -*app.js* dosyasını bulun, `BASE_URL` değerini backend URL'nize göre değiştirin - -Çalıştırın - -``` -npx http-server -p 8000 -``` - -Sohbete bir mesaj yazmayı deneyin, bir yanıt görmelisiniz (bunu bir Codespace içinde çalıştırıyorsanız veya bir erişim token'ı ayarladıysanız). - -## Erişim token'ı ayarlama (eğer bunu bir Codespace içinde çalıştırmıyorsanız) - -[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) bağlantısına bakın +1. [backend](./backend/README.md)'i başlatın +1. Şimdi [frontend](./frontend/README.md)'i başlatın --- **Feragatname**: -Bu belge, [Co-op Translator](https://github.com/Azure/co-op-translator) adlı yapay zeka çeviri hizmeti kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz. \ No newline at end of file +Bu belge, AI çeviri hizmeti [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz. \ No newline at end of file diff --git a/translations/tr/9-chat-project/solution/backend/README.md b/translations/tr/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..797ec54e --- /dev/null +++ b/translations/tr/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Çalışma zamanınızı seçin + +- [Python](./python/README.md) + +--- + +**Feragatname**: +Bu belge, AI çeviri hizmeti [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz. \ No newline at end of file diff --git a/translations/tr/9-chat-project/solution/backend/python/README.md b/translations/tr/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..b4c8789a --- /dev/null +++ b/translations/tr/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Kod çalıştırma + +## Kurulum + +Sanal ortam oluştur + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Bağımlılıkları yükle + +```sh +pip install openai flask flask-cors +``` + +## API'yi çalıştır + +```sh +python api.py +``` + +## Frontend'i çalıştır + +Frontend klasöründe olduğunuzdan emin olun. + +*app.js* dosyasını bulun, `BASE_URL` değerini backend URL'nize göre değiştirin. + +Çalıştırın + +``` +npx http-server -p 8000 +``` + +Sohbette bir mesaj yazmayı deneyin, bir yanıt görmelisiniz (eğer bunu bir Codespace içinde çalıştırıyorsanız veya bir erişim tokeni ayarladıysanız). + +## Erişim tokeni ayarlama (eğer bunu bir Codespace içinde çalıştırmıyorsanız) + +[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) adresine bakın. + +--- + +**Feragatname**: +Bu belge, AI çeviri hizmeti [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalardan sorumlu değiliz. \ No newline at end of file diff --git a/translations/tr/9-chat-project/solution/frontend/README.md b/translations/tr/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..20ab29f8 --- /dev/null +++ b/translations/tr/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Kodu çalıştır + +```sh +npx http-server -p 3000 +``` + +`app.js` dosyasındaki `BASE_URL`'i bulun ve backend'in URL'siyle eşleşecek şekilde değiştirin. + +--- + +**Feragatname**: +Bu belge, AI çeviri hizmeti [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalardan sorumlu değiliz. \ No newline at end of file diff --git a/translations/tw/9-chat-project/README.md b/translations/tw/9-chat-project/README.md index 678dca34..3d944c5b 100644 --- a/translations/tw/9-chat-project/README.md +++ b/translations/tw/9-chat-project/README.md @@ -1,38 +1,40 @@ # 聊天專案 -這個聊天專案展示了如何使用 GitHub Models 建立一個聊天助理。 +這個聊天專案展示了如何使用 GitHub Models 建立一個聊天助手。 -以下是完成後的專案樣貌: +以下是完成的專案樣貌:
聊天應用程式
-一些背景資訊,使用生成式 AI 建立聊天助理是一個學習 AI 的絕佳起點。在這堂課中,你將學會如何將生成式 AI 整合到網頁應用程式中,讓我們開始吧。 +一些背景資訊,使用生成式 AI 建立聊天助手是一個學習 AI 的好方法。在這堂課中,你將學到如何將生成式 AI整合到網頁應用程式中,讓我們開始吧。 -## 連接到生成式 AI +## 連接生成式 AI -在後端部分,我們使用的是 GitHub Models。這是一個很棒的服務,讓你可以免費使用 AI。前往其 Playground,並取得對應於你選擇的後端語言的程式碼。以下是 [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) 的樣子: +在後端部分,我們使用 GitHub Models。這是一個很棒的服務,讓你可以免費使用 AI。前往它的 Playground,並取得與你選擇的後端語言相對應的程式碼。以下是 [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) 的樣子:
GitHub Models AI Playground
-如前所述,選擇 "Code" 標籤頁,並選擇你的執行環境。 +如我們所說,選擇 "Code" 標籤和你選擇的執行環境。
playground 選擇
+### 使用 Python + 在這個例子中,我們選擇 Python,這意味著我們會選擇以下程式碼: ```python @@ -70,7 +72,7 @@ response = client.chat.completions.create( print(response.choices[0].message.content) ``` -讓我們稍微整理一下這段程式碼,使其更具重用性: +讓我們稍微清理一下這段程式碼,使其可重複使用: ```python def call_llm(prompt: str, system_message: str): @@ -94,19 +96,21 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -透過這個函數 `call_llm`,我們現在可以傳入一個提示詞和一個系統提示詞,函數最終會返回結果。 +有了這個函數 `call_llm`,我們現在可以傳入提示和系統提示,函數最終會返回結果。 -### 自訂 AI 助理 +### 自訂 AI 助手 -如果你想自訂 AI 助理的行為,可以像這樣填入系統提示詞: +如果你想自訂 AI 助手的行為,可以像下面這樣填入系統提示: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") ``` -## 透過 Web API 暴露功能 +## 通過 Web API 暴露功能 + +太棒了,我們已完成 AI 部分,接下來看看如何將其整合到 Web API 中。對於 Web API,我們選擇使用 Flask,但任何網頁框架都可以。以下是程式碼: -太好了,我們已經完成了 AI 部分,現在來看看如何將其整合到 Web API 中。對於 Web API,我們選擇使用 Flask,但任何網頁框架都可以。以下是程式碼: +### 使用 Python ```python # api.py @@ -137,9 +141,9 @@ if __name__ == "__main__": app.run(host="0.0.0.0", port=5000) ``` -在這裡,我們建立了一個 Flask API,並定義了預設路由 "/" 和 "/chat"。後者是用來讓前端傳遞問題給後端的。 +在這裡,我們建立了一個 Flask API,並定義了預設路由 "/" 和 "/chat"。後者是供前端用來傳遞問題的。 -要整合 *llm.py*,我們需要執行以下步驟: +要整合 *llm.py*,我們需要做以下幾件事: - 匯入 `call_llm` 函數: @@ -174,11 +178,15 @@ if __name__ == "__main__": }) ``` -太好了,現在我們已經完成了所需的部分。 +太棒了,現在我們已完成所需的部分。 + +## 配置 Cors -### 配置 Cors +我們需要提到的是,我們設置了類似 CORS(跨來源資源共享)的東西。這意味著,由於後端和前端將在不同的端口上運行,我們需要允許前端調用後端。 -我們需要提到的是,我們設置了類似 CORS(跨來源資源共享)的功能。由於後端和前端將在不同的埠上運行,我們需要允許前端呼叫後端。在 *api.py* 中有一段程式碼設置了這個功能: +### 使用 Python + +在 *api.py* 中有一段程式碼設置了這個功能: ```python from flask_cors import CORS @@ -187,11 +195,15 @@ app = Flask(__name__) CORS(app) # * example.com ``` -目前它被設置為允許 "*",即所有來源,這有點不安全,應該在進入生產環境時進行限制。 +目前它被設置為允許 "*",即所有來源,但這樣有點不安全,當進入生產環境時應該限制它。 ## 運行你的專案 -好的,我們有了 *llm.py* 和 *api.py*,如何讓它們與後端一起運行呢?我們需要做兩件事: +要運行你的專案,你需要先啟動後端,然後啟動前端。 + +### 使用 Python + +好的,我們有 *llm.py* 和 *api.py*,如何讓它們在後端運行呢?有兩件事需要做: - 安裝依賴項: @@ -209,11 +221,11 @@ CORS(app) # * example.com python api.py ``` - 如果你在 Codespaces 中運行,請前往編輯器底部的 Ports,右鍵點擊它並選擇 "Port Visibility",然後選擇 "Public"。 + 如果你在 Codespaces 中,需前往編輯器底部的 Ports,右鍵點擊並選擇 "Port Visibility",然後選擇 "Public"。 ### 開發前端 -現在我們的 API 已經運行起來了,讓我們為它建立一個前端。這是一個最基本的前端,我們將逐步改進它。在 *frontend* 資料夾中,建立以下內容: +現在我們的 API 已經啟動並運行,讓我們為此建立一個前端。這是一個最低限度的前端,我們將逐步改進它。在 *frontend* 資料夾中,建立以下內容: ```text backend/ @@ -223,7 +235,7 @@ app.js styles.css ``` -我們從 **index.html** 開始: +首先是 **index.html**: ```html @@ -241,7 +253,7 @@ styles.css ``` -以上是支持聊天窗口的最低要求,包含一個用於顯示訊息的文字區域、一個輸入框用於輸入訊息,以及一個按鈕用於將訊息發送到後端。接下來讓我們看看 *app.js* 中的 JavaScript: +以上是支持聊天窗口所需的最低限度,它包括一個 textarea 用於顯示訊息,一個輸入框用於輸入訊息,以及一個按鈕用於將訊息發送到後端。接下來看看 *app.js* 中的 JavaScript。 **app.js** @@ -300,12 +312,12 @@ styles.css 讓我們逐段解析程式碼: -- 1) 在這裡,我們獲取所有稍後會在程式碼中引用的元素。 -- 2) 在這部分,我們建立了一個函數,使用內建的 `fetch` 方法來呼叫後端。 +- 1) 在這裡,我們獲取所有稍後會引用的元素。 +- 2) 在這部分,我們建立了一個函數,使用內建的 `fetch` 方法來調用後端。 - 3) `appendMessage` 幫助添加回應以及用戶輸入的訊息。 -- 4) 在這裡,我們監聽提交事件,讀取輸入欄位,將用戶的訊息放入文字區域,呼叫 API,並將回應渲染到文字區域中。 +- 4) 在這裡,我們監聽提交事件,讀取輸入框,將用戶的訊息放入 textarea,調用 API,並將回應渲染到 textarea。 -接下來讓我們看看樣式,這裡你可以自由發揮,以下是一些建議: +接下來看看樣式部分,這裡你可以自由發揮,讓它看起來像你想要的樣子,但以下是一些建議: **styles.css** @@ -326,18 +338,18 @@ styles.css } ``` -透過這三個類別,你可以根據訊息的來源(助理或用戶)來設置不同的樣式。如果需要靈感,可以查看 `solution/frontend/styles.css` 資料夾。 +有了這三個類別,你可以根據訊息的來源(助手或用戶)來區分樣式。如果需要靈感,可以查看 `solution/frontend/styles.css` 資料夾。 -### 修改 Base Url +### 更改 Base Url -有一件事我們還沒設置,那就是 `BASE_URL`,這在後端啟動之前是未知的。設置方式如下: +有一件事我們還沒設置,那就是 `BASE_URL`,這在後端啟動之前是未知的。設置方法如下: - 如果你在本地運行 API,應設置為類似 `http://localhost:5000`。 - 如果在 Codespaces 中運行,應設置為類似 "[name]app.github.dev"。 ## 作業 -建立你自己的資料夾 *project*,內容如下: +建立自己的資料夾 *project*,內容如下: ```text project/ @@ -346,38 +358,43 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` 複製上述指示的內容,但可以根據自己的喜好進行自訂。 -## 解答 +## 解決方案 -[解答](./solution/README.md) +[解決方案](./solution/README.md) ## 額外挑戰 -嘗試改變 AI 助理的個性。在 *api.py* 中呼叫 `call_llm` 時,可以將第二個參數更改為你想要的內容,例如: +嘗試更改 AI 助手的個性。 + +### 對於 Python + +在 *api.py* 中呼叫 `call_llm` 時,可以更改第二個參數為你想要的內容,例如: ```python call_llm(message, "You are Captain Picard") ``` +### 前端 + 同時更改 CSS 和文字,使其符合你的喜好,因此需要修改 *index.html* 和 *styles.css*。 ## 總結 -太棒了,你已經從零開始學會如何使用 AI 建立一個個人助理。我們使用了 GitHub Models、Python 後端以及 HTML、CSS 和 JavaScript 前端來完成這個專案。 +太棒了,你已經從零開始學會如何使用 AI 建立個人助手。我們使用了 GitHub Models、Python 後端以及 HTML、CSS 和 JavaScript 前端完成了這項工作。 ## 使用 Codespaces 設置 - 前往:[Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) -- 從模板建立(確保你已登入 GitHub)右上角: +- 在右上角建立模板(確保你已登入 GitHub): - ![從模板建立](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.tw.png) + ![建立模板](../../../translated_images/template.67ad477109d29a2b04599a83c964c87fcde041256d4f04d3589cbb00c696f76c.tw.png) -- 一旦進入你的 repo,建立一個 Codespace: +- 進入你的 repo 後,建立 Codespace: ![建立 Codespace](../../../translated_images/codespace.bcecbdf5d2747d3d17da67a78ad911c8853d68102e34748ec372cde1e9236e1d.tw.png) @@ -386,4 +403,4 @@ call_llm(message, "You are Captain Picard") --- **免責聲明**: -本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋不承擔責任。 \ No newline at end of file +本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。 \ No newline at end of file diff --git a/translations/tw/9-chat-project/solution/README.md b/translations/tw/9-chat-project/solution/README.md index 1088e26a..3baae0d8 100644 --- a/translations/tw/9-chat-project/solution/README.md +++ b/translations/tw/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# 執行程式碼 +# 執行解決方案 -## 設置環境 - -建立虛擬環境 - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## 安裝依賴項 - -```sh -pip install openai flask flask-cors -``` - -## 啟動 API - -```sh -python api.py -``` - -## 啟動前端 - -確保你位於 frontend 資料夾中 - -找到 *app.js*,將 `BASE_URL` 更改為你的後端 URL - -執行它 - -``` -npx http-server -p 8000 -``` - -嘗試在聊天中輸入一條訊息,你應該會看到回應(前提是你在 Codespace 中運行此程式,或者已設置訪問權杖)。 - -## 設置訪問權杖(如果你不是在 Codespace 中運行) - -請參閱 [設置 PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. 啟動 [backend](./backend/README.md) +1. 接著啟動 [frontend](./frontend/README.md) --- **免責聲明**: -本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。 \ No newline at end of file +本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。 \ No newline at end of file diff --git a/translations/tw/9-chat-project/solution/backend/README.md b/translations/tw/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..c35d20bb --- /dev/null +++ b/translations/tw/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +選擇您的執行環境 + +- [Python](./python/README.md) + +--- + +**免責聲明**: +本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。 \ No newline at end of file diff --git a/translations/tw/9-chat-project/solution/backend/python/README.md b/translations/tw/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..097d1e71 --- /dev/null +++ b/translations/tw/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# 執行程式碼 + +## 設置環境 + +建立虛擬環境 + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## 安裝依賴項 + +```sh +pip install openai flask flask-cors +``` + +## 啟動 API + +```sh +python api.py +``` + +## 啟動前端 + +確保你位於前端資料夾中 + +找到 *app.js*,將 `BASE_URL` 更改為你的後端 URL + +執行它 + +``` +npx http-server -p 8000 +``` + +嘗試在聊天中輸入訊息,你應該會看到回應(前提是你在 Codespace 中執行此操作或已設置存取權杖)。 + +## 設置存取權杖(如果你不是在 Codespace 中執行) + +請參閱 [設置 PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**免責聲明**: +本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。 \ No newline at end of file diff --git a/translations/tw/9-chat-project/solution/frontend/README.md b/translations/tw/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..840b9fb1 --- /dev/null +++ b/translations/tw/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# 執行程式碼 + +```sh +npx http-server -p 3000 +``` + +找到 `app.js` 中的 `BASE_URL`,並將其更改為與後端的 URL 相匹配。 + +--- + +**免責聲明**: +本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。 \ No newline at end of file diff --git a/translations/uk/9-chat-project/README.md b/translations/uk/9-chat-project/README.md index ec5ea2de..8e548f32 100644 --- a/translations/uk/9-chat-project/README.md +++ b/translations/uk/9-chat-project/README.md @@ -1,15 +1,15 @@ # Проєкт чату -Цей проєкт чату демонструє, як створити Чат-асистента за допомогою GitHub Models. +Цей проєкт чату демонструє, як створити чат-асистента, використовуючи моделі GitHub. Ось як виглядає готовий проєкт: @@ -17,23 +17,25 @@ CO_OP_TRANSLATOR_METADATA: Додаток чату -Трохи контексту: створення чат-асистентів за допомогою генеративного ШІ — це чудовий спосіб почати вивчати штучний інтелект. У цьому уроці ви навчитеся інтегрувати генеративний ШІ у веб-додаток. Почнемо. +Трохи контексту: створення чат-асистентів за допомогою генеративного штучного інтелекту — чудовий спосіб почати вивчати AI. У цьому уроці ви навчитеся інтегрувати генеративний AI у веб-додаток. Почнемо. -## Підключення до генеративного ШІ +## Підключення до генеративного AI -Для бекенду ми використовуємо GitHub Models. Це чудовий сервіс, який дозволяє безкоштовно використовувати ШІ. Перейдіть до його "пісочниці" (playground) і скопіюйте код, що відповідає вашій обраній мові програмування для бекенду. Ось як це виглядає: [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground) +Для бекенду ми використовуємо моделі GitHub. Це чудовий сервіс, який дозволяє використовувати AI безкоштовно. Перейдіть до його "пісочниці" та отримайте код, який відповідає вашій вибраній мові бекенду. Ось як це виглядає: [GitHub Models Playground](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground)
Пісочниця GitHub Models AI
-Як ми вже зазначали, оберіть вкладку "Code" і ваш обраний runtime. +Як ми вже казали, виберіть вкладку "Code" та ваш середовище виконання.
- вибір у пісочниці + вибір пісочниці
-У цьому випадку ми обираємо Python, що означає, що ми використовуємо цей код: +### Використання Python + +У цьому випадку ми вибираємо Python, що означає, що ми беремо цей код: ```python """Run this model in Python @@ -70,7 +72,7 @@ response = client.chat.completions.create( print(response.choices[0].message.content) ``` -Давайте трохи очистимо цей код, щоб зробити його більш зручним для повторного використання: +Давайте трохи очистимо цей код, щоб він був більш універсальним: ```python def call_llm(prompt: str, system_message: str): @@ -94,11 +96,11 @@ def call_llm(prompt: str, system_message: str): return response.choices[0].message.content ``` -З цією функцією `call_llm` ми тепер можемо передати підказку (prompt) і системну підказку, а функція поверне результат. +З цією функцією `call_llm` ми тепер можемо взяти запит і системний запит, а функція поверне результат. -### Налаштування ШІ-асистента +### Налаштування AI-асистента -Якщо ви хочете налаштувати ШІ-асистента, ви можете вказати, як саме він має поводитися, заповнивши системну підказку ось так: +Якщо ви хочете налаштувати AI-асистента, ви можете визначити, як він має поводитися, заповнивши системний запит ось так: ```python call_llm("Tell me about you", "You're Albert Einstein, you only know of things in the time you were alive") @@ -106,7 +108,9 @@ call_llm("Tell me about you", "You're Albert Einstein, you only know of things i ## Відкриття через Web API -Чудово, ми завершили частину з ШІ, тепер подивимося, як інтегрувати це у Web API. Для Web API ми обираємо Flask, але підійде будь-який веб-фреймворк. Ось код: +Чудово, ми завершили частину з AI, тепер давайте подивимося, як інтегрувати це у Web API. Для Web API ми вибираємо Flask, але будь-який веб-фреймворк підійде. Ось код: + +### Використання Python ```python # api.py @@ -139,7 +143,7 @@ if __name__ == "__main__": Тут ми створюємо API на Flask і визначаємо маршрути "/" та "/chat". Останній призначений для використання нашим фронтендом для передачі запитань. -Щоб інтегрувати *llm.py*, ось що потрібно зробити: +Щоб інтегрувати *llm.py*, ось що нам потрібно зробити: - Імпортувати функцію `call_llm`: @@ -163,7 +167,7 @@ if __name__ == "__main__": }) ``` - Тут ми розбираємо вхідний запит, щоб отримати властивість `message` з JSON-тіла. Після цього ми викликаємо LLM за допомогою цього виклику: + Тут ми розбираємо вхідний запит, щоб отримати властивість `message` з JSON-тіла. Потім ми викликаємо LLM за допомогою цього виклику: ```python response = call_llm(message, "You are a helpful assistant") @@ -176,9 +180,13 @@ if __name__ == "__main__": Чудово, тепер ми зробили все необхідне. -### Налаштування Cors +## Налаштування Cors + +Варто зазначити, що ми налаштували щось на зразок CORS — спільного використання ресурсів між різними джерелами. Це означає, що оскільки наш бекенд і фронтенд працюватимуть на різних портах, нам потрібно дозволити фронтенду викликати бекенд. -Варто зазначити, що ми налаштували щось на кшталт CORS (Cross-Origin Resource Sharing). Це означає, що оскільки наш бекенд і фронтенд працюватимуть на різних портах, нам потрібно дозволити фронтенду звертатися до бекенду. У файлі *api.py* є код, який це налаштовує: +### Використання Python + +У файлі *api.py* є код, який це налаштовує: ```python from flask_cors import CORS @@ -187,11 +195,15 @@ app = Flask(__name__) CORS(app) # * example.com ``` -Зараз це налаштовано для дозволу "*" (усіх джерел), що є трохи небезпечним. Ми повинні обмежити це, коли перейдемо до продакшну. +Зараз це налаштовано на дозвіл "*" — тобто всі джерела, і це трохи небезпечно. Ми повинні обмежити це, коли перейдемо до продакшну. ## Запуск проєкту -Отже, у нас є *llm.py* і *api.py*. Як це запустити з бекендом? Є два кроки: +Щоб запустити проєкт, спочатку потрібно запустити бекенд, а потім фронтенд. + +### Використання Python + +Отже, у нас є *llm.py* і *api.py*. Як ми можемо змусити це працювати з бекендом? Є дві речі, які потрібно зробити: - Встановити залежності: @@ -203,17 +215,17 @@ CORS(app) # * example.com pip install openai flask flask-cors openai ``` -- Запустити API: +- Запустити API ```sh python api.py ``` - Якщо ви працюєте в Codespaces, потрібно перейти до Ports у нижній частині редактора, клацнути правою кнопкою миші та вибрати "Port Visibility", а потім "Public". + Якщо ви працюєте в Codespaces, вам потрібно перейти до Ports у нижній частині редактора, клацнути правою кнопкою миші та вибрати "Port Visibility", а потім "Public". ### Робота над фронтендом -Тепер, коли наш API працює, створимо фронтенд. Мінімальний фронтенд, який ми будемо покращувати поступово. У папці *frontend* створіть наступне: +Тепер, коли у нас є API, давайте створимо фронтенд для цього. Мінімальний фронтенд, який ми будемо покращувати поступово. У папці *frontend* створіть наступне: ```text backend/ @@ -241,7 +253,7 @@ styles.css ``` -Це мінімум, необхідний для підтримки вікна чату. Він складається з текстової області, де відображатимуться повідомлення, поля вводу для введення повідомлення та кнопки для надсилання вашого повідомлення на бекенд. Тепер подивимося на JavaScript у файлі *app.js*. +Це мінімум, який вам потрібен для підтримки вікна чату, оскільки він складається з текстової області, де будуть відображатися повідомлення, поля введення для введення повідомлення та кнопки для надсилання вашого повідомлення на бекенд. Давайте подивимося на JavaScript у файлі *app.js*. **app.js** @@ -301,11 +313,11 @@ styles.css Розглянемо код по секціях: - 1) Тут ми отримуємо посилання на всі елементи, до яких будемо звертатися пізніше в коді. -- 2) У цій секції ми створюємо функцію, яка використовує вбудований метод `fetch` для виклику нашого бекенду. +- 2) У цьому розділі ми створюємо функцію, яка використовує вбудований метод `fetch` для виклику нашого бекенду. - 3) `appendMessage` допомагає додавати відповіді, а також те, що ви вводите як користувач. -- 4) Тут ми слухаємо подію submit, читаємо поле вводу, розміщуємо повідомлення користувача в текстовій області, викликаємо API і відображаємо відповідь у текстовій області. +- 4) Тут ми слухаємо подію submit, читаємо поле введення, додаємо повідомлення користувача в текстову область, викликаємо API, відображаємо відповідь у текстовій області. -Тепер подивимося на стилізацію. Тут ви можете проявити креативність і зробити все, як вам подобається, але ось кілька пропозицій: +Давайте подивимося на стилі, тут ви можете проявити фантазію і зробити вигляд таким, як вам подобається, але ось кілька пропозицій: **styles.css** @@ -326,14 +338,14 @@ styles.css } ``` -З цими трьома класами ви зможете стилізувати повідомлення залежно від того, звідки вони надходять — від асистента чи від вас як користувача. Якщо вам потрібне натхнення, перегляньте папку `solution/frontend/styles.css`. +З цими трьома класами ви будете стилізувати повідомлення залежно від того, звідки вони надходять — від асистента чи від вас як користувача. Якщо хочете надихнутися, перегляньте папку `solution/frontend/styles.css`. -### Зміна базової URL-адреси +### Зміна базового URL -Є одна річ, яку ми ще не налаштували, — це `BASE_URL`. Вона стане відомою лише після запуску вашого бекенду. Щоб налаштувати її: +Є одна річ, яку ми тут не встановили — це `BASE_URL`. Його не буде відомо, поки ваш бекенд не запуститься. Щоб встановити: -- Якщо ви запускаєте API локально, вона має виглядати приблизно так: `http://localhost:5000`. -- Якщо ви запускаєте в Codespaces, вона має виглядати приблизно так: "[name]app.github.dev". +- Якщо ви запускаєте API локально, він має бути встановлений як `http://localhost:5000`. +- Якщо запускаєте в Codespaces, він має виглядати приблизно як "[name]app.github.dev". ## Завдання @@ -346,11 +358,10 @@ project/ app.js styles.css backend/ - api.py - llm.py + ... ``` -Скопіюйте вміст із вказівок вище, але не соромтеся налаштовувати його на свій смак. +Скопіюйте вміст із того, що було описано вище, але не соромтеся налаштовувати на свій смак. ## Рішення @@ -358,19 +369,25 @@ project/ ## Бонус -Спробуйте змінити особистість ШІ-асистента. Коли ви викликаєте `call_llm` у файлі *api.py*, ви можете змінити другий аргумент на те, що вам потрібно, наприклад: +Спробуйте змінити особистість AI-асистента. + +### Для Python + +Коли ви викликаєте `call_llm` у *api.py*, ви можете змінити другий аргумент на те, що вам потрібно, наприклад: ```python call_llm(message, "You are Captain Picard") ``` -Також змініть CSS і текст на свій смак, тобто внесіть зміни у *index.html* і *styles.css*. +### Фронтенд + +Також змініть CSS і текст на свій смак, внесіть зміни у *index.html* і *styles.css*. ## Підсумок -Чудово, ви навчилися з нуля створювати персонального асистента за допомогою ШІ. Ми зробили це, використовуючи GitHub Models, бекенд на Python і фронтенд на HTML, CSS і JavaScript. +Чудово, ви навчилися з нуля створювати персонального асистента за допомогою AI. Ми зробили це, використовуючи моделі GitHub, бекенд на Python і фронтенд на HTML, CSS та JavaScript. -## Налаштування в Codespaces +## Налаштування з Codespaces - Перейдіть до: [Web Dev For Beginners repo](https://github.com/microsoft/Web-Dev-For-Beginners) - Створіть із шаблону (переконайтеся, що ви увійшли в GitHub) у верхньому правому куті: @@ -386,4 +403,4 @@ call_llm(message, "You are Captain Picard") --- **Відмова від відповідальності**: -Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу. \ No newline at end of file +Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу. \ No newline at end of file diff --git a/translations/uk/9-chat-project/solution/README.md b/translations/uk/9-chat-project/solution/README.md index cf4921df..9fe45445 100644 --- a/translations/uk/9-chat-project/solution/README.md +++ b/translations/uk/9-chat-project/solution/README.md @@ -1,55 +1,18 @@ -# Запуск коду +# Запуск рішення -## Налаштування - -Створіть віртуальне середовище - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Встановіть залежності - -```sh -pip install openai flask flask-cors -``` - -## Запустіть API - -```sh -python api.py -``` - -## Запустіть фронтенд - -Переконайтеся, що ви знаходитеся в папці фронтенду - -Знайдіть *app.js*, змініть `BASE_URL` на URL вашого бекенду - -Запустіть його - -``` -npx http-server -p 8000 -``` - -Спробуйте ввести повідомлення в чаті, ви повинні побачити відповідь (за умови, що ви запускаєте це в Codespace або налаштували токен доступу). - -## Налаштування токена доступу (якщо ви не запускаєте це в Codespace) - -Дивіться [Налаштування PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Запустіть [бекенд](./backend/README.md) +1. Тепер запустіть [фронтенд](./frontend/README.md) --- **Відмова від відповідальності**: -Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу. \ No newline at end of file +Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматизовані переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу. \ No newline at end of file diff --git a/translations/uk/9-chat-project/solution/backend/README.md b/translations/uk/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..006aef04 --- /dev/null +++ b/translations/uk/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Виберіть середовище виконання + +- [Python](./python/README.md) + +--- + +**Відмова від відповідальності**: +Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу. \ No newline at end of file diff --git a/translations/uk/9-chat-project/solution/backend/python/README.md b/translations/uk/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..c29b991b --- /dev/null +++ b/translations/uk/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Запуск коду + +## Налаштування + +Створіть віртуальне середовище + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Встановлення залежностей + +```sh +pip install openai flask flask-cors +``` + +## Запуск API + +```sh +python api.py +``` + +## Запуск фронтенду + +Переконайтеся, що ви знаходитеся в папці фронтенду + +Знайдіть *app.js*, змініть `BASE_URL` на URL вашого бекенду + +Запустіть його + +``` +npx http-server -p 8000 +``` + +Спробуйте ввести повідомлення в чаті, ви повинні побачити відповідь (за умови, що ви запускаєте це в Codespace або налаштували токен доступу). + +## Налаштування токена доступу (якщо ви не запускаєте це в Codespace) + +Дивіться [Налаштування PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Відмова від відповідальності**: +Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу. \ No newline at end of file diff --git a/translations/uk/9-chat-project/solution/frontend/README.md b/translations/uk/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..817c978e --- /dev/null +++ b/translations/uk/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Запустіть код + +```sh +npx http-server -p 3000 +``` + +Знайдіть `BASE_URL` у файлі `app.js` і змініть його, щоб він відповідав URL бекенду. + +--- + +**Відмова від відповідальності**: +Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу. \ No newline at end of file diff --git a/translations/ur/9-chat-project/README.md b/translations/ur/9-chat-project/README.md index b439cf10..2e89402e 100644 --- a/translations/ur/9-chat-project/README.md +++ b/translations/ur/9-chat-project/README.md @@ -1,8 +1,8 @@ -# کوڈ چلائیں +# حل چلائیں -## سیٹ اپ - -ورچوئل ماحول بنائیں - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## انحصارات انسٹال کریں - -```sh -pip install openai flask flask-cors -``` - -## API چلائیں - -```sh -python api.py -``` - -## فرنٹ اینڈ چلائیں - -یقینی بنائیں کہ آپ فرنٹ اینڈ فولڈر میں موجود ہیں - -*app.js* تلاش کریں، `BASE_URL` کو اپنے بیک اینڈ URL پر تبدیل کریں - -اسے چلائیں - -``` -npx http-server -p 8000 -``` - -چیٹ میں ایک پیغام ٹائپ کرنے کی کوشش کریں، آپ کو ایک جواب نظر آنا چاہیے (بشرطیکہ آپ یہ Codespace میں چلا رہے ہوں یا ایکسیس ٹوکن سیٹ اپ کیا ہو)۔ - -## ایکسیس ٹوکن سیٹ اپ کریں (اگر آپ یہ Codespace میں نہیں چلا رہے) - -[Set up PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) دیکھیں +1. [بیک اینڈ](./backend/README.md) کو شروع کریں +1. اب [فرنٹ اینڈ](./frontend/README.md) کو شروع کریں --- -**ڈس کلیمر**: -یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا عدم درستگی ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے لیے ہم ذمہ دار نہیں ہیں۔ \ No newline at end of file +**ڈسکلیمر**: +یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔ \ No newline at end of file diff --git a/translations/ur/9-chat-project/solution/backend/README.md b/translations/ur/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..e5d78111 --- /dev/null +++ b/translations/ur/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +اپنا رن ٹائم منتخب کریں + +- [Python](./python/README.md) + +--- + +**ڈسکلیمر**: +یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔ \ No newline at end of file diff --git a/translations/ur/9-chat-project/solution/backend/python/README.md b/translations/ur/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..21b68b28 --- /dev/null +++ b/translations/ur/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# کوڈ چلائیں + +## ترتیب دیں + +ورچوئل ماحول بنائیں + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## انحصارات انسٹال کریں + +```sh +pip install openai flask flask-cors +``` + +## API چلائیں + +```sh +python api.py +``` + +## فرنٹ اینڈ چلائیں + +یقینی بنائیں کہ آپ فرنٹ اینڈ فولڈر میں موجود ہیں + +*app.js* تلاش کریں، `BASE_URL` کو اپنے بیک اینڈ URL پر تبدیل کریں + +اسے چلائیں + +``` +npx http-server -p 8000 +``` + +چیٹ میں کوئی پیغام ٹائپ کرنے کی کوشش کریں، آپ کو ایک جواب نظر آنا چاہیے (بشرطیکہ آپ یہ Codespace میں چلا رہے ہوں یا ایکسیس ٹوکن ترتیب دیا ہو)۔ + +## ایکسیس ٹوکن ترتیب دیں (اگر آپ یہ Codespace میں نہیں چلا رہے) + +[ذاتی ایکسیس ٹوکن ترتیب دیں](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) دیکھیں۔ + +--- + +**ڈسکلیمر**: +یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔ \ No newline at end of file diff --git a/translations/ur/9-chat-project/solution/frontend/README.md b/translations/ur/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..1239f218 --- /dev/null +++ b/translations/ur/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# کوڈ چلائیں + +```sh +npx http-server -p 3000 +``` + +`app.js` میں `BASE_URL` تلاش کریں اور اسے بیک اینڈ کے URL کے مطابق تبدیل کریں۔ + +--- + +**ڈسکلیمر**: +یہ دستاویز AI ترجمہ سروس [Co-op Translator](https://github.com/Azure/co-op-translator) کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔ \ No newline at end of file diff --git a/translations/vi/9-chat-project/README.md b/translations/vi/9-chat-project/README.md index 296272aa..9cdabc9c 100644 --- a/translations/vi/9-chat-project/README.md +++ b/translations/vi/9-chat-project/README.md @@ -1,8 +1,8 @@ -# Chạy mã +# Chạy giải pháp -## Thiết lập - -Tạo môi trường ảo - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## Cài đặt các thư viện phụ thuộc - -```sh -pip install openai flask flask-cors -``` - -## Chạy API - -```sh -python api.py -``` - -## Chạy giao diện người dùng - -Đảm bảo bạn đang đứng trong thư mục frontend - -Tìm *app.js*, thay đổi `BASE_URL` thành URL của backend của bạn - -Chạy nó - -``` -npx http-server -p 8000 -``` - -Hãy thử nhập một tin nhắn trong chat, bạn sẽ thấy phản hồi (miễn là bạn đang chạy điều này trong Codespace hoặc đã thiết lập mã thông báo truy cập). - -## Thiết lập mã thông báo truy cập (nếu bạn không chạy điều này trong Codespace) - -Xem [Thiết lập PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. Khởi động [backend](./backend/README.md) +1. Sau đó khởi động [frontend](./frontend/README.md) --- **Tuyên bố miễn trừ trách nhiệm**: -Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn tham khảo chính thức. Đối với các thông tin quan trọng, nên sử dụng dịch vụ dịch thuật chuyên nghiệp từ con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này. \ No newline at end of file +Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn thông tin chính thức. Đối với các thông tin quan trọng, khuyến nghị sử dụng dịch vụ dịch thuật chuyên nghiệp bởi con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này. \ No newline at end of file diff --git a/translations/vi/9-chat-project/solution/backend/README.md b/translations/vi/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..cdcea548 --- /dev/null +++ b/translations/vi/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +Chọn môi trường chạy của bạn + +- [Python](./python/README.md) + +--- + +**Tuyên bố miễn trừ trách nhiệm**: +Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn tham khảo chính thức. Đối với các thông tin quan trọng, chúng tôi khuyến nghị sử dụng dịch vụ dịch thuật chuyên nghiệp từ con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này. \ No newline at end of file diff --git a/translations/vi/9-chat-project/solution/backend/python/README.md b/translations/vi/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..e2400e9e --- /dev/null +++ b/translations/vi/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# Chạy mã + +## Thiết lập + +Tạo môi trường ảo + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## Cài đặt các phụ thuộc + +```sh +pip install openai flask flask-cors +``` + +## Chạy API + +```sh +python api.py +``` + +## Chạy giao diện người dùng + +Đảm bảo bạn đang đứng trong thư mục frontend + +Tìm *app.js*, thay đổi `BASE_URL` thành URL backend của bạn + +Chạy nó + +``` +npx http-server -p 8000 +``` + +Hãy thử nhập một tin nhắn trong khung chat, bạn sẽ thấy một phản hồi (với điều kiện bạn đang chạy điều này trong Codespace hoặc đã thiết lập mã thông báo truy cập). + +## Thiết lập mã thông báo truy cập (nếu bạn không chạy điều này trong Codespace) + +Xem [Thiết lập PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**Tuyên bố miễn trừ trách nhiệm**: +Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc sự không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn tham khảo chính thức. Đối với các thông tin quan trọng, nên sử dụng dịch vụ dịch thuật chuyên nghiệp từ con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này. \ No newline at end of file diff --git a/translations/vi/9-chat-project/solution/frontend/README.md b/translations/vi/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..98980c7e --- /dev/null +++ b/translations/vi/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# Chạy mã + +```sh +npx http-server -p 3000 +``` + +Tìm `BASE_URL` trong `app.js` và thay đổi nó để khớp với URL của backend. + +--- + +**Tuyên bố miễn trừ trách nhiệm**: +Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn thông tin chính thức. Đối với các thông tin quan trọng, khuyến nghị sử dụng dịch vụ dịch thuật chuyên nghiệp bởi con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này. \ No newline at end of file diff --git a/translations/zh/9-chat-project/README.md b/translations/zh/9-chat-project/README.md index 6805aee5..2c19e8d0 100644 --- a/translations/zh/9-chat-project/README.md +++ b/translations/zh/9-chat-project/README.md @@ -1,8 +1,8 @@ -# 运行代码 +# 运行解决方案 -## 设置 - -创建虚拟环境 - -```sh -cd backend -python -m venv venv -source ./venv/bin/activate -``` - -## 安装依赖 - -```sh -pip install openai flask flask-cors -``` - -## 运行 API - -```sh -python api.py -``` - -## 运行前端 - -确保你位于前端文件夹中 - -找到 *app.js*,将 `BASE_URL` 更改为你的后端 URL - -运行前端 - -``` -npx http-server -p 8000 -``` - -尝试在聊天框中输入消息,你应该会看到一个响应(前提是你在 Codespace 中运行,或者已经设置了访问令牌)。 - -## 设置访问令牌(如果你没有在 Codespace 中运行) - -请参阅 [设置 PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +1. 启动 [后端](./backend/README.md) +1. 然后启动 [前端](./frontend/README.md) --- **免责声明**: -本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。 \ No newline at end of file +本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。虽然我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业的人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。 \ No newline at end of file diff --git a/translations/zh/9-chat-project/solution/backend/README.md b/translations/zh/9-chat-project/solution/backend/README.md new file mode 100644 index 00000000..2729f7dc --- /dev/null +++ b/translations/zh/9-chat-project/solution/backend/README.md @@ -0,0 +1,17 @@ + +选择运行时 + +- [Python](./python/README.md) + +--- + +**免责声明**: +本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。 \ No newline at end of file diff --git a/translations/zh/9-chat-project/solution/backend/python/README.md b/translations/zh/9-chat-project/solution/backend/python/README.md new file mode 100644 index 00000000..09acd483 --- /dev/null +++ b/translations/zh/9-chat-project/solution/backend/python/README.md @@ -0,0 +1,54 @@ + +# 运行代码 + +## 设置 + +创建虚拟环境 + +```sh +python -m venv venv +source ./venv/bin/activate +``` + +## 安装依赖 + +```sh +pip install openai flask flask-cors +``` + +## 运行 API + +```sh +python api.py +``` + +## 运行前端 + +确保你位于前端文件夹中 + +找到 *app.js*,将 `BASE_URL` 更改为你的后端 URL + +运行前端 + +``` +npx http-server -p 8000 +``` + +尝试在聊天框中输入消息,你应该会看到一个响应(前提是你在 Codespace 中运行或者已经设置了访问令牌)。 + +## 设置访问令牌(如果你不是在 Codespace 中运行) + +请参阅 [设置 PAT](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) + +--- + +**免责声明**: +本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。 \ No newline at end of file diff --git a/translations/zh/9-chat-project/solution/frontend/README.md b/translations/zh/9-chat-project/solution/frontend/README.md new file mode 100644 index 00000000..eaac6fa1 --- /dev/null +++ b/translations/zh/9-chat-project/solution/frontend/README.md @@ -0,0 +1,21 @@ + +# 运行代码 + +```sh +npx http-server -p 3000 +``` + +找到 `app.js` 中的 `BASE_URL`,并将其修改为与后端的 URL 相匹配。 + +--- + +**免责声明**: +本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。 \ No newline at end of file