Settings.llm = DashScope(model_name=DashScopeGenerationModels.QWEN_MAX, api_key=os.getenv("DASHSCOPE_API_KEY"))
Settings.embed_model = DashScopeEmbedding(
# model_name="text-embedding-v1"
model_name=DashScopeTextEmbeddingModels.TEXT_EMBEDDING_V1,
api_key=os.getenv("DASHSCOPE_API_KEY")
)
documents = SimpleDirectoryReader("./data").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
response = query_engine.query("deepseek v3有多少参数?")
print(response)
response = query_engine.query("DeepSeek-V3有多少参数?")
print(response)
以上代码返回结果如下:
第一个response: 提供的信息中没有提到DeepSeek-V3的具体参数量。
第二个response: DeepSeek-V3总共有6710亿参数,每个token激活370亿参数。
model_name=DashScopeTextEmbeddingModels.TEXT_EMBEDDING_V1,
如果注释掉这段代码,使用默认的embedding模型,输出的结果:
第一个response: DeepSeek-V3 拥有总计671亿个参数,每个令牌激活37亿个参数。
第二个response: DeepSeek-V3总共有6710亿参数,每次处理一个token时激活370亿参数。
第一种情况明显是模型认为"deepseek v3"和"DeepSeek-V3"不是一个意思(pdf原文中是"DeepSeek-V3"),所有没有返回期望的结果。
有两个问题:
1、如何让大模型理解两个关键词是一个意思,五期L1的课上,老师的代码没有这个情况(课上代码用的embeding是v1,关键字用的是deepseek v3)。不太理解本地为什么会是这样?
2、以上代码是在window上运行的,但是换到macos上不管使用默认的embeding还是指定v1,都没有得到预期的结果?