当前位置: 首页 > wzjs >正文

域名怎么建设网站上海还能推seo吗

域名怎么建设网站,上海还能推seo吗,网页设计模板html代码文本大小,重庆做网站推广的如何使用 Ollama 的 API 来生成聊天 简介 生成聊天 生成聊天的示例 加载模型 卸载模型 简介 Ollama 提供了一个 RESTful API,允许开发者通过 HTTP 请求与 Ollama 服务进行交互。这个 API 覆盖了所有 Ollama 的核心功能,包括模型管理、运行和监控。本…

如何使用 Ollama 的 API 来生成聊天

简介

生成聊天

生成聊天的示例

加载模型

卸载模型

简介

        Ollama 提供了一个 RESTful API,允许开发者通过 HTTP 请求与 Ollama 服务进行交互。这个 API 覆盖了所有 Ollama 的核心功能,包括模型管理、运行和监控。本篇将介绍如何调用 Ollama 的 RESTful API 来生成聊天。

生成聊天

端点

POST /api/chat

        该 API 将使用所提供的模型生成聊天中的下一条消息 。要注意这是一个流式传输端点,因此会有一系列的回复,也可以通过设置 stream 为 false 来禁用流式传输,使得只进行一次回复(该次回复将恢复包含所有回复的内容)。最终回复回来的响应会包含来自请求的统计信息和其他数据。

基本参数

  • model(必需) : 模型名称
  • messages:聊天消息,可用于保留聊天记录
  • tools:以 JSON 格式列出可以供模型使用的工具(需要模型支持)

message 对象的参数

  • role:消息的角色,可以是 system(系统)、user(用户)、assistant(助手)或 tool(工具)
  • content:消息的内容
  • images(可选):消息中包含的图像列表(适用于像 LLaVA 这样的多模态模型)
  • tool_calls(可选):以 JSON 格式列出模型想要使用工具列表

高级参数(可选)

  • format:指定服务器返回响应的格式。格式可以是 json(模型能根据提供的 JSON 格式来生成一个符合该格式的格式化输出)或者是 JSON 模式(会返回一个标准且完整的 JSON 结构)
  • options:Modelfile 中的其他模型参数,例如,temperature(温度)之类的参数。
  • stream:如果设置为 false,响应将作为单个响应对象返回,而对象流
  • keep_alive:控制模型在请求完成后,在内存中保持加载状态的时长(默认为5分钟)

生成聊天的示例

一、聊天请求(流式)

请求

        发送一条聊天消息,将会以流的形式进行响应。

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","messages": [{"role": "user","content": "why is the sky blue?"}]
}'

响应

        流中的其中一个响应的 JSON 对象,如下所示

{"model": "llama3.2","created_at": "2025-03-03T03:06:32.8915833Z","message": {"role": "assistant","content": "The"},"done": false
}

        流最后一个响应包将会包含所有参数,如下所示

{"model": "llama3.2","created_at": "2025-03-03T03:06:34.7564372Z","message": {"role": "assistant","content": ""},"done_reason": "stop","done": true,"total_duration": 10451492400,"load_duration": 8474040300,"prompt_eval_count": 31,"prompt_eval_duration": 93000000,"eval_count": 298,"eval_duration": 1880000000
}

二、聊天请求(非流式)

请求

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","messages": [{"role": "user","content": "why is the sky blue?"}],"stream": false
}'

响应

{"model": "llama3.2","created_at": "2025-03-03T03:11:03.1902143Z","message": {"role": "assistant","content": "The sky appears blue to our eyes because of a phenomenon called Rayleigh scattering, ..., the sky appears blue because of the scattering of sunlight by tiny molecules in the atmosphere, specifically Rayleigh scattering."},"done_reason": "stop","done": true,"total_duration": 1927411000,"load_duration": 11525300,"prompt_eval_count": 31,"prompt_eval_duration": 2000000,"eval_count": 307,"eval_duration": 1913000000
}

三、聊天请求(格式化输出)

请求

curl -X POST http://localhost:11434/api/chat -H "Content-Type: application/json" -d '{"model": "llama3.2","messages": [{"role": "user", "content": "Ollama is 22 years old and busy saving the world. Return a JSON object with the age and availability."}],"stream": false,"format": {"type": "object","properties": {"age": {"type": "integer"},"available": {"type": "boolean"}},"required": ["age","available"]},"options": {"temperature": 0}
}'

注意:-H(--header) 指的是请求包的头部需要包含的 key: value

 响应

{"model": "llama3.2","created_at": "2025-03-03T03:15:53.1135514Z","message": {"role": "assistant","content": "{ \"age\": 22, \"available\": false }"},"done_reason": "stop","done": true,"total_duration": 132875200,"load_duration": 11059800,"prompt_eval_count": 49,"prompt_eval_duration": 6000000,"eval_count": 13,"eval_duration": 113000000
}

四、聊天请求(有上下文的)

        发送一条带有聊天记录的聊天消息。如果想要进行多次提问或者思维链(CoT Prompting,Chain-of-Thought Prompting) 来开启对话,可以使用这一种方式。

请求

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","messages": [{"role": "user","content": "why is the sky blue?"},{"role": "assistant","content": "due to rayleigh scattering."},{"role": "user","content": "how is that different than mie scattering?"}]
}'

注意:该请求默认是流式响应,如果不想进行流式响应可以把 stream 参数设置为 false

响应

        请求默认为流式响应,流中的其中一个响应的 JSON 对象,如下所示

{"model": "llama3.2","created_at": "2025-03-03T03:32:57.8301713Z","message": {"role": "assistant","content": "Ray"},"done": false
}

        流最后一个响应包将会包含所有参数,如下所示

{"model": "llama3.2","created_at": "2025-03-03T03:32:59.947737Z","message": {"role": "assistant","content": ""},"done_reason": "stop","done": true,"total_duration": 10420930200,"load_duration": 7960990600,"prompt_eval_count": 55,"prompt_eval_duration": 57000000,"eval_count": 339,"eval_duration": 2147000000
}

五、聊天请求(带 images)

        发送一个带图片的聊天消息。在发送该请求时需要使用 LLaVA 或 BakLLaVA 这类多模态模型,如果是多张图片需要以数组的形式提供,并且每张图片都需要转换为 Base64 编码。

请求

{"model": "llava","stream": false,"messages": [{"role": "user","content": "what is in this image?","images": ["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"]}]
}

响应

{"model": "llava","created_at": "2025-03-03T03:37:28.2035137Z","message": {"role": "assistant","content": " The image shows a cartoon character that resembles a pig with a human-like gesture. It appears to be waving, as indicated by the hand above its head. The style of the character is reminiscent of manga or anime designs, with simple lines and exaggerated expressions. "},"done_reason": "stop","done": true,"total_duration": 538754700,"load_duration": 3500000,"prompt_eval_count": 591,"prompt_eval_duration": 1000000,"eval_count": 62,"eval_duration": 533000000
}

六、聊天请求(固定输出)

请求

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","stream": false,"messages": [{"role": "user","content": "Hello!"}],"options": {"seed": 101,"temperature": 0}
}'

响应

{"model": "llama3.2","created_at": "2025-03-03T04:04:52.9114515Z","message": {"role": "assistant","content": "How can I assist you today?"},"done_reason": "stop","done": true,"total_duration": 63318300,"load_duration": 10508400,"prompt_eval_count": 27,"prompt_eval_duration": 2000000,"eval_count": 8,"eval_duration": 50000000
}

七、聊天请求(带 tools)

        tools 可以让模型调用特定的函数来完成更复杂的任务,它是一个数组,每个元素代表一个可以被模型调用的工具。每个工具对象通常包含 type 和 function 字段,type 一般为“function”,function 则描述了函数的详细信息,包括名称、描述和参数。

请求

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","messages": [{"role": "user","content": "What is the weather today in Paris?"}],"stream": false,"tools": [{"type": "function","function": {"name": "get_current_weather","description": "Get the current weather for a location","parameters": {"type": "object","properties": {"location": {"type": "string","description": "The location to get the weather for, e.g. San Francisco, CA"},"format": {"type": "string","description": "The format to return the weather in, e.g. 'celsius' or 'fahrenheit'","enum": ["celsius", "fahrenheit"]}},"required": ["location", "format"]}}}]
}'

响应

{"model": "llama3.2","created_at": "2025-03-03T04:11:33.4754367Z","message": {"role": "assistant","content": "","tool_calls": [{"function": {"name": "get_current_weather","arguments": {"format": "celsius","location": "Paris"}}}]},"done_reason": "stop","done": true,"total_duration": 179741300,"load_duration": 11204800,"prompt_eval_count": 217,"prompt_eval_duration": 5000000,"eval_count": 25,"eval_duration": 163000000
}

         当收到包含 tool_calls 的响应后,你需要根据 tool_calls 中的信息执行相应的函数。在这个例子中,你需要调用 get_current_weather 函数,并传入 location 和 format 参数。至于天气数据的获取就可能需要调用外部天气查询网站的 API 或者爬虫抓取来获取实际的天气信息了。

# 请替换为你自己的 OpenWeatherMap API 密钥
API_KEY="your_openweathermap_api_key"
LOCATION="Paris"
URL="https://api.openweathermap.org/data/2.5/weather?q=$LOCATION&appid=$API_KEY&units=metric"RESPONSE=$(curl -s $URL)
echo $RESPONSE

        最后把获取到的最终结果重新封装成 JSON 对象,然后发送给模型,让模型根据这些结果生成最终的回复

{"model": "llama3.2","messages": [{"role": "user","content": "What is the weather today in Paris?"},{"role": "tool","name": "get_current_weather","parameters": {"location": "Paris","format": "celsius"},"content": "{\"weather\": [\"description\": \"Clear\", \"temperature\": 3]}"}],"stream": false
}

加载模型

        如果只是想单单加载模型进内存当中,只需要发送一个聊天请求,当中包含一个空的消息列表(messages array)即可。

请求

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","messages": []
}'

响应

{"model": "llama3.2","created_at": "2025-03-03T04:20:32.7883778Z","message": {"role": "assistant","content": ""},"done_reason": "load","done": true
}

卸载模型

        卸载模型只需要在加载模型的基础上加上 keep_alive 参数,并设置为0即可卸载已加载的模型。 

请求

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","messages": [],"keep_alive": 0
}'

响应

{"model": "llama3.2","created_at": "2025-03-03T04:21:35.8883384Z","message": {"role": "assistant","content": ""},"done_reason": "unload","done": true
}

http://www.dtcms.com/wzjs/307632.html

相关文章:

  • 网站制作培训机构2345网址导航应用
  • 网站平台怎么做做外贸用什么软件找客户
  • 网站没备案怎么做淘宝客舆情分析系统
  • 外贸建站选择哪个服务器好seo排名快速
  • 做软装什么网站可以长沙seo优化推广公司
  • 公众号第三方网站开发刷关键词指数
  • 一级a做爰片凤凰网站互联网运营推广是做什么的
  • 腾讯云手动搭建wordpress个人站点怎么在百度做免费推广
  • wordpress调用播放器seo优化是什么
  • 可以绑定独立域名网站有哪些网页设计公司
  • 高品质外贸网站建设站长工具中文
  • 没注册可以做网站吗百度搜索引擎的网址
  • 普法网站建设方案石家庄手机端seo
  • 解决方案网站河南品牌网络推广外包
  • 做网站上传图片多大合适宁波网站推广方案
  • 网站建设公司dyfwzx怎么做百度推广运营
  • 一个做网站编程的条件宁波seo外包
  • 肇庆住房和城乡建设局网站百度广告推广收费标准
  • 腾讯云做网站选哪个seo优化技巧
  • 学做网站能赚多少钱百度地图关键词排名优化
  • 网站建设公司的成本有哪些方面深圳电子网络推广查询
  • 中港海通网站是谁做的营销型网站建设题库
  • 网站返利二维码怎么做搜索引擎优化seo应用
  • dedecms网站地图调用培训机构排名前十
  • 汉口做网站jw100关键字挖掘爱站网
  • 一个网站包括杭州网站
  • 国旅商旅app苹果免费下载郑州seo使用教程
  • 软件开发视频网站国内广告投放平台
  • 建设银行企业信息门户网站江阴网站制作公司
  • 国家建设局网站厦门seo排名