2025年2月26日,星期三,晴,第50篇博客。
困扰的问题:在进行RAG、多模态检索的实践中难免要调用大模型,但是由于“网络”和注册等诸多因素,使得我们很难方便调用的Open API。
推荐一个API网站:https://www.dmxapi.com/ ,网站集成了当前主流的大模型的调用方法。
openai接口
使用openai库调用大模型:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| from openai import OpenAI
client = OpenAI( api_key="sk-........................", base_url="https://www.dmxapi.com/v1" )
chat_completion = client.chat.completions.create( messages=[ { "role": "user", "content": "9.11和9.12哪个更大?", } ], model="gpt-4o-mini" )
print(chat_completion)
|
Embedding模型调用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| import openai
openai.api_key = "sk-*********************" openai.base_url = "https://www.dmxapi.com/v1/"
def get_embedding(text): response = openai.embeddings.create( model="text-embedding-3-small", input=text ) return response.data[0].embedding
text = "你好世界,我爱你!"
embedding = get_embedding(text)
print(f"文本:{text}") print(f"嵌入的向量维度:{len(embedding)}") print(f"嵌入的向量前5个元素:{embedding[:6]}")
|
文本:你好世界,我爱你!
嵌入的向量维度:1536
嵌入的向量前5个元素:[0.02944854088127613, -0.059522904455661774, -0.03096095100045204, 0.06727617979049683, 0.013377008028328419]
langchain - Ollama调用嵌入模型:
1 2 3 4 5 6
| from langchain_community.embeddings import OllamaEmbeddings
embed = OllamaEmbeddings( model='milkey/dmeta-embedding-zh', )
|
Deepseek API
opanai库也提供了Deepseek API的调用方法。
通过使用Deepseek API调用Deepseek - R1模型:
1 2 3 4 5 6 7 8 9
| client = OpenAI(api_key="sk-********",base_url="https://api.deepseek.com") messages = [{"role": "user", "content": "9.11 and 9.8,which is greater?"}] response = client.chat.completions.create( model="deepseek-chat", messages=messages, stream=False )
content = response.choices[0].message.content
|