文章目录
- 一、使用langchain_ollama
- 二、采用DeepSeek的API
- 三、Model 介绍
- 3.1 OllamaLLM 预训练模型
- 3.2 ChatOllama 聊天预训练模型
- 3.3 OllamaEmbeddings
实现一个helloworld,跑通一个简单的对话。
后面章节会正式介绍LangChain的各个功能。
后台llm的端口可以任意选择,这里分别借助Ollama 和OpenAI实现一次简单的对话
一、使用langchain_ollama
from langchain_ollama import ChatOllama
from langchain_core.prompts import ChatPromptTemplate
llm = ChatOllama(
model="deepseek-r1:7b",
)
response = llm.invoke("你是谁?")
print(response.content)
回答如下:其中关键字是deepseek-r1:7b
的思考链,如果不需要可以忽略。
二、采用DeepSeek的API
去官网注册一个账号,充个10块钱,获取一个API_KEY
https://platform.deepseek.com/
关于模型的选择,如DeepSeek-V3还是DeepSeek-R系列,看官网介绍
https://api-docs.deepseek.com/zh-cn/
聊天界面如下:
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
llm = ChatOpenAI(
base_url="https://api.deepseek.com/v1", # DeepSeek API端点
model="deepseek-chat", # DeepSeek模型标识,'deepseek-reasoner',即可调用 DeepSeek-R1。
openai_api_key="sk-替换为你们自己的密钥", # 替换为DeepSeek密钥
max_tokens=1000,
temperature=0
)
response = llm.invoke("你是谁?")
print(response.content)
三、Model 介绍
以Ollama为例子
3.1 OllamaLLM 预训练模型
3.2 ChatOllama 聊天预训练模型
在OllamaLLM 基础上进行了微调
from langchain_ollama import ChatOllama
from langchain_core.prompts import ChatPromptTemplate
llm = ChatOllama(
model="deepseek-r1:7b",
)
chat_prompt = ChatPromptTemplate.from_messages([
("system", "你是西天取经的人工智能助手,你的名字叫齐天智能"),
("human", "你好"),
("ai", "您好,我是西天取经的人工智能助手,请问有什么可以帮助您?"),
("human", "{user_input}")
])
message = chat_prompt.format(user_input="你叫什么")
response = llm.invoke(message)
print(llm.invoke(message).content)
3.3 OllamaEmbeddings
- embed_query 将单个查询字符串转换为向量表示
- embed_documents 将一系列字符串转换为向量表示
from langchain_ollama import OllamaLLM, OllamaEmbeddings
embed = OllamaEmbeddings(
model="deepseek-r1:7b",
)
result = embed.embed_query("这是一个测试文本")
print(len(result))
result2 = embed.embed_documents(["这是一个测试文本","这里有15哥个测试文本"])
print(len(result2[0]), len(result2[1]))