Lompat ke konten
dokumentasi.id
Commit a3048a3
v1
Star929

Kamu membaca versi lama. Halaman ini hanya bisa dibaca.

1

Ringkasan Proyek llm-python

Repository onlyphantom/llm-python adalah kumpulan materi instruksional, contoh kode, dan skrip Python yang memakai LLM lewat antarmuka seperti llamaindex, LangChain, OpenAI Agent SDK, Chroma, dan Pinecone README.md:1-5. Setiap contoh dirancang self-contained dan berfokus tunggal, sehingga pembaca dapat memilih pola pemakaian yang paling relevan dengan kebutuhannya README.md:5. Halaman ini memetakan isi repository, prasyarat, dan lisensinya; rincian teknis setiap topik ada di halaman lain.

Dua belas bagian dan berkas contohnya

README mencatat 14 part video tutorial beserta durasinya, mulai dari pengenalan OpenAI sampai aplikasi chat Streamlit README.md:17-32. Tabel berikut memetakan dua belas bagian dokumentasi ini ke berkas contoh yang menjadi tulangnya.

#BagianBerkas contoh utama
1Ringkasan Proyek llm-pythonREADME.md, LICENSE
2Arsitektur Repository dan Peta Modulutils/, assets/, news/, storage/
3Persiapan Lingkungan dan Konfigurasi API Keyrequirements.txt, .env
4Dasar LLM dan Embedding00_start.py, 17_embeddings.py
5Pipeline RAG dengan LangChain01_qna.py
6Indeks dan Query dengan LlamaIndex02_llama.py, 06_team.py
7Vector Store: Chroma Lokal dan Pinecone18_chroma.py, 09_pinecone.py
8Model Lokal dan HuggingFace05_hf.py, 07_custom.py
9Prompt Programming dengan Guidance12_guidance_syntax.py, 12_guidance_roles.py
10Caching dan Aplikasi Chat Streamlit13_caching_memory.py, 13_caching_sqlite.py, 14_streamlit.py
11Text-to-SQL dan Analitik Data03_db.py, 15_sql.py, 16_repl.py
12Pola Multi-Agent dengan OpenAI Agent SDK19_agents_handsoff.py sampai 24_agents_guardrails.py
graph TD
  readme["01 Ringkasan proyek: README.md, LICENSE"]
  arch["02 Arsitektur repository: utils/, assets/, news/, storage/"]
  env["03 Persiapan lingkungan: .env, requirements.txt"]
  b04["04 Dasar LLM dan Embedding: 00_start.py, 17_embeddings.py"]
  b05["05 Pipeline RAG: 01_qna.py"]
  b06["06 Indeks LlamaIndex: 02_llama.py, 06_team.py"]
  b07["07 Vector store: 18_chroma.py, 09_pinecone.py"]
  b08["08 Model lokal dan HuggingFace: 05_hf.py, 07_custom.py"]
  b09["09 Prompt programming: 12_guidance_syntax.py"]
  b10["10 Caching dan Streamlit: 13_caching_sqlite.py, 14_streamlit.py"]
  b11["11 Text-to-SQL: 03_db.py, 15_sql.py, 16_repl.py"]
  b12["12 Pola multi-agent: 19_agents_handsoff.py sampai 24_agents_guardrails.py"]
  api["utils/api_client.py retrieve_from_endpoint"]
  tritonErr["ERROR: No matching distribution found for triton"]
  readme --> arch --> env --> b04 --> b05 --> b06 --> b07 --> b08 --> b09 --> b10 --> b11 --> b12
  arch --> api
  api --> b12
  env -.-> tritonErr
  style readme fill:#f59e0b,color:#000
  style env fill:#f59e0b,color:#000
  style arch fill:#f59e0b,color:#000
  style b06 fill:#336791,color:#fff
  style b07 fill:#336791,color:#fff
  style b10 fill:#8b5cf6,color:#fff
  style b11 fill:#2d7d46,color:#fff
  style b12 fill:#2d7d46,color:#fff
  style tritonErr fill:#dc2626,color:#fff
%% fig: Alur dua belas bagian dokumentasi ke berkas contohnya
%% desc: Setiap node bagian menunjuk berkas contoh yang menjadi tulangnya, dari embedding dasar sampai pola multi-agent, lengkap dengan simpul konfigurasi API dan kegagalan pemasangan triton.
Fig. 1: Alur dua belas bagian dokumentasi ke berkas contohnyaSetiap node bagian menunjuk berkas contoh yang menjadi tulangnya, dari embedding dasar sampai pola multi-agent, lengkap dengan simpul konfigurasi API dan kegagalan pemasangan triton.

Alur dari embedding dasar ke multi-agent

Contoh paling kecil hanya memanggil OpenAIEmbeddings pada satu string lalu mencetak vektornya 00_start.py:1-11. Variasi berikutnya menghitung cosine similarity antara satu query dan sembilan nama dokumen, lalu memilih yang tertinggi dengan np.argmax 17_embeddings.py:26-41.

Pada jalur retrieval, 01_qna.py memuat folder news lewat DirectoryLoader, memecahnya dengan CharacterTextSplitter(chunk_size=2500, chunk_overlap=0), membangun Chroma.from_documents, lalu menjawab empat pertanyaan 01_qna.py:8-31. 02_llama.py memakai SimpleDirectoryReader dan VectorStoreIndex.from_documents, mem-persist index ke storage, dan memuatnya kembali melalui StorageContext.from_defaults 02_llama.py:10-27. 06_team.py mengambil halaman web dengan TrafilaturaWebReader ke dalam collection chromadb.EphemeralClient() 06_team.py:10-20.

Lapisan storage diisi dua contoh: 18_chroma.py membuat collection saham berisi enam dokumen dengan metadata listed_in dan ticker 18_chroma.py:6-9, sedangkan 09_pinecone.py menyiapkan empat URL projekt-gutenberg untuk di-scrape 09_pinecone.py:28-33.

Untuk model lokal, 05_hf.py meninggalkan remote Inference API dan beralih ke HuggingFacePipeline 05_hf.py:38-39, sementara 07_custom.py mendefinisikan CustomLLM untuk llama_index 07_custom.py:14-23. Pada prompt programming, 12_guidance_syntax.py memakai models.OpenAI dan gen() di dalam blok user() serta assistant() 12_guidance_syntax.py:11-16.

Lapisan aplikasi memakai SQLiteCache(database_path=".langchain.db") untuk caching 13_caching_sqlite.py:13-19 dan initialize_agent dengan tool ddg-search plus st.chat_input() untuk chat Streamlit 14_streamlit.py:10-27. Analitik data dimulai dari create_sql_agent di atas sqlite:///academy/academy.db 03_db.py:10-19, berlanjut ke ChatGroq dengan agent_type="tool-calling" 15_sql.py:36-44, dan memakai PythonAstREPLTool untuk pertanyaan bebas atas dataframe 16_repl.py:30-34.

Ujung rangkaian adalah pola multi-agent: 19_agents_handsoff.py mendefinisikan tiga Agent dan menyerahkan handoffs ke Runner.run 19_agents_handsoff.py:7-30. Pola guardrail memakai input_guardrail, output_guardrail, dan retrieve_from_endpoint 24_agents_guardrails.py:23-35. Fungsi retrieve_from_endpoint mengirim header Authorization berisi SECTORS_API_KEY dan mengubah HTTPError menjadi SystemExit utils/api_client.py:12-20.

Prasyarat dan kunci API

Quick Start README menetapkan empat langkah: clone repository, pip install -r requirements.txt, menyiapkan data di folder news, dan membuat .env berisi OPENAI_API_KEY README.md:76-83. HUGGINGFACEHUB_API_TOKEN dan PINECONE_API_KEY bersifat opsional, sedangkan COHERE_API_KEY dan STABILITY_API_KEY dipakai lesson yang memanggil Cohere dan Stability AI README.md:81-82. Berkas .env contoh memuat OPENAI_API_KEY, SECTORS_API_KEY, GROQ_API_KEY, HUGGINGFACEHUB_API_TOKEN, PINECONE_API_KEY, DEEPSEEK_API_KEY, COHERE_API_KEY, dan STABILITY_API_KEY README.md:87-101. Langkah teknisnya dibahas di Persiapan Lingkungan dan Konfigurasi API Key.

Versi pustaka yang dipatok

requirements.txt mematok langchain==1.2.10 requirements.txt:60, llama-index==0.14.15 requirements.txt:71, openai==2.21.0 dan openai-agents==0.9.2 requirements.txt:93-94, guidance==0.3.1 requirements.txt:44, chromadb==1.5.0 requirements.txt:13-14, huggingface_hub==1.4.1 requirements.txt:52, langchain-groq==1.1.2 requirements.txt:64, dan pinecone>=3.0.0 requirements.txt:101.

CHANGES.md mencatat perbaikan kompatibilitas untuk LangChain 1.x, llama_index 0.10+, ChromaDB 1.x, dan OpenAI API 1.x; galat awalnya berbunyi AttributeError: 'NoneType' object has no attribute 'info' CHANGES.md:3-12. ChromaDB memakai pydantic.v1.BaseSettings yang tidak lagi didukung pada Python 3.14+, sehingga environment disarankan memakai Python 3.12 CHANGES.md:62-66.

Jebakan penamaan berkas

⚠️ Beberapa rujukan di README tidak cocok dengan nama berkas sebenarnya. README menyebut 22_agents_critic.py untuk pola Judge and Critic README.md:51, padahal berkas di repository bernama 22_agents_judge_critic.py. README juga mencontohkan python 6_team.py README.md:105, sedangkan berkasnya 06_team.py dengan nol di depan.

⚠️ Paket triton hanya didukung pada arsitektur x86_64; kegagalan pemasangan muncul sebagai ERROR: No matching distribution found for triton README.md:115-116.

Lisensi

Repository dilisensikan MIT, Copyright (c) 2023 Samuel Chan LICENSE:1-3. README menutup dengan baris MIT © [Supertype](https://supertype.ai) 2024 README.md:123-125.