ステップ2:プロジェクトの初期化
pip install deep-seek-r1 langchain transformers sentence-transformers faiss-cpu
3。ナレッジベースの構築
mkdir rag-deepseek-app cd rag-deepseek-app python -m venv venv source venv/bin/activate # or venv\Scripts\activate for Windows
Deep Seek R1を使用して、効率的な検索のためにドキュメントを埋め込んでください。
rag-deepseek-app/ └── data/ ├── doc1.txt ├── doc2.txt └── doc3.txt
次に、関連するドキュメントを取得して応答を生成するためにパイプラインを設定します。
from deep_seek_r1 import DeepSeekRetriever from sentence_transformers import SentenceTransformer import os # Load the embedding model embedding_model = SentenceTransformer('all-MiniLM-L6-v2') # Prepare data data_dir = './data' documents = [] for file_name in os.listdir(data_dir): with open(os.path.join(data_dir, file_name), 'r') as file: documents.append(file.read()) # Embed the documents embeddings = embedding_model.encode(documents, convert_to_tensor=True) # Initialize the retriever retriever = DeepSeekRetriever() retriever.add_documents(documents, embeddings) retriever.save('knowledge_base.ds') # Save the retriever state
OpenaiのGPTベースのモデルを使用したり、生成にフェイストランスを抱きしめたりします。
retriever = DeepSeekRetriever.load('knowledge_base.ds')
from transformers import AutoModelForCausalLM, AutoTokenizer # Load the generator model generator_model = AutoModelForCausalLM.from_pretrained("gpt2") tokenizer = AutoTokenizer.from_pretrained("gpt2") def generate_response(query, retrieved_docs): # Combine the query and retrieved documents input_text = query + "\n\n" + "\n".join(retrieved_docs) # Tokenize and generate a response inputs = tokenizer.encode(input_text, return_tensors='pt', max_length=512, truncation=True) outputs = generator_model.generate(inputs, max_length=150, num_return_sequences=1) return tokenizer.decode(outputs[0], skip_special_tokens=True)
ラグシステムにアクセスできるようにするには、FlaskまたはFastapiを使用して展開できます。
フラスコをインストール:
pip install deep-seek-r1 langchain transformers sentence-transformers faiss-cpu
app.pyファイルを作成:
mkdir rag-deepseek-app cd rag-deepseek-app python -m venv venv source venv/bin/activate # or venv\Scripts\activate for Windows
サーバーを実行します:
rag-deepseek-app/ └── data/ ├── doc1.txt ├── doc2.txt └── doc3.txt
郵便配達員またはカールを使用してクエリを送信します:
from deep_seek_r1 import DeepSeekRetriever from sentence_transformers import SentenceTransformer import os # Load the embedding model embedding_model = SentenceTransformer('all-MiniLM-L6-v2') # Prepare data data_dir = './data' documents = [] for file_name in os.listdir(data_dir): with open(os.path.join(data_dir, file_name), 'r') as file: documents.append(file.read()) # Embed the documents embeddings = embedding_model.encode(documents, convert_to_tensor=True) # Initialize the retriever retriever = DeepSeekRetriever() retriever.add_documents(documents, embeddings) retriever.save('knowledge_base.ds') # Save the retriever state
以上がぼろきれの構築(検索された生成)アプリケーションを使用して、ディープシークrromスクラッチを使用していますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。