Skip to content

大模型初体验 ​

创建环境 ​

安装环境 ​

bash
conda activate ai-demo1
conda install -c conda-forge uv -y
uv --version
uv pip install anthropic

创建配置文件 ​

  • model.txt
bash
{
  "env": {
    "ANTHROPIC_BASE_URL": "你自己的 API 地址",
    "ANTHROPIC_AUTH_TOKEN": "你自己的 API 密钥",
    "ANTHROPIC_MODEL": "你自己的模型",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "你自己的模型",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "你自己的模型",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "你自己的模型"
  },
  "includeCoAuthoredBy": false
}

main.py ​

  • 基础版本
py
import json
from pathlib import Path

from anthropic import Anthropic


config_path = Path(__file__).with_name("model.txt")
config = json.loads(config_path.read_text(encoding="utf-8"))["env"]

client = Anthropic(
    api_key=config["ANTHROPIC_AUTH_TOKEN"],
    base_url=config["ANTHROPIC_BASE_URL"],
)

def main():
    messages = []
    print("开始对话,输入 exit 或 quit 退出。")

    while True:
        try:
            question = input("\n你:").strip()
        except (EOFError, KeyboardInterrupt):
            print("\n已退出。")
            break

        if not question:
            continue
        if question.lower() in {"exit", "quit"}:
            break

        messages.append({"role": "user", "content": question})
        response = client.messages.create(
            model=config["ANTHROPIC_MODEL"],
            max_tokens=512,
            messages=messages,
        )
        answer = "\n".join(
            block.text for block in response.content if block.type == "text"
        )

        print(f"\nAI:{answer}")
        messages.append({"role": "assistant", "content": answer})


if __name__ == "__main__":
    main()

运行程序 ​

bash
python main.py