feat(RAG): 更新RAG模块代码和文档
refactor: 简化Embeddings和LLM类实现,移除不必要依赖 docs: 更新文档内容,添加硅基流动API使用说明 chore: 更新requirements.txt依赖版本
This commit is contained in:
19
docs/chapter7/RAG/demo.py
Normal file
19
docs/chapter7/RAG/demo.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from VectorBase import VectorStore
|
||||
from utils import ReadFiles
|
||||
from LLM import OpenAIChat
|
||||
from Embeddings import OpenAIEmbedding
|
||||
|
||||
# 没有保存数据库
|
||||
docs = ReadFiles('./data').get_content(max_token_len=600, cover_content=150) # 获得data目录下的所有文件内容并分割
|
||||
vector = VectorStore(docs)
|
||||
embedding = OpenAIEmbedding() # 创建EmbeddingModel
|
||||
vector.get_vector(EmbeddingModel=embedding)
|
||||
vector.persist(path='storage') # 将向量和文档内容保存到storage目录下,下次再用就可以直接加载本地的数据库
|
||||
|
||||
# vector.load_vector('./storage') # 加载本地的数据库
|
||||
|
||||
question = 'RAG的原理是什么?'
|
||||
|
||||
content = vector.query(question, EmbeddingModel=embedding, k=1)[0]
|
||||
chat = OpenAIChat(model='Qwen/Qwen2.5-32B-Instruct')
|
||||
print(chat.chat(question, [], content))
|
||||
Reference in New Issue
Block a user