https://github.com/hediyeorhan/vectorstore
https://github.com/hediyeorhan/vectorstore
artificial-intelligence chromadb documents gemini gemini-api huggingfaceembeddings similarity-search vector vector-database vectorstore
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/hediyeorhan/vectorstore
- Owner: hediyeorhan
- License: mit
- Created: 2025-02-21T12:50:58.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2025-02-24T13:52:44.000Z (8 months ago)
- Last Synced: 2025-03-01T01:33:12.485Z (8 months ago)
- Topics: artificial-intelligence, chromadb, documents, gemini, gemini-api, huggingfaceembeddings, similarity-search, vector, vector-database, vectorstore
- Language: Python
- Homepage:
- Size: 6.11 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# VectorStore
Bu çalışmada Google AI tarafından geliştirilen yapay zekâ Gemini API'ı kullanılarak vector store ile bir proje geliştirilmiştir.
Projede __.env__ dosyasında içeriğinde şu veriler bulunmaktadır.
• GEMINI_API_KEY=
• LANGCHAIN_API_KEY=
• LANGCHAIN_TRACING_V2=true
• LANGCHAIN_PROJECT=PROJECT_NAME
Projede, Gemini AI ile birlikte Langchain framework'ü kullanılmıştır. Langchain, büyük dil modelleri ile uygulama geliştirilmesinde kullanılmaktadır. Zincir yapısında LLM'lerin birbirleri ile ve insanlar ile konuşmasını sağlamaktadır. Doküman okuma, yükleme, embedding işlemleri ve vektör database işlemleri için langchain framework'ünden faydalanılmıştır. LangChain, LLM'ler ile entegrasyon sağlayarak özelleştirilmiş sorgu yönetimi sunmaktadır.
Vector Store
Elimizde birçok veri / bilgi olduğunda en alakalı / mantıklı cevabı vermeyi sağlamaktadır. Vektörleştirme işlemi için ayrı embedding modelleri kullanılmaktadır. Bu vektörler vector store'da kayıt edilmektedir.Bu çalışmada embedding fonksiyonu olarak __HuggingFaceEmbeddings__ kullanılmıştır.
Çalışmada vektör veri tabanı olarak Chroma kullanılmıştır. Chroma open source bir vektör veri tabanıdır.
Kullanılan dökümanlar kod içerisinde de tanımlanabilmektedir. Bir dosyadan da yüklenebilmektedir. Her iki örnek kod dosyasında mevcuttur.
Çalışmada langchain kullanılarak temel bir RAG mantığı kodlanmıştır. LLM'ler vector store kullanarak özelleştirilmiştir. Böylece kendi dökümanımızdaki veriler okunarak LLM'in istenilen cevapları vermesi sağlanmaktadır. Vector store'lar __similarity search__ ile dökümandaki benzer veriyi çıktı olarak sunmaktadır.
Çalışmanın örnek çıktıları Şekil 1 ve Şekil 2'de görülmektedir.
![]()
Şekil 1. Örnek çıktı
![]()
Şekil 2. Örnek çıktı