首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Claude Code 完美接入 Ollama 指南

Claude Code 完美接入 Ollama 指南

作者头像
dsy
发布2026-01-26 15:50:23
发布2026-01-26 15:50:23
3090
举报
文章被收录于专栏:AI 新手村AI 新手村

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

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

操作步骤

1.安装 Claude Code 和 Ollama

代码语言:javascript
复制
npm install -g @anthropic-ai/claude-code@latest

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

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

代码语言:javascript
复制
claude --version
ollama --version

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

2.下载大模型

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

下载模型到本地
下载模型到本地

下载模型到本地

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

代码语言:javascript
复制
#查看本地模型
ollama list

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

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

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

3.配置 Claude Code 连接本地 Ollama

代码语言:javascript
复制
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。请先在终端执行:

代码语言:javascript
复制
unset https_proxy
unset http_proxy

4.使用Anthropic SDK

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

代码语言:javascript
复制
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 ,它尝试了很多方法但始终没有解决。

代码语言:javascript
复制
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

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

代码语言:javascript
复制
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 的回复
ChatGPT 的回复

ChatGPT 的回复

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

代码语言:javascript
复制
1.贴出当前代码。

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

3.提供一个对比参照(如:JS 版本可以运行,Python 不行)。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小数据不简单 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 操作步骤
  • 调试秘籍:如何与 AI 高效沟通报错?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档