MoreRSS

site icondata4fun | 小数据不简单修改

在这里,我们聊聊数据,聊聊AI,聊聊个人成长,有趣的,简单的,快乐的
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

data4fun | 小数据不简单的 RSS 预览

Claude Code 完美接入 Ollama 指南

2026-01-22 17:56:41

作为 Anthropic 官方推出的命令行编码助手(coding assistant),Claude Code 本质上是一个通过大模型(LLM)执行复杂任务的工具。通常情况下,它需要连接云端 API。但随着 Ollama 宣布兼容 Anthropic Messages API,我们现在可以轻松地将 Claude Code 与本地模型集成。

从工程角度看,使用本地的模型既可以作为断网情况下的一种保障方案,也可以在不改变工作流程的情况下,把本地模型作为一个测试开发环境,极大节省 Token 开销。

操作步骤

1.安装 Claude Code 和 Ollama

npm install -g @anthropic-ai/claude-code@latest

Ollama 可以通过官网https://ollama.com/下载安装包安装。

注意:Ollama 版本v0.14.0+,Claude Code版本v2.1.12+,可以通过下面命令验证

claude --version
ollama --version

Ollama 安装后会自动作为后台服务运行。应该可以在 http://localhost:11434 上看到它运行。

2.下载大模型

可以通过 Ollama 的 WebUI 页面直接下载,如下图。

下载模型到本地

也可以通过命令行快速拉取适合编码的模型。

#查看本地模型
ollama list

#下载新模型
ollama pull qwen2.5-coder:7b

#删除模型
ollama rm qwen2.5-coder:7b

#查看模型基本参数
ollama show qwen2.5-coder:7b

3.配置 Claude Code 连接本地 Ollama

export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_BASE_URL=http://localhost:11434
# 启动 Claude Code 并指定本地模型
claude --model qwen2.5-coder:7b

# 如果想使用云端模型,命令类似
claude --model glm-4.6:cloud

使用本地模型

注意:如果你开启了系统代理,可能会遇到 API Error: Connection error。这是因为流量被转发到了代理服务器而找不到 localhost。请先在终端执行:

unset https_proxy
unset http_proxy

4.使用Anthropic SDK

如果我们想更精准的把控程序的执行流程,可以使用官方的 SDK。

import anthropic
import httpx
http_client = httpx.Client(
 proxy=None,
 trust_env=False,
)

client = anthropic.Anthropic(
 base_url='http://localhost:11434',
 api_key='ollama',
 http_client=http_client,

)

with client.messages.stream(
 model='qwen2.5-coder:7b',
 max_tokens=1024,
 messages=[{'role': 'user', 'content': 'Count from 1 to 10'}]
) as stream:
 for text in stream.text_stream:
 print(text, end='', flush=True)

调试秘籍:如何与 AI 高效沟通报错?

这里再说一个调试的技巧:在配置过程中,不要死磕枯燥的错误堆栈信息。一个高效的调试技巧是:向 AI 描述你的完整环境和所做的工作,而不仅仅是报错代码。

此前我按照文档编写代码时,一直遇到 InternalServerError (503) 错误。我直接把错误代码粘贴给 chatgpt ,它尝试了很多方法但始终没有解决。

Traceback (most recent call last):
 File "/Users/shaoyang/Project/stock_demo/day09/anthropic-demo.py", line 12, in <module>
 message = client.messages.create(
 File "/Users/shaoyang/Project/stock_demo/.venv/lib/python3.10/site-packages/anthropic/_utils/_utils.py", line 282, in wrapper
 return func(*args, **kwargs)
 File "/Users/shaoyang/Project/stock_demo/.venv/lib/python3.10/site-packages/anthropic/resources/messages/messages.py", line 932, in create
 return self._post(
 File "/Users/shaoyang/Project/stock_demo/.venv/lib/python3.10/site-packages/anthropic/_base_client.py", line 1361, in post
 return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
 File "/Users/shaoyang/Project/stock_demo/.venv/lib/python3.10/site-packages/anthropic/_base_client.py", line 1134, in request
 raise self._make_status_error_from_response(err.response) from None
anthropic.InternalServerError: Error code: 503

于是,我换了一种思路,不是直接粘贴错误代码,而是前置一步,客观地描述了一下当前的环境。

import anthropic

client = anthropic.Anthropic(
 base_url='http://localhost:11434',
 api_key='ollama', # required but ignored
)

message = client.messages.create(
 model='qwen3-coder',
 max_tokens=1024,
 messages=[
 {'role': 'user', 'content': 'Hello, how are you?'}
 ]
)
print(message.content[0].text)

我是用的是mac电脑,本地配置了代理,我应该如何修改上面的代码保证可以运行。

js版本是可以执行的
import Anthropic from "@anthropic-ai/sdk";

const anthropic = new Anthropic({
 baseURL: "http://localhost:11434",
 apiKey: "ollama", // required but ignored
});

const message = await anthropic.messages.create({
 model: "minimax-m2:cloud",
 max_tokens: 1024,
 messages: [
 { role: "user", content: "写一个求和的 python 函数" }
 ],
});

console.log(message.content[1].text);

chatgpt立刻就发现了问题,并给到我正确的执行代码。

ChatGPT 的回复

根据这次调试过程,大模型也帮我总结一个更有效的提问模板:

1.贴出当前代码。

2.描述环境(如:Mac 系统、本地有代理)。

3.提供一个对比参照(如:JS 版本可以运行,Python 不行)。

开篇词

2026-01-13 11:21:38

从 2008 年开始接触股票投资,到现在已经接近二十年了。

这段时间里,我经历过完整的市场周期:牛市的狂热、熊市的绝望,也经历过从"以为自己懂了",到"承认自己其实什么都不懂"的反复过程。账户数字起起落落,但真正变化更大的,是我对投资这件事的理解方式。

很多年里,我一直有一个模糊的念头:应该把这些经历写下来。不是为了证明自己赚过多少钱,而是想留下些什么——一些关于决策、关于错误、关于长期面对不确定性的记录。

直到最近,这个念头才逐渐变得清晰起来。

我决定开设这个专栏。它会以投资为核心,但并不只谈"买什么、卖什么"。我更关心的是:

  • 投资背后的概念与逻辑

  • 普通人在真实世界中会遇到的情绪、误判与限制

  • 如何借助技术,让这些问题变得更可验证一些

在这个专栏里,我会一边讲自己的投资经历,一边引入相关的基础概念;同时,也会尝试使用 Python、数据分析、以及 AI 大模型,对一些直觉判断进行复盘、辅助和检验。

这并不是一套"成功方法论"。更多时候,它可能是一份带着不确定性的思考记录:哪些想法在长期中站得住脚,哪些只是事后看起来合理。

如果你也经历过市场的起伏,或者正在尝试把理性工具引入投资决策,希望这些文字能对你有所帮助;如果没有,那它至少是我给自己留的一份阶段性注脚。

专栏会慢慢写,不追热点,也不保证结论。 唯一确定的,是我会用心。

使用大模型有几种方法呢?

2025-12-23 17:34:18

1/Web 端

我们最常见的是使用网页端,有个对话框,输入我们想问的问题,点击"发送"按钮,然后就等待大模型给我们返回答案了。

其实,这可以看成一个产品,以大模型为后端的聊天工具。

这是最直观的可以给用户体验到大模型的方式,每个模型厂商都有类似产品。

ChatGPT Web端页面

2/本地部署

有的时候企业出于安全性的考虑,会在自己的内网部署开源的大模型或企业自己训练的大模型,这个时候可以选用类似 ollama 这样的模型部署工具来使用。

# 以命令行的方式和大模型交互
ollama run deepseek-r1

# 以api的方式和大模型交互
curl -s "http://127.0.0.1:11434/api/generate" \
 -H "Content-Type: application/json" \
 -d '{
 "model": "deepseek-r1:latest",
 "prompt": "请简要介绍一下牛顿第一定律。",
 "stream": false
 }'

3/模型中转平台

模型中转平台是类似 openrouter(https://openrouter.ai/)和 模力方舟(https://ai.gitee.com/serverless-api)这样的把市面上主流的大模型放在一个平台上,通过统一的接口供大家使用。

上面两个平台使用的 url 和 key 都是第三方的,除了这种聚合模式外,还有像 liteLLM 这样的平台,它是一个开源的库,也可以对外提供统一的接口供大家使用,但是使用的 url 和 key 都是模型厂商自己的。

from openai import OpenAI

client = OpenAI(
 base_url="https://ai.gitee.com/v1",
 api_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
)

response = client.chat.completions.create(
 messages=[
 {
 "role": "system",
 "content": "You are a helpful and harmless assistant. You should think step-by-step."
 },
 {
 "role": "user",
 "content": "Can you please let us know more details about your "
 }
 ],
 model="DeepSeek-V3",
 stream=True,
 max_tokens=1024,
 temperature=0.6,
 top_p=0.8,
 extra_body={
 "top_k": 20,
 },
 frequency_penalty=1.1,
)

4/模型SDK

每家模型厂商一般除了 web 端的产品外,也提供 SDK 的方式对外提供使用,一般需要在模型厂商的官网新建 key,并且需要充值才能使用。

# deepseek的python 版本 sdk使用方法,也有 nodejs 版本和 bash 脚本的 
import os
from openai import OpenAI

client = OpenAI(
 api_key=os.environ.get('DEEPSEEK_API_KEY'),
 base_url="https://api.deepseek.com")

response = client.chat.completions.create(
 model="deepseek-chat",
 messages=[
 {"role": "system", "content": "You are a helpful assistant"},
 {"role": "user", "content": "Hello"},
 ],
 stream=False
)

print(response.choices[0].message.content)

5/框架

除了上面几种偏底层的模型的使用方法外,还有更偏向于应用侧的模型使用方式,那就是使用 Langchain 或者 openai agent sdk 这样的框架,这些框架是把大模型做了进一步的抽象,方便编写各种业务应用。

# 使用langchain调用 DeepSeek 模型
from langchain_deepseek import ChatDeepSeek

llm = ChatDeepSeek(
 api_key=env_settings.DS_API_KEY,
 model="deepseek-ai/DeepSeek-R1",
 temperature=0,
 max_tokens=None,
 timeout=None,
 max_retries=2,
 api_base='https://api.siliconflow.cn'

)
messages = [
 ("system", "You are a helpful translator. Translate the user sentence to French."),
 ("human", "I love programming."),
]
# print(llm.invoke(messages))
# print(llm.invoke("hello").content)

ai_message = llm.invoke([
 SystemMessage(content="please speak in chinese"),
 HumanMessage(content="hello"),
])

print(ai_message.content)