Овај репозиторијум и курс су подешени са development container који има универзално окружење за извршавање које подржава Python3, .NET, Node.js и Java развој. Потребна конфигурација је дефинисана у фајлу devcontainer.json који се налази у фасцикли .devcontainer/ у корену овог репозиторијума.
Да бисте активирали дев контејнер, покрените га у GitHub Codespaces (за cloud-hosted runtime) или у Docker Desktop (за локално окружење). Прочитајте ову документацију за више детаља о томе како дев контејнери функционишу у VS Code-у.
Tip
Препоручујемо коришћење GitHub Codespaces-а за брз почетак уз минималан напор. Он пружа великодушан бесплатни квоту за личне налоге. Конфигуришите таймауте за заустављање или брисање неактивних codespaces-а како бисте максимално искористили квоту.
Свака лекција ће имати опционалне задатке који могу бити доступни у једном или више програмских језика, укључујући: Python, .NET/C#, Java и JavaScript/TypeScript. Овај одељак даје општа упутства у вези са извршавањем тих задатака.
Python задаци су доступни као апликације (.py фајлови) или Jupyter бележнице (.ipynb фајлови).
- Да бисте покренули бележницу, отворите је у Visual Studio Code-у, затим кликните на Select Kernel (горе десно) и изаберите подразумевану Python 3 опцију. Сада можете кликнути на Run All да извршите бележницу.
- За покретање Python апликација из командне линије, пратите упутства специфична за задатак како бисте изабрали праве фајлове и проследили потребне аргументе.
Задаци могу бити подешени да раде са једним или више Large Language Model (LLM) сервиса преко подржаних провајдера као што су OpenAI, Azure или Hugging Face. Они пружају hosted endpoint (API) којем можемо приступити програмски уз одговарајуће креденцијале (API кључ или токен). У овом курсу ћемо радити са следећим провајдерима:
- OpenAI са разноврсним моделима укључујући основну GPT серију.
- Azure OpenAI за OpenAI моделе са фокусом на спремност за предузећа
- Hugging Face за open-source моделе и inference сервер
За ове вежбе ћете морати да користите своје налоге. Задаци су опциони, па можете изабрати да подесите једног, све или ниједног од провајдера у складу са својим интересовањима. Нека упутства за регистрацију:
| Регистрација | Цена | API кључ | Playground | Коментари |
|---|---|---|---|---|
| OpenAI | Цене | Пројектно базирано | Без кода, веб | Више доступних модела |
| Azure | Цене | SDK Quickstart | Studio Quickstart | Потребна претходна пријава за приступ |
| Hugging Face | Цене | Access Tokens | Hugging Chat | Hugging Chat има ограничене моделе |
Пратите упутства испод да конфигуришете овај репозиторијум за рад са различитим провајдерима. Задаци који захтевају одређеног провајдера имаће једну од ових ознака у имену фајла:
aoai- захтева Azure OpenAI endpoint и кључoai- захтева OpenAI endpoint и кључhf- захтева Hugging Face токен
Можете подесити једног, ниједног или све провајдере. Задаци који захтевају одређеног провајдера ће пријавити грешку ако креденцијали недостају.
Претпостављамо да сте већ прочитали горе наведена упутства, регистровали се код релевантног провајдера и добили потребне аутентификационе креденцијале (API_KEY или токен). У случају Azure OpenAI, претпостављамо да имате важећу имплементацију Azure OpenAI сервиса (endpoint) са најмање једним GPT моделом за chat completion.
Следећи корак је да подесите своје локалне променљиве окружења на следећи начин:
-
Потражите у корену пројекта
.env.copyфајл који би требало да садржи нешто овако:# OpenAI Provider OPENAI_API_KEY='<add your OpenAI API key here>' ## Azure OpenAI AZURE_OPENAI_API_VERSION='2024-02-01' # Default is set! AZURE_OPENAI_API_KEY='<add your AOAI key here>' AZURE_OPENAI_ENDPOINT='<add your AOIA service endpoint here>' AZURE_OPENAI_DEPLOYMENT='<add your chat completion model name here>' AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='<add your embeddings model name here>' ## Hugging Face HUGGING_FACE_API_KEY='<add your HuggingFace API or token here>'
-
Копирајте тај фајл у
.envкористећи команду испод. Овај фајл је gitignore-ован, што значи да тајне остају безбедне.cp .env.copy .env
-
Попуните вредности (замените плейсхолдере са десне стране знака
=) како је описано у следећем одељку. -
(Опционо) Ако користите GitHub Codespaces, имате могућност да сачувате променљиве окружења као Codespaces secrets повезане са овим репозиторијумом. У том случају не морате да подешавате локални
.envфајл. Међутим, имајте на уму да ова опција ради само ако користите GitHub Codespaces. Ако користите Docker Desktop, и даље морате да подесите.envфајл.
Хајде да брзо погледамо имена променљивих да бисмо разумели шта представљају:
| Променљива | Опис |
|---|---|
| HUGGING_FACE_API_KEY | Ово је кориснички приступни токен који сте подесили у свом профилу |
| OPENAI_API_KEY | Ово је ауторизациони кључ за коришћење сервиса за non-Azure OpenAI endpoint-ове |
| AZURE_OPENAI_API_KEY | Ово је ауторизациони кључ за коришћење тог сервиса |
| AZURE_OPENAI_ENDPOINT | Ово је endpoint за Azure OpenAI ресурс који сте имплементирали |
| AZURE_OPENAI_DEPLOYMENT | Ово је endpoint за deployment text generation модела |
| AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | Ово је endpoint за deployment text embeddings модела |
Напомена: Последње две Azure OpenAI променљиве одговарају подразумеваном моделу за chat completion (генерисање текста) и претрагу вектора (ембеддинзи). Упутства за њихово подешавање биће дефинисана у релевантним задацима.
Вредности за Azure OpenAI endpoint и кључ можете пронаћи у Azure порталу, па хајде да почнемо одатле.
- Идите на Azure портал
- Кликните на опцију Keys and Endpoint у бочној траци (леви мени).
- Кликните на Show Keys - требало би да видите: KEY 1, KEY 2 и Endpoint.
- Користите вредност KEY 1 за AZURE_OPENAI_API_KEY
- Користите вредност Endpoint за AZURE_OPENAI_ENDPOINT
Затим нам требају endpoint-ови за конкретне моделе које сте имплементирали.
- Кликните на опцију Model deployments у бочној траци (леви мени) за Azure OpenAI ресурс.
- На страници која се отвори, кликните на Manage Deployments
Ово ће вас одвести на веб сајт Azure OpenAI Studio, где ћете пронаћи остале вредности како је описано у наставку.
- Идите на Azure OpenAI Studio са свог ресурса као што је описано горе.
- Кликните на таб Deployments (бочна трака, лево) да бисте видели тренутно имплементиране моделе.
- Ако ваш жељени модел није имплементиран, користите Create new deployment да га имплементирате.
- Потребан вам је text-generation модел - препоручујемо: gpt-35-turbo
- Потребан вам је text-embedding модел - препоручујемо text-embedding-ada-002
Сада ажурирајте променљиве окружења да одговарају имену Deployment-а који користите. Обично ће то бити исто као име модела, осим ако га нисте експлицитно променили. На пример, можете имати:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'Не заборавите да сачувате .env фајл када завршите. Сада можете изаћи из фајла и вратити се упутствима за покретање бележнице.
Ваш OpenAI API кључ можете пронаћи у свом OpenAI налогу. Ако га немате, можете се регистровати и креирати API кључ. Када добијете кључ, користите га да попуните променљиву OPENAI_API_KEY у .env фајлу.
Ваш Hugging Face токен можете пронаћи у свом профилу под Access Tokens. Немојте их објављивати или делити јавно. Уместо тога, креирајте нови токен за ову употребу у пројекту и копирајте га у .env фајл под променљиву HUGGING_FACE_API_KEY. Напомена: Технички ово није API кључ, али се користи за аутентификацију, па смо задржали ову конвенцију именовања ради доследности.
Одрицање од одговорности:
Овај документ је преведен коришћењем AI преводилачке услуге Co-op Translator. Иако се трудимо да превод буде тачан, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитетним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.