AI Engineering Academy · Lekcja

Konfigurowanie środowiska Python

Uczestnicy zainstalują OpenAI Python SDK, utworzą środowisko wirtualne, bezpiecznie przechowają klucz API za pomocą zmiennych środowiskowych oraz sprawdzą działanie konfiguracji za pomocą health check.

Lekcja 1 z 413 kroki

Konfigurowanie środowiska Python to bezpłatna lekcja AI Engineering Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Engineering Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Engineering Academy zawiera 4 lekcji w sumie.

Dlaczego środowiska wirtualne mają znaczenie

Projekty AI korzystają z wielu pakietów, które mogą wymagać różnych wersji. Środowisko wirtualne zapewnia każdemu projektowi własnego, odizolowanego Pythona, więc zależności nie kolidują ze sobą. Kod tworzy takie środowisko.

# Create and activate a virtual environment
# Run these commands in your terminal

python3 -m venv .venv          # create environment in .venv/ folder
source .venv/bin/activate      # activate on macOS/Linux
# .venv\Scripts\activate       # activate on Windows

python --version               # verify you are using the right Python

Instalowanie OpenAI Python SDK

Oficjalny OpenAI Python SDK służy do komunikacji z API — obsługuje uwierzytelnianie, ponawianie prób i analizowanie odpowiedzi. Należy zainstalować go w aktywnym środowisku, tak jak pokazuje kod.

# Install the OpenAI SDK
pip install openai

# For production projects, pin the version:
pip install 'openai>=1.30.0,<2.0.0'

# Save your dependencies to requirements.txt:
pip freeze > requirements.txt

# Install from requirements.txt on a new machine:
pip install -r requirements.txt

Pobieranie i przechowywanie klucza API

Klucz API jest sekretem — nigdy nie należy umieszczać go w kodzie. Należy przechowywać go w pliku .env, dodać ten plik do .gitignore i wczytywać klucz jako zmienną środowiskową. Kod pokazuje ten wzorzec.

# .env file (never commit this!)
# OPENAI_API_KEY=sk-proj-...

# In your Python script:
import os
from dotenv import load_dotenv

load_dotenv()  # reads .env and sets environment variables

api_key = os.environ.get('OPENAI_API_KEY')
if not api_key:
    raise ValueError('OPENAI_API_KEY environment variable not set!')

print('API key loaded:', api_key[:8] + '...')  # only print prefix

Inicjalizowanie klienta OpenAI

Należy utworzyć jednego klienta OpenAI() i wykonywać za jego pośrednictwem wszystkie wywołania. Jeśli klucz jest ustawiony jako zmienna środowiskowa, klient znajdzie go automatycznie — to czystsze i bezpieczniejsze rozwiązanie.

from openai import OpenAI

# API key is read from OPENAI_API_KEY environment variable automatically
client = OpenAI()

# Or explicitly:
# client = OpenAI(api_key='sk-proj-...')  # only for quick tests

# For alternative providers:
# client = OpenAI(
#     api_key='your-together-key',
#     base_url='https://api.together.xyz/v1'
# )

Pierwszy test poprawności działania API

Zanim zacznie się budować aplikację, należy uruchomić niewielki test poprawności działania, który wyświetla listę modeli. Potwierdza on, że klucz działa, sieć jest dostępna, a SDK zostało zainstalowane. Zawsze należy uruchamiać go jako pierwszy.

from openai import OpenAI

client = OpenAI()

# Simple health check: list available models
try:
    models = client.models.list()
    print(f'Connection successful! Found {len(list(models))} models.')
except Exception as e:
    print(f'Connection failed: {e}')

Dobre praktyki dotyczące struktury projektu

W miarę rozrastania się projektów spójna struktura projektu oszczędza wielu problemów: sekrety należy przechowywać w .env, kod w src/, a także dodać szablon .env.example, aby członkowie zespołu wiedzieli, co jest potrzebne.

# Recommended project structure:
# my_ai_project/
# |-- .env              (secrets, gitignored)
# |-- .env.example      (template, committed)
# |-- .gitignore
# |-- requirements.txt
# |-- README.md
# |-- src/
# |   |-- __init__.py
# |   |-- client.py    (OpenAI client initialization)
# |   |-- prompts.py   (prompt templates)
# |   |-- main.py
# |-- tests/
# |-- notebooks/
# |-- Makefile

Bezpieczne zarządzanie wieloma kluczami API

Muszą Państwo zarządzać kluczami wielu dostawców? Menedżer sekretów, taki jak AWS Secrets Manager lub Doppler, skaluje się lepiej niż pojedynczy plik .env. Należy używać osobnego klucza dla każdego projektu, aby móc go bezpiecznie unieważnić.

# .env.example - commit this as a template
# OPENAI_API_KEY=sk-proj-...your key here...
# OPENAI_ORG_ID=org-...optional org id...
# COHERE_API_KEY=...cohere key...
# PINECONE_API_KEY=...pinecone key...
# PINECONE_ENVIRONMENT=us-east-1-aws

# In code, load all at once:
from dotenv import load_dotenv
import os

load_dotenv()

config = {
    'openai_key': os.environ['OPENAI_API_KEY'],
    'cohere_key': os.environ.get('COHERE_API_KEY'),  # optional
}

Korzystanie z menedżerów wersji Pythona

Różne projekty wymagają różnych wersji Pythona. Menedżer wersji, taki jak pyenv, instaluje kilka wersji i przełącza je zależnie od folderu — bez konfliktów na poziomie systemu.

# Install pyenv (macOS via Homebrew)
# brew install pyenv

# Install Python 3.11
# pyenv install 3.11.9

# Set Python version for this project directory
# pyenv local 3.11.9

# This creates a .python-version file:
# cat .python-version
# 3.11.9

# Now python3 automatically uses 3.11.9 in this directory

Testowanie konfiguracji za pomocą rzeczywistego promptu

Prawdziwym testem jest wysłanie promptu na żywo i uzyskanie rzeczywistej odpowiedzi. To sprawdzenie end-to-end jednocześnie weryfikuje konfigurację, klucz, sieć i rozliczenia. Należy poprosić o jedno słowo: READY.

from openai import OpenAI
from dotenv import load_dotenv

load_dotenv()
client = OpenAI()

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[
        {'role': 'system', 'content': 'You are a test responder.'},
        {'role': 'user', 'content': 'Reply with just the word READY.'}
    ],
    temperature=0,
    max_tokens=5
)

print('Response:', response.choices[0].message.content)
print('Model used:', response.model)
print('Tokens used:', response.usage.total_tokens)

Szybsze zarządzanie pakietami za pomocą uv

uv to szybki menedżer pakietów napisany w Rust, działający od 10 do 100 razy szybciej niż pip. W przypadku dużych bibliotek AI instalacja trwająca 3 minuty skraca się do kilku sekund. Warto zacząć używać go od samego początku.

# Install uv (macOS/Linux)
# curl -LsSf https://astral.sh/uv/install.sh | sh

# Create a project with uv
# uv init my-ai-project
# cd my-ai-project

# Add dependencies
# uv add openai python-dotenv

# Run your script using the uv-managed environment
# uv run python main.py

# Generate requirements.txt for compatibility
# uv pip compile pyproject.toml -o requirements.txt

Zmienne środowiskowe na produkcji

Na produkcji sam plik .env nie wystarczy. Platformy takie jak Railway i Vercel wstrzykują zmienne środowiskowe w czasie działania. Kod odczytuje je za pomocą os.environ; zmieniają się tylko wstrzyknięte wartości.

# Centralized config loader pattern for production
import os
from dataclasses import dataclass

@dataclass
class AppConfig:
    openai_api_key: str
    environment: str
    log_level: str

    @classmethod
    def from_env(cls):
        key = os.environ.get('OPENAI_API_KEY')
        if not key:
            raise EnvironmentError('OPENAI_API_KEY must be set')
        return cls(
            openai_api_key=key,
            environment=os.environ.get('ENVIRONMENT', 'development'),
            log_level=os.environ.get('LOG_LEVEL', 'INFO')
        )

config = AppConfig.from_env()

Szybki test

Sprawdź swoją wiedzę na temat koncepcji inżynierii AI z tej lekcji.

Podsumowanie lekcji

Skonfigurowałeś swój zestaw narzędzi: środowisko wirtualne izoluje zależności, klucze API są przechowywane w zmiennych środowiskowych (nigdy w kodzie), a test poprawności jest uruchamiany jako pierwszy na każdym komputerze. Następnie: czat. 🎉

Bezpłatny start

Ucz się Python dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Konfigurowanie środowiska Python” jest bezpłatna?

Tak — pełny tekst „Konfigurowanie środowiska Python” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Engineering Academy, przejdź na CoddyKit PRO. Kurs AI Engineering Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Konfigurowanie środowiska Python”?

Uczestnicy zainstalują OpenAI Python SDK, utworzą środowisko wirtualne, bezpiecznie przechowają klucz API za pomocą zmiennych środowiskowych oraz sprawdzą działanie konfiguracji za pomocą health chec… Ćwiczysz AI Engineering Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć AI Engineering Academy?

Nie wymagamy żadnego doświadczenia. AI Engineering Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Konfigurowanie środowiska Python”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji AI Engineering Academy?

Tak. Każda lekcja AI Engineering Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Konfigurowanie środowiska Python
  2. Endpoint Chat Completions
  3. Sterowanie zachowaniem modelu za pomocą parametrów
  4. Obsługa błędów i limity zapytań
← Powrót do AI Engineering Academy